/**
 * @author Alain Duchesneau (aduchesneau à terrainmarketing point com)
 */
// Initialisation principale:
var jeldwen = new Jeldwen();

var gotoPromo50 = function (lang) {
	var url = '/contest50_frame/';
	
	document.location = url;
	return;
	
/*	try {
		var q = window.open(url,'50',"top=20,left=20,width=900,height=575,toolbar=0,resizable=1")
	} catch (e) {
		document.location = url;
	}
*/
}
var closePromo50 = function () {
	$$('.contestFrame','.contestFrameDistance').each(function(el){
		console.log(el);
		el.destroy();
	})
}

function changeLocation (andGoTo) {
	if (interfaceActive) {
		Cookie.dispose('idDisponibiliteGroup', {
			path: '/',
			domain: DOMAIN
		});
		Cookie.dispose('province', {
			path: '/',
			domain: DOMAIN
		});
		Cookie.write('chooseProvince', '1', {
			path: '/',
			domain: DOMAIN
		});
		if (andGoTo) document.location = andGoTo;
		else forceReload();
		interfaceActive = false;
	}
}
function forceReload () {
	try {
		window.document.location.reload(true);
	} catch (e) {
		window.history.go(0);
	}
}

function setHoverMe (lnk) {
	if (interfaceActive) {
		$(lnk).addClass('hover');
		Cufon.refresh('#coldroite .selecteur h2');
	}
}
function unSetHoverMe (lnk) {
	if (interfaceActive) {
		$(lnk).removeClass('hover');
		Cufon.refresh('#coldroite .selecteur h2');
	}
}
function hideMenu () {
	if (jeldwen.menu)
		jeldwen.menu.fireEvent('closecurrent');
}
function goTo(url) {
	if (interfaceActive) {
		document.location.href = url;
		interfaceActive = false;
	}
}

function showSearchField () {
	$('recherche_google').removeClass('inv');
	var gs = new IFrame({ 
		id: 'GSFrame', 
		src: '/googleSearch.html', 
		frameborder: 0,
		marginwidth: 0,
		marginheight: 0,
		vspace: 0,
		hspace: 0,
		noresize:'noresize' /*,
		
		events: { 
		  load: function(){ 
			//IFrameLoaded();
		  } 
		} */
	});
	$('recherche_google').adopt(gs); 
	//console.log($('recherche_google'));
}

// fonctionnalité pour le fomulaire de contact
function setTxtOtherEnable (sel,indxOther,indexPro) {
	if (typeof indxOther == 'undefined') indxOther = 5;
	if (typeof indexPro == 'undefined') indexPro = 2;
	var indx = sel.selectedIndex;
	var txtOther = $('txtOther');
	if (txtOther) {
		if (indx == indxOther) {
			txtOther.removeProperty('disabled');
			txtOther.removeClass('inv');
			txtOther.focus();
		} else {
			txtOther.setProperty('disabled','disabled');
			txtOther.addClass('inv');
		}
	}
	if (indx <= indexPro) {
		$('txtCompanyName').focus();
		switchReqTo('reqSignCompanyName',true);
		$$('.companyReq').each(function(elm){
			elm.removeClass('inv');
		})
	} else {
		switchReqTo('reqSignCompanyName',false);
		$$('.companyReq').each(function(elm){
			if (!elm.hasClass('inv')) elm.addClass('inv');
		})
	}
}
function setZipMaxLength (select) {
	$(select.form).getElement('#txtPostalCode').set('maxlength',(select.selectedIndex == 0) ? 7 : 10 );
}
function switchReqTo(idName,isOn) {
	if (typeof idName == 'object') {
		if (idName.length > 0) {
			for(var i=0; i < idName.length; i++) {
				switchReqTo(idName[i],isOn);
			}
		}
	} else if (typeof idName == 'string') {
		if ($(idName)) {
			if (isOn) $(idName).removeClass('inv');
			else if (!$(idName).hasClass('inv')) $(idName).addClass('inv');
		}
	}
}
function setReqLikeContactMethod (form) {
	switchReqTo(['reqSignEmail','reqSignHomePhone','reqSignWorkPhone'],false);
	switch($(form).getElement('#cboContactMethod').selectedIndex) {
		case 1: switchReqTo('reqSignEmail',true); break;
		case 2: switchReqTo('reqSignHomePhone',true); break;
		case 3: switchReqTo('reqSignWorkPhone',true); break;
	}	
}
function validateContactForm (form) {
	switch($(form).getElement('#cboContactMethod').selectedIndex) {
		case 1: if (!_validateEmail(form)) return false; break;
		case 2: if (!_validateHomePhone(form)) return false; break;
		case 3: if (!_validateWorkPhone(form)) return false; break;
		case 0: 
		default: 
			alert(locale.error_contactMethod);
			$(form).getElement('#cboContactMethod').focus();
			return false;
	}
	if (!_validateCity(form)) return false;
	if (!_validateProvince(form)) return false;
	if (!_validatePostalCode(form)) return false;
	
	if ($(form).getElement('#cboUserType').selectedIndex <= 2) {
		return _validateCompanyName(form);
	} 
	
	return true;
}

