// JavaScript Document
function initPage(){
	
	var arrParams = loadPageContext();
	
	var s1=null;
	var s2=null;
	if (arrParams!=null){
		s1=arrParams[0];
		if (s1!=null && s1.indexOf("%")>-1 && s1!=Url.decode(s1)) s1=Url.decode(s1);
		s2=arrParams[1];
		if (s2!=null && s2.indexOf("%")>-1 && s2!=Url.decode(s2)) s2=Url.decode(s2);
	}

	if (arrParams.length==1 || $('ulSub2')==null || $('ulSub2').getElement('li')==null ){
		loadSubNav2(s1, s2);
		return;
	}
	

	$$('.subNav.sub1 ul li').each(function(element){
		
		var linkHref = element.getElement('a').get('href');
		var pos = linkHref.indexOf("#");
		
		if (pos > -1){
			var params = linkHref.substr(pos+1);
			if (s1==params) element.addClass("active");
		}
		element.removeEvents();
		element.addEvent('click', function(event){
			resetActiveSubNavs("sub1");
			resetActiveSubNavs("sub2");
			element.addClass("active");
			
			// location replacement
			window.location.replace(linkHref);

			// empty sub nav 2 and re-init page
			$('ulSub2').set('html', "");
			initPage();
	 	});
	});
	
	$$('.subNav.sub2 ul li').each(function(element){
																				 
		var linkHref = element.getElement('a').get('href');
		var pos = linkHref.indexOf("#");

		if (pos > -1){
			var params = linkHref.substr(pos+1);
			var arr = params.split(",");
			if (s1==arr[0] && s2==arr[1]) element.addClass("active");
		}
		
		element.removeEvents();
		element.addEvent('click', function(event){
			resetActiveSubNavs("sub2");
			element.addClass("active");
			
			// location replacement
			var url = element.getElement('a').get('href');
			window.location.replace(url);
			
			loadPageContext();
	 	});
	});
	
	setColumnHeights();
	
}

function loadPageContext(){
	// page context
	var url = ""+window.location;
	var pos = url.indexOf("#");

	if (pos > -1){
		var params = url.substr(pos+1);
		var arrParams = params.split(",");
		if (arrParams.length == 2){
				loadContent(arrParams);
				return arrParams;
		}
		else {
			// auto-select first sub nav
			if ($('s2Default')) arrParams[1] = Utf8.encode($('s2Default').getElement('a').get('html'));
			return arrParams;
		}
	}
	else {
		// auto select first nav and first sub nav
		var arrParams = new Array();
		arrParams[0] = Utf8.encode($('s1Default').getElement('a').get('html'));
		if ($('s2Default')) arrParams[1] = Utf8.encode($('s2Default').getElement('a').get('html'));
		return arrParams;
	}
	
}


function resetActiveSubNavs(strNavContainerClass){
	$$('.subNav.'+strNavContainerClass+' ul li').each(function(element){
		element.removeClass('active');
	});
}

function loadSubNav2(s1,s2){
	var codLang = getPageCodLang();
	var service = new Request({url:global_strServiceURL,
		onComplete:function(){
			$('subNavSub2').set('html', this.response.text);
			var url=$('ulSub2').getElement('li').getElement('a').get('href');
			if (s2==null) window.location.replace(url);
			initPage();
		}
		});
	service.post({'mode': 'getCDSRightNav', 's1':s1, 'codLang':codLang}); 
}

function loadContent(arrParams){
	var service = new Request({url:global_strServiceURL,
		onComplete:function(){
			$('rightContent').set('html', this.response.text);
			setColumnHeights();
		}
		});
	var codLang = getPageCodLang();
	service.post({'mode': 'getContent', 's1':arrParams[0], 's2':arrParams[1], 'codLang':codLang}); 
}

function replaceLinkSpaMenu(){
	var codLang = getPageCodLang();
	var service = new Request({url:global_strServiceURL,
		onComplete:function(){
			var linkElement = $('spamenulink');
			if (linkElement){
				var str = linkElement.get('href');
				str = str.replace('####SPAMENU####', '#'+this.response.text);
				linkElement.set('href', str);
			}
		}
		});
	var codLang = getPageCodLang();
	service.post({'mode': 'getSpaMenuRootLink', 'codLang':codLang}); 
}

function getPageCodLang(){
	var thisPage = ""+window.location;
	var arrParts = thisPage.split("/");
	return arrParts[3];
}

function setColumnHeights(){
	var h1 = $('subNavSub1').getElement('ul').getHeight();
	var max = h1;
	var h2=0;
	if ($('subNavSub2').getElement('ul')!=null) h2 = $('subNavSub2').getElement('ul').getHeight();
	if (h2>max) max = h2;
	
	var h3;
	var content = $('rightContent').getElement('div');
	if (content) h3 = content.getHeight();
	else h3 = $('rightContent').getHeight();
	if (h3>max) max = h3;
	
	$('subNavSub1').setStyle('height',max+"px");
	$('subNavSub2').setStyle('height',max+"px");
	$('rightContent').setStyle('height',max+"px");
	
}




