var page = {
	SERVERPATH			: '',
	eventID				: '',
	registrationKey		: '',
	activeTab			: '',
	activePopup			: '',
	PHPSESSID			: '',
	isLoading			: false,
	eventType			: 0,
	eventEntriesMin		: 0,
	eventEntriesMax		: 0,
	eventEntriesCustom	: 0,	
	currentCompanyID    : 0,
    restrictionGender   : false,
    restrictionCompany  : false,

/*
	Initialize code
*/	
	initialize: function(serverpath,registrationKey,phpsessid,eventID,eventType,eventEntriesMin,eventEntriesMax,eventEntriesCustom,restrictionGender,restrictionCompany)
	{
		page.SERVERPATH 		= serverpath;
		page.PHPSESSID 			= phpsessid;
		page.registrationKey 	= registrationKey;
		page.eventID 			= eventID;
		page.eventType 			= eventType;
        page.restrictionGender = restrictionGender;
        page.restrictionCompany = restrictionCompany;
		if(eventEntriesCustom.length > 0)
		{		
			page.eventEntriesCustom = eventEntriesCustom;
			page.eventEntriesMin 	= eventEntriesCustom[0];
			page.eventEntriesMax 	= eventEntriesCustom[eventEntriesCustom.length-1];		
		}else{		
			page.eventEntriesMin 	= eventEntriesMin;
			page.eventEntriesMax 	= eventEntriesMax;		
		}

		$('#menu div').click(page.menuItemClicked);
		$('#btn_start').click(page.startRegistration);
        $('#bug_report').click(page.openBugScreen);
	},

    openBugScreen:function()
    {
        $.bugs.open(page.SERVERPATH,500,600,'registrationModule','test',page.PHPSESSID);
    },
/*
	Function when menu is clicked
*/	
	menuItemClicked: function(event)
	{
		if($('#'+event.target.id).hasClass('disabled') == false && page.isLoading == false &&  $('#contentPopup').css('display') == 'none')
		{				
			$('#menu div').removeClass('active');
			$('#'+event.target.id).addClass('active');
			switch(event.target.id)
			{
				case 'btn_contestant':
					page.loadContent(page.SERVERPATH+'/panel/contestant');
				break;
				case 'btn_otherinformation':
                    page.loadContent(page.SERVERPATH+'/panel/otherinformation');
				break;
				case 'btn_check':
						page.loadContent(page.SERVERPATH+'/panel/check');
				break;	
				case 'btn_payment':
						page.loadContent(page.SERVERPATH+'/panel/payment');
				break;				
			}
		}
	},
	
	startRegistration: function(event)
	{
		$('#content').hide();
		$('#menu').fadeIn('fast');
		$('#btn_contestant').trigger('click');	
	},
	
/*
	enable 
*/
	menuItemEnable:function(id,enabled)
	{
		if(enabled == true)
		{
			$('#'+id).removeClass('disabled');
		}else
		{
			$('#'+id).addClass('disabled');			
		}
	},
		
/*
	Change the loading state
*/
	loading: function(status,panel)
	{
        $('input').blur();
        $('#content').click();
		page.isLoading = status;
		if(status == false)
		{
			$('#footer, #helpdesk, .poweredby').fadeIn('slow');
            if(panel == undefined)
            {
                $('#content').fadeIn('slow');
            }else{
                $(panel).fadeIn('slow');
            }			
            $('#loading').hide();
		}else
		{
			//$('#footer, #helpdesk, #content, #contentPopup').fadeOut('fast');
            $('#footer, #helpdesk, #content, #contentPopup,  .poweredby').hide();
			$('#loading').fadeIn('slow');
		}		
	},
	
/*
	Load content into container
*/
	loadContent: function(url)
	{
		page.loading(true);
		$.get(	url+'/eventID/'+page.eventID+'/registrationkey/'+page.registrationKey, 
			  	{PHPSESSID: page.PHPSESSID},
				page.loadContentRecieved
			);		
	},
	
/*
	Load content recieved
*/
	loadContentRecieved: function(data)
	{
		$('#content').html(data);
		
		id = $('#menu div.active').attr('id');
		switch(id)
		{
			case 'btn_contestant':
				if(panel_contestant.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is					
				}
				break;
			case 'btn_otherinformation':
				if(panel_otherinformation.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is	
				}
			break;	
			case 'btn_check':
				if(panel_check.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is	
				}
			break;
			case 'btn_payment':
				if(panel_payment.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is	
				}
			break;			
			default:
				break;
		}
		page.loading(false);
	},
	
/* 
	load popup
*/
	loadPopup: function(url)
	{
       page.loading(true);
        $.get(	url+'/eventID/'+page.eventID+'/registrationkey/'+page.registrationKey,
			  	{PHPSESSID: page.PHPSESSID},
				page.loadPopupRecieved
			);	
	},
	
	loadPopupRecieved:function(data)
	{
		 $('#contentPopup').html(data);

		$('#btn_popup_close').click(page.hidePopup);
		switch(page.activePopup)
		{
			case 'company':
            case 'companyNew':
				if(popup_company.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is					
				}
				break;
			case 'contact':
            case 'contactNew':
				if(popup_contact.initialize() == true)
				{
					// niets verder alleen een manier om te wachten tot ie klaar is	
				}
				break;
			default:
				break;
		}

        page.loading(false,'#contentPopup');
	},

    hidePopup:function()
    {
       $('#contentPopup').hide();
       $('#content').fadeIn('slow');
       page.activePopup = '';
    },


    validating:function(status)
    {
        if(status == true)
        {
            $.blockUI(
                        {
                           message: '<img src="'+page.SERVERPATH+'/public/img/default/loading.gif"> Een ogenblik a.u.b.',
                           css: {
                                padding: '4px'
                           }
                       }
                   );
        }else{
            $.unblockUI();
        }
    }
}




Array.prototype.contains = function (element) {
for (var i = 0; i < this.length; i++) {
if (this[i] == element) {
return true;
}
}
return false;
}