// fonctionnalités pour le formulaire ask brochure
function validateAskBrochureForm (form) {
	if (!_atLeastOneBrochureSelected(form)) return false;
	if (!_validateLastName(form)) return false;
	if (!_validateAddress(form)) return false;
	if (!_validateCity(form)) return false;
	if (!_validateProvince(form)) return false;
	if ($(form).getElement('#cboCountry').selectedIndex == 0) {
		if (!_validatePostalCode(form)) return false;
	} else {
		if (!_validateZipCode(form)) return false;
	}
	if (!_validateWorkPhone(form)) return false;
	if ($(form).getElement('#txtEmail').value.length > 0 && !_validateEmail(form))  return false;
	
	if ($(form).getElement('#cboUserType').selectedIndex <= 2) {
		return _validateCompanyName(form);
	} 
	return true;
}
// fonctionnalités pour le formulaire ask architect toolkit
function validateAskToolkitForm (form) {
	if (!_validateLastName(form)) return false;
	if (!_validateCompanyName(form)) return false;
	if (!_validateAddress(form)) return false;
	if (!_validateCity(form)) return false;
	if (!_validateProvince(form)) return false;
	if ($(form).getElement('#cboCountry').selectedIndex == 0) {
		if (!_validatePostalCode(form)) return false;
	} else {
		if (!_validateZipCode(form)) return false;
	}
	if (!_validateProvince(form)) return false;
	if (!_validateEmail(form)) return false;
	return true;
}
// fonctionnalités pour le formulaire share this site
function validateShareThisSiteForm (form) {
	if (!_validateLastName(form,'#txtLastNameSender')) return false;
	if (!_validateLastName(form)) return false;
	if (!_validateEmail(form,'#txtEmailSender')) return false;
	if (!_validateEmail(form)) return false;
	return true;
}
// fonctionnalités pour le formulaire Newsletter Subscribe
function validateNewsletterSubscribe (form) {
	if (!_validateLastName(form)) return false;
	if (!_validateEmail(form)) return false;
	if (!_validateConfirmEmail(form,'#txtConfirmEmail','#txtEmail')) return false;
	var countrySelectIdx = $(form).getElement('#cboCountry').selectedIndex;
	if (countrySelectIdx == 0) {
		if (!_validatePostalCode(form)) return false;
	} else if (countrySelectIdx == 1) {
		if (!_validateZipCode(form)) return false;
	}
	return true;
}


