var MENU_ITEMS = [];
var mmitems = [];

function menuitems(apppart, currentrights)  {

	// assign methods and event handlers
	//this.OrigHasPermission	= OrigHasPermission;
	//this.HasPermission			= HasPermission;
	//this.AppendItem				= AppendItem;

	if (apppart == "public") {
			AppendItem({id:'Home', parentid:'', arr:['Home', 'Index.aspx'], right:'PUB'});
			AppendItem({id:'AboutUs', parentid:'', arr:['About Us', 'AboutUs.aspx'], right:'PUB'});
			//AppendItem({id:'Test', parentid:'', arr:['Test', 'Test.aspx#haveaniceday'], right:'PUB'});
			//AppendItem({id:'EventWorklist', parentid:'aboutus', arr:['Events', 'EventWorklist.aspx'], right:'PUB'});
			//AppendItem({id:'UpcomingEvents', parentid:'', arr:['Upcoming Events', 'UpcomingEvents.aspx'], right:'PUB'});
			AppendItem({id:'UpcomingEvents', parentid:'', arr:['Upcoming Events', 'UpcomingEvents.aspx'], right:'PUB'});
			AppendItem({id:'CommunityAnnouncements', parentid:'', arr:['Announcements', 'CommunityAnnouncements.aspx'], right:'PUB'});
			var CurCalendar = CalendarAddCurMonthYear('CalendarOfEvents.aspx')
			//AppendItem({id:'aboutus', parentid:'', arr:['Calendar of Events', 'CalendarOfEvents.aspx'], right:'PUB'});
			AppendItem({id:'CalendarOfEvents', parentid:'', arr:['Calendar of Events', '' +  CurCalendar  + ' '], right:'PUB'});			
			AppendItem({id:'EventsInPictures', parentid:'', arr:['Events in Pictures', 'EventsInPictures.aspx'], right:'PUB'});
			AppendItem({id:'MembershipApplication', parentid:'', arr:['Join', 'MembershipApplication.aspx'], right:'PUB'});	
			AppendItem({id:'OtherLinks', parentid:'', arr:['Other Links', 'OtherLinks.aspx'], right:'PUB'});	
			AppendItem({id:'Bylaws', parentid:'', arr:['Bylaws', 'Bylaws.aspx'], right:'PUB'});																			
    } else if (apppart == "admin") {
    		AppendItem({id:'Events', parentid:'', arr:['Events', 'EventWorklist.aspx'], right:'ead|eed|evw'});	
    		AppendItem({id:'Announcements', parentid:'', arr:['Announcements', 'AnnouncementWorklist.aspx'], right:'ead|eed|evw'});	
       		AppendItem({id:'OtherLinks', parentid:'', arr:['Other Links', 'OtherLinkWorklist.aspx'], right:'ead|eed|evw'});	 						
    		// Do not delete. Note syntax.				
			//AppendItem({id:'events', parentid:'', arr:['Events', null, null], right:'evv'});
			//AppendItem({id:'eventwl', parentid:'events', arr:['Events List', 'EventWorklist.aspx'], right:'evt*evv'});
			//AppendItem({id:'eventupd', parentid:'events', arr:['New Event', 'EventMaintain.aspx'], right:'evv'});
			//AppendItem({id:'announce', parentid:'', arr:['Announcements', null, null], right:'anv'});			
			//AppendItem({id:'announcewl', parentid:'announce', arr:['Announcements List', 'AnnouncementWorklist.aspx'], right:'anv'});
		   //	AppendItem({id:'announceupd', parentid:'announce', arr:['New Announcement', 'AnnouncementMaintain.aspx'], right:'anv'});	
		   	AppendItem({id:'member', parentid:'', arr:['Members', null, null], right:'mad|med|mvw'});	
			AppendItem({id:'memberupd', parentid:'member', arr:['Members', 'MembershipWorklist.aspx'], right:'mad|med|mvw'});
			AppendItem({id:'memberrnl', parentid:'member', arr:['Renewal Notice', 'MembershipRenewalWorklist.aspx'], right:'mad|med|mvw'});		
			AppendItem({id:'enrollment', parentid:'', arr:['Enrollment', 'EnrollmentWorklist.aspx'], right:'mad|med|mvw'});						
			AppendItem({id:'users', parentid:'', arr:['Users', 'UserWorklist.aspx'], right:'aad|aed|avw'});		
			AppendItem({id:'users', parentid:'', arr:['Job Rights', 'JobWorklist.aspx'], right:'aad|aed|avw'});							
			AppendItem({id:'setup', parentid:'', arr:['Setup', 'Setup.aspx'], right:'sed|svw'});
		//	AppendItem({id:'paypal', parentid:'', arr:['PayPal', 'PayPalWorklist.aspx'], right:'ead|eed|evw'});					
			AppendItem({id:'password', parentid:'', arr:['Change Password', 'PasswordChange.aspx'], right:''});
		//	AppendItem({id:'jake', parentid:'', arr:['Jake', 'JakeWorklist.aspx'], right:'jke'});						 
	}			

	count = 0;
	for (var j=0; j<mmitems.length; j++) {
		if (mmitems[j].parentid == '') {
			MENU_ITEMS[count] = mmitems[j].arr
			count++
		}
	}

	// Load the child menu items //
	count = 0;
	var prnt;
	for (var chld=0; chld<mmitems.length; chld++) {
		//if (mmitems[chld].parentid != ''&& HasPermission(mmitems[chld].right)) {
		if (mmitems[chld].parentid != '') {		
			for (prnt=0; prnt<mmitems.length; prnt++) {        
				if (mmitems[chld].parentid == mmitems[prnt].id) {
					mmitems[prnt].arr[mmitems[prnt].arr.length] = mmitems[chld].arr;
					break;           
				}       
			}
			if (prnt == mmitems.length) {
				alert("Problem creating menu.")
			}  
		}
	}

	function CalendarAddCurMonthYear(PageName) {
		var now = new Date()
		var month = now.getMonth() + 1
		var year = now.getFullYear()
		var value = PageName + '?Month='+ month + '&Year=' + year
		return PageName + '?Month='+ month + '&Year=' + year
	}

	function OrigHasPermission(mitem) {
		// What is the position of the second string in the first string?
		// Is the required right a member of the current rights?
		if (currentrights.toUpperCase().indexOf(mitem.right.toUpperCase() ) == -1) {
			return false
		} else {
			return true
		}
	}
	
	
	function HasPermission(mitem) {
		// What is the position of the s {econd string in the first string?
		// Is the required right a member of the current rights?
		var box = mitem.right.toUpperCase().split("|")
		for (var i=0;i<box.length;i++) {		
			if (currentrights.toUpperCase().indexOf(box[i]) >= 0) {
				return true;
			}				
		}	
	}	
		
	function AppendItem(mitem) {
	if (HasPermission(mitem)) {
			mmitems[mmitems.length] = mitem;     
		}
	}
	
}
		