/* +----------------------------------------------
	| _detectlang_setlang_dectionpage
	+---------------------------------------------- */
function _detectlang_setlang_dectionpage(lang) {
	return _detectlang_setauto(lang);
}


/* +----------------------------------------------
	| _detectlang_setlang_verticalhome
	+---------------------------------------------- */
function _detectlang_setlang_verticalhome(lang) {
	return _detectlang_setauto(lang);
}


/* +----------------------------------------------
	| _detectlang_setauto
	+---------------------------------------------- */
function _detectlang_setauto(lang) {
	var infos = _detectlang_getinfos();

	if (typeof(infos['type']) == 'undefined' || infos['type'] == '' || infos['type'] == 'auto') {
		_detectlang_setinfos({
			lang: lang,
			type: 'auto'
		});    
	}
	return false;
}


/* +----------------------------------------------
	| _detectlang_detect
	+---------------------------------------------- */
function _detectlang_detect() {
	var infos = _detectlang_getinfos();
	
	var lang = '';
	if (_detectlang_validlang(infos['lang'])) {
		lang = infos['lang'];	    
	} else {
		var passeport_lang = _detectlang_getpasseport();
		if (_detectlang_validlang(passeport_lang)) {
			_detectlang_setinfos({
				lang: passeport_lang,
				type: 'auto'
			});    
			
			lang = passeport_lang;
		}
	}
	
	return lang;
}


/* +----------------------------------------------
	| _detectlang_redirect
	+---------------------------------------------- */
function _detectlang_redirect() {
	var infos = _detectlang_getinfos();

	var url;
	if (infos['lang'] == 'fr') {
		url = 'http://fr.canoe.ca/accueil.html';
//		url = 'http://www.canoe.com/accueil_beta.html';
	
	} else
	if (infos['lang'] == 'en') {
		url = 'http://en.canoe.ca/home.html';
//		url = 'http://homepage.canoe.ca/';
	
	} else {
		url = 'http://www.canoe.ca/detect.html';
//		url = 'http://www.canoe.com/detect.html';
	}  
	
	location.replace(url);
// 	alert(url);

	return false;
}


/* +----------------------------------------------
	| _detectlang_getpasseport
	+---------------------------------------------- */
function _detectlang_getpasseport() {
	var passeport = new cookie('passeport_info');
	var elements  = (passeport.getCookie()) ? passeport.getCookie().split('%%') : {};

	for (var i in elements) {
		var subelements = elements[i].split('=');			
		if (subelements[0] == 'lang') {
			return subelements[1];
		}
	}

	return '';
}


/* +----------------------------------------------
	| _detectlang_getinfos 
	+---------------------------------------------- */
function _detectlang_getinfos() {
	var lang     = new cookie('canoe_lang');
	var elements = (lang.getCookie()) ? lang.getCookie().split('|') : {};

	var params = {};
	for (var i in elements) {
	  params[elements[i].toString().split(':')[0]] = elements[i].toString().split(':')[1];
	}

	return params;
}


/* +----------------------------------------------
	| _detectlang_setinfos 
	+---------------------------------------------- */
function _detectlang_setinfos(data) {
	var lang = new cookie('canoe_lang');

	var value = '';
	for (var i in data) {
		value += '|'+i+':'+data[i];
	}

	lang.setCookie({
		value:      value.substring(1),
		expires:    new Date(2100,1,1),
		rootdomain: 1
	});
	
	return false;
}

/* +----------------------------------------------
	| _detectlang_validlang
	+---------------------------------------------- */
function _detectlang_validlang(lang) {
	return (lang == 'fr' || lang == 'en') ? true : false;
}