function _validateEmail(form,elemtID) {
	if (typeof elemtID == 'undefined') elemtID = '#txtEmail';
	var txtEmail = $(form).getElement(elemtID).value;
	if (txtEmail.length == 0) {
		alert(locale.error_emailrequired);
		$(form).getElement(elemtID).focus();
		return false;
	}
	if (!txtEmail.test(/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/)) {
		// other pattern: ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
		alert(locale.error_badEmail);
		$(form).getElement(elemtID).focus();
		return false;
	}
	return true;
}
function _validateConfirmEmail(form,elemtID,againstElemtID) { // les 3 arguments requis
	var txtEmail = $(form).getElement(elemtID).value;
	if (txtEmail.length == 0) {
		alert(locale.error_emailrequired);
		$(form).getElement(elemtID).focus();
		return false;
	}
	if ($(form).getElement(elemtID).value != $(form).getElement(againstElemtID).value) {
		alert(locale.error_emailNotEqual);
		$(form).getElement(elemtID).focus();
		return false;
	}
	return true;
}
function _validatePostalCode(form) {
	var txtPCode = $(form).getElement('#txtPostalCode').value;
	if (txtPCode.length == 0) {
		alert(locale.error_postalCodeRequired);
		$(form).getElement('#txtPostalCode').focus();
		return false;
	}
	if (!txtPCode.test(/^[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]\d[A-Za-z] ?\d[A-Za-z]\d$/)) {
		alert(locale.error_badPostalCode);
		$(form).getElement('#txtPostalCode').focus();
		return false;
	}
	return true;
}
function _validateZipCode(form) {
	var txtPCode = $(form).getElement('#txtPostalCode').value;
	if (txtPCode.length == 0) {
		alert(locale.error_postalCodeRequired);
		$(form).getElement('#txtPostalCode').focus();
		return false;
	}
	if (!txtPCode.test(/^\d{5}(-\d{4})?$/)) {
		alert(locale.error_badPostalCode);
		$(form).getElement('#txtPostalCode').focus();
		return false;
	}
	return true;
}
function _validateHomePhone(form) {
	if ($(form).getElement('#txtHomePhone').value.length == 0) {
		alert(locale.error_HomePhoneRequired);
		$(form).getElement('#txtHomePhone').focus();
		return false;
	}
	return true;
}
function _validateWorkPhone(form) {
	if ($(form).getElement('#txtBusinessPhone').value.length == 0) {
		alert(locale.error_workPhoneRequired);
		$(form).getElement('#txtBusinessPhone').focus();
		return false;
	}
	return true;
}
function _validateLastName(form,elemtID) {
	if (typeof elemtID == 'undefined') elemtID = '#txtLastName';
	if ($(form).getElement(elemtID).value.length == 0) {
		alert(locale.error_lastNameRequired);
		$(form).getElement(elemtID).focus();
		return false;
	}
	return true;
}
function _validateAddress(form) {
	if ($(form).getElement('#txtAddress1').value.length == 0) {
		alert(locale.error_addressRequired);
		$(form).getElement('#txtAddress1').focus();
		return false;
	}
	return true;
}
function _validateCity(form) {
	if ($(form).getElement('#txtCity').value.length == 0) {
		alert(locale.error_cityRequired);
		$(form).getElement('#txtCity').focus();
		return false;
	}
	return true;
}
function _validateProvince(form) {
	if ($(form).getElement('#cboProvince').value.length == 0) {
		alert(locale.error_provinceRequired);
		$(form).getElement('#cboProvince').focus();
		return false;
	}
	return true;
}
function _validateCompanyName(form) {
	if ($(form).getElement('#txtCompanyName').value.length == 0) {
		alert(locale.error_companyNameRequired);
		$(form).getElement('#txtCompanyName').focus();
		return false;
	}
	return true;
}
function _atLeastOneBrochureSelected (form) {
	var sel =  $(form).getElements('.brochureChckbx:checked');
	if (sel.length == 0) {
		alert(locale.error_atLeastOneBrochure);
		$(form).getElement('.brochureChckbx').focus();
		return false;
	}
	return true;
}

/**
 *  @author Adobe (Macromedia)
 *  À FAIRE: remplacer par un swap d’image avec Mootools et l’utilisation de class=""
 */

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