function boncadeauSubmit(){
	var service = new Request.HTML({url:"/_lib/service.boncadeau.php",
		onComplete:function(){
				$("lastname").value="";
				$("firstname").value="";
				$("email").value="";
				$("tprof").value="";
				$("hprof").value="00:00";
				$("tport").value="";
				$("hport").value="00:00";
				$("message").value="";
		},
		update:$('submitStatus')
	});
	
	var error = false;
	
	/***********************
	* check user email
	***********************/
	var userAddressError = !checkValidEmail($('email').value);
	if (userAddressError && !$('span_email').hasClass("error")){
		$('span_email').addClass("error");
	}
	else if (!userAddressError && $('span_email').hasClass("error")) {
		$('span_email').removeClass("error");
	}
	
	/***********************
	* check user name
	***********************/
	var userNameError = ($('lastname').value=="");
	if (userNameError && !$('span_lastname').hasClass("error")){
		$('span_lastname').addClass("error");
	}
	else if (!userNameError && $('span_lastname').hasClass("error") ){
		$('span_lastname').removeClass("error");
	}
	
	if (userAddressError || userNameError) error = true;
	
	if (!error){
		service.post({'todo': 'boncadeauRequest', 
								 'lastname':$('lastname').value, 
								 'firstname': $('firstname').value, 
								 'email': $('email').value, 
								 'tprof': $('tprof').value, 
								 'tport': $('tport').value,
								 'hprof': $('hprof').value, 
								 'hport': $('hport').value,
								 'message': $('message').value}); 
	}
}


function concoursSubmit(){
	var service = new Request.HTML({url:"/_lib/service.concours.php",
		onComplete:function(){	
		},
		update:$('halfRight')
	});
	
	var error = false;
	
	/***********************
	* check user email
	***********************/
	var userAddressError = !checkValidEmail($('email').value);
	if (userAddressError && !$('span_email').hasClass("error")){
		$('span_email').addClass("error");
	}
	else if (!userAddressError && $('span_email').hasClass("error")) {
		$('span_email').removeClass("error");
	}
	
	/***********************
	* check user name
	***********************/
	var userNameError = ($('lastname').value=="");
	if (userNameError && !$('span_lastname').hasClass("error")){
		$('span_lastname').addClass("error");
	}
	else if (!userNameError && $('span_lastname').hasClass("error") ){
		$('span_lastname').removeClass("error");
	}
	
	/***********************
	* check user first name
	***********************/
	var userFirstNameError = ($('firstname').value=="");
	if (userFirstNameError && !$('span_firstname').hasClass("error")){
		$('span_firstname').addClass("error");
	}
	else if (!userFirstNameError && $('span_firstname').hasClass("error") ){
		$('span_firstname').removeClass("error");
	}
	
	/***********************
	* check user birthdate
	***********************
	var userBirthdateError = ($('birthdate').value=="");
	if (userBirthdateError && !$('span_birthdate').hasClass("error")){
		$('span_birthdate').addClass("error");
	}
	else if (!userBirthdateError && $('span_birthdate').hasClass("error") ){
		$('span_birthdate').removeClass("error");
	}
	*/
	
	/***********************
	* check user choice
	***********************/
	var userChoiceError = ($('choice').value==0);
	if (userChoiceError && !$('span_choice').hasClass("error")){
		$('span_choice').addClass("error");
	}
	else if (!userChoiceError && $('span_choice').hasClass("error") ){
		$('span_choice').removeClass("error");
	}
	
	/**********************
	* check conditions
	**********************/
	var userConditionsError = !($('check_conditions').checked);
	if (userConditionsError && !$('span_conditions').hasClass("error")){
		$('span_conditions').addClass("error");
	}
	else if (!userConditionsError && $('span_conditions').hasClass("error") ){
		$('span_conditions').removeClass("error");
	}
	
	if (userAddressError || userNameError || userFirstNameError || userChoiceError || userConditionsError) error = true;
	
	if (!error){
		service.post({'todo': 'boncadeauRequest', 
								 'lastname':$('lastname').value, 
								 'firstname': $('firstname').value, 
								 'email': $('email').value, 
								 'birthdate': $('birthdate').value, 
								 'choice': $('choice').value,
								 'newsletter': ( ($('news_subscribe').checked)?"oui":"non" ),
								 'language': global_language
								 }); 
	}
}

function checkValidEmail(str) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(str)) {
		return false;
	} else {
		return true;
	}
}
