function setUserField(cookieName) {
	var cookieUser;
	if (cookieName != "loginAll") {
		cookieUser = getCookie(cookieName);
		if(cookieUser != undefined){
			document.forms[cookieName + 'Form'].user.value=cookieUser;
			document.forms[cookieName + 'Form'].memoriser.checked = true;
		}
		document.forms[cookieName + 'Form'].user.focus();
	} else {
		cookieUser = getCookie("monCompte");
		if(cookieUser != undefined){
			document.forms['monCompteForm'].user.value=cookieUser;
			document.forms['monCompteForm'].memoriser.checked = true;
		}

		cookieUser = getCookie("courrielWeb");
		if(cookieUser != undefined){
			document.forms['courrielWebForm'].user.value=cookieUser;
			document.forms['courrielWebForm'].memoriser.checked = true;
		}

		cookieUser = getCookie("softphone");
		if(cookieUser != undefined){
			document.forms['softphoneForm'].user.value=cookieUser;
			document.forms['softphoneForm'].memoriser.checked = true;
		}
		
		setUserFieldSofPhoneAffaires();
		
		
	}
}
/**---- ddc_3108 ---------------------------------------
Pour cette ddc, la fonction SSO s'applique aux applications Espace Client et Courriel Web.
Lorsque la fonction SSO sera appliquée aux autres applications, il suffira de modifier
cette fonction.
*/
var securHost = null;
function initForme(formId, targetUrl) {
	var disabledDiv = new Array();
	if (formId == 'EC') {
	    enabledDiv = "accesMonCompte";
		disabledDiv[0] = "accesCourrielWeb";
		disabledDiv[1] = "accesSoftphone";		
		toggleDiv(enabledDiv, disabledDiv);
	} else {
	    if (formId == 'CW') {
   		    var ssoCookie = getCookie("iPlanetDirectoryPro");
	        if (ssoCookie != null) {
	            window.location.href = targetUrl;
	        } else {
			    enabledDiv = "accesCourrielWeb";
				disabledDiv[0] = "accesMonCompte";
				disabledDiv[1] = "accesSoftphone";
				toggleDiv(enabledDiv, disabledDiv);	    
			}
	    }
	}
}

function toggleDiv(enabledDiv, disabledDiv) {
	document.getElementById(enabledDiv).style.display = 'block';
	for (var i=0; i < disabledDiv.length; i++) {
		document.getElementById(disabledDiv[i]).style.display = 'none'; 
	}
}

function removeXSiteScripting(value) {
	var tmp = value.replace(/[<>{}\[\];\/\\]/g, "");
	return tmp;
}

function initPageFromCookie(userIdCookieName, userIdField, userIdCheckBox) {
	var cookieValue = getCookie(userIdCookieName);
	var field = document.getElementById(userIdField);
	var cb = document.getElementById(userIdCheckBox);
    if (cookieValue != undefined) {
		if (field != null) {
	    	field.value = removeXSiteScripting(cookieValue);	
	    	if (cb != null) {
  		   		cb.checked=true; 	
	    	}
    	}		
	} else {
		if (field != null) {
	    	field.value = "";	
	    	if (cb != null) {
  		   		cb.checked=false; 	
	    	}
    	}			    
	}
}

function setCookieEnabled(field) {
var elem = document.getElementsByName(field);
elem[0].value = navigator.cookieEnabled;
}

function initAccesDirect() {
	initPageFromCookie('monCodeUtilEC', 'monCodeUtilEC', 'CBsauverCodeUtilEC');
	initPageFromCookie('monCodeUtilCW', 'monCodeUtilCW', 'CBsauverCodeUtilCW');
}

function saveUserId(userIdCookieName, userIdField, userIdCheckBox) {
	var field = document.getElementById(userIdField);
	if (field != null) {
	    var cb = document.getElementById(userIdCheckBox);
	    if (cb != null) {
  	       var expires = -1;
	       if ((cb.checked == true) && (trim(field.value) != "")) {
	       	 var now = new Date();
			 expires = now.getTime() + 365 * 24 * 60 * 60 * 1000;	       
	       }
	    }
	    if ((userIdCookieName != null) && (trim(userIdCookieName) != "")) {
	    	setCookieExpires(userIdCookieName, removeXSiteScripting(field.value), expires);
	    }	
	}
}

function httpsSubmit(formeId) {
  var forme = document.getElementById(formeId);
  if (forme.action.indexOf('/secur/') >= 0) {
     if (securHost != null) {
        var loc = window.location;
        forme.action = correctMisspelledUrl(securHost) + loc.pathname + loc.search;
     }
  }
  forme.submit();
}

function setSecurHost(host) {
  securHost = host;
}
function correctMisspelledUrl(url) {
    var cUrl = url;
	if (url != null) {
	    cUrl = trim(url);
	    if (cUrl.length > 0) {
	        if (cUrl.charAt(cUrl.length - 1) == '/') {
	        	cUrl = cUrl.substring(0, cUrl.length - 1); 
	        }
	    }	   
	}
	return cUrl;
}

function initPwIndicator(pwField) {
	var field = document.getElementById(pwField);
	if (field != null) {
		updatePwIndicator(field.value);
	}	
}

function updatePwIndicator(pwValue) {
	var pwIndicatorDiv = document.getElementById("mpFort");
	if (pwIndicatorDiv == null) {
		return;
	}
	var strong = ((pwValue != null) && (pwValue.length >= 6));
	if (strong) {
		var pattern = new RegExp("[a-zA-Z]");
		strong = strong && pattern.test(pwValue);
		if (strong) {
			pattern = new RegExp("[0-9]");
			strong = strong && pattern.test(pwValue);		
		}
	} 
	var vElem = null;
	var hElem = null;
	if (strong) {
		vElem = document.getElementById("mpFort");
		hElem = document.getElementById("mpFaible");
	} else {
		vElem = document.getElementById("mpFaible");
		hElem = document.getElementById("mpFort");	
	}
	vElem.style.display = 'block';
	hElem.style.display = 'none';	
}

  
function setSSOOverlay(displayValue) {
   document.getElementById('container-overlay').style.display = displayValue; 
   var divElem = document.getElementById('liensRapides');
   if (divElem != null) {   
	 if (displayValue == 'none') {
        divElem.style.display = 'block';
     } else {
        divElem.style.display = 'none';
     }   
   }  
}
   

// Highlights the input and select fields that have the names passed in the array
function highlightErrorFields(fieldNames) {
	for(var x = 0; x < fieldNames.length; x++) {
		var field = $('input[name=\'' + fieldNames[x] + '\'], select[name=\'' + fieldNames[x] + '\']');
		
		if(field.is('input')) field.addClass('errorlightinput');
		else if(field.is('select')) {
		
			if ($.browser.msie) {
				field.wrap('<span class="errorlightselect"></span>');
			} else {
				field.addClass('errorlightselect');
			}
		}
	}
}

//---- ddc3108 ----------------------------------


function setUserFieldSofPhoneAffaires()

{
	
	if(document.forms['softphoneAffairesForm']!=undefined && getCookie("softphoneAffaires") != undefined)
	
	{
	
		document.forms['softphoneAffairesForm'].user.value=getCookie("softphoneAffaires");
		document.forms['softphoneAffairesForm'].memoriser.checked = true;
			
	}
}


function getCookie(cookieName)
{
	var search = cookieName + "="   
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		if (offset != -1) {
			offset += search.length
			end = document.cookie.indexOf(";", offset)
			if (end == -1) end = document.cookie.length
			return unescape(document.cookie.substring(offset, end))
		}    
	}
}

function updateExpireCookieDate(cookieName)
{
	var now = new Date();
	var expires = now.getTime() + 365 * 24 * 60 * 60 * 1000;

	if (document.forms[cookieName + 'Form'].memoriser.checked == false)
	{
		expires =  - 1;
	}
	setCookieExpires(cookieName, document.forms[cookieName + 'Form'].user.value, expires);
}

function setCookieExpires(name, value, expires) {
	document.cookie = name + "=" + escape(value) + "; expires=" + new Date(expires).toGMTString() + "; path=/";
}


/**
 Ca l`air redondant mais j`ai séparé les méthodes affaires de résidentiels
 car actuellement on utilise le même fichier JS mais puisque on fait la 
 distinction entre application affaires et résidentiel, je prévois aussi 
 qu`un jour on va séparer le fichier JS, dans ce cas il suffira de copier
 le code affaires dans le nouveau fichier JS
**/



/*********************************************************
  telechargementSoftphoneAffaires
**********************************************************/
function telechargementSoftphoneAffaires(locale, softphoneUrlDomain, softphoneReturnUrl)
{

	if (isValideSoftPhoneForm(document.forms['softphoneAffairesForm'], getLangue(locale))) {

			document.forms['softphoneAffairesForm'].action = getSoftPhoneTelechargementURL(softphoneUrlDomain,document.forms['softphoneAffairesForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneAffairesForm'].userSoftphone.value = document.forms['softphoneAffairesForm'].user.value + "@" + document.forms['softphoneAffairesForm'].domain.value;	    
		    document.forms['softphoneAffairesForm'].submit();   	
	}
}	


/*********************************************************
  telechargementSoftphoneResidentiel
**********************************************************/				
function telechargementSoftphone(locale, softphoneUrlDomain,softphoneReturnUrl)
{

	if (isValideSoftPhoneForm(document.forms['softphoneForm'], getLangue(locale))) {

			document.forms['softphoneForm'].action = getSoftPhoneTelechargementURL(softphoneUrlDomain,document.forms['softphoneForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneForm'].userSoftphone.value = document.forms['softphoneForm'].user.value + "@" + document.forms['softphoneForm'].domain.value;
		    document.forms['softphoneForm'].submit();   
	}
	
}


/*********************************************************
  loginSoftphoneAffaires
**********************************************************/
function loginSoftphoneAffaires(locale, softphoneUrlDomain,softphoneReturnUrl) {
	if (isValideSoftPhoneForm(document.forms['softphoneAffairesForm'], getLangue(locale))) {

			document.forms['softphoneAffairesForm'].action = getSoftPhoneLoginURL(softphoneUrlDomain,document.forms['softphoneAffairesForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneAffairesForm'].userSoftphone.value = document.forms['softphoneAffairesForm'].user.value + "@" + document.forms['softphoneAffairesForm'].domain.value;		    
		    document.forms['softphoneAffairesForm'].submit();   
	}

}	

/*********************************************************
  Reinisialisation mot passe residentiel.
**********************************************************/
function reinitPassword(locale, softphoneUrlDomain,softphoneReturnUrl) {
	if (isValideSoftPhoneForm(document.forms['softphoneForm'], getLangue(locale))) {

			document.forms['softphoneForm'].action = getSoftPhoneChangePasswordURL(softphoneUrlDomain,document.forms['softphoneForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneForm'].userSoftphone.value = document.forms['softphoneForm'].user.value + "@" + document.forms['softphoneForm'].domain.value;		    
		    document.forms['softphoneForm'].submit();   
	}
}


/*********************************************************
  Reinisialisation mot passe Affaires.
**********************************************************/
function reinitPasswordAffaires(locale, softphoneUrlDomain,softphoneReturnUrl) {
	if (isValideSoftPhoneForm(document.forms['softphoneAffairesForm'], getLangue(locale))) {

			document.forms['softphoneAffairesForm'].action = getSoftPhoneChangePasswordURL(softphoneUrlDomain,document.forms['softphoneAffairesForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneAffairesForm'].userSoftphone.value = document.forms['softphoneAffairesForm'].user.value + "@" + document.forms['softphoneAffairesForm'].domain.value;		    
		    document.forms['softphoneAffairesForm'].submit();   
	}
}





/*********************************************************
 loginSoftphoneResidentiel
**********************************************************/
function loginSoftphone(locale, softphoneUrlDomain,softphoneReturnUrl) {

	if (isValideSoftPhoneForm(document.forms['softphoneForm'], getLangue(locale))) {

			document.forms['softphoneForm'].action = getSoftPhoneLoginURL(softphoneUrlDomain,document.forms['softphoneForm'],getLangue(locale),softphoneReturnUrl);
	        document.forms['softphoneForm'].userSoftphone.value = document.forms['softphoneForm'].user.value + "@" + document.forms['softphoneForm'].domain.value;
		    document.forms['softphoneForm'].submit();   
	
	}
	//return loginSoftphoneLocal(locale, softphoneUrlDomain,document.forms['softphoneForm']);
}





/*********************************************************
 Return the langue based on the local value passed as a 
 parmaeter.
**********************************************************/
function getLangue(locale)
{
	return (locale != "en") ? "FRENCH" : "ENGLISH";
}


/*********************************************************
 Validate the sofPhone Form 
**********************************************************/
function isValideSoftPhoneForm(theForm,langue)
{
	
	if (theForm.domain.value == "") 
	
	{
		var domainMsg = ((langue == "FRENCH") ? "Vous devez choisir un domaine" : "Please choose a domain");
		alert(domainMsg);
		return false;
	}
			

	if (theForm.user.value == "")
	 {
		var uidMsg = ((langue == "FRENCH") ? "Vous devez inscrire un nom d'utilisateur" : "Please enter a username");
		alert(uidMsg);
		return false;
	}

	
	if (theForm.password.value == "") {
		var pwdMsg = ((langue == "FRENCH") ? "Vous devez inscrire un mot de passe" : "Please enter a password");
		alert(pwdMsg);
		return false;
	}
	
	
	return true;
}


/*********************************************************
 Construit le login url sur le serveur de Nortel
**********************************************************/
function getSoftPhoneLoginURL(softphoneUrlDomain,theForm,langue,softphoneReturnUrl) {
	var protocol = "https://";
	var domain   = theForm.domain.value;
	var username = "&username=" + theForm.user.value;
	var password = "&password=" + theForm.password.value;
	var redirect = "&redirect=home";	
	var baseUrl  = "/pa/direct/LoginServlet?lang=" + langue + "&action=2";
	var urlDomain = domain.replace(".ca",".com");
	var returnUrl ="&returnUrl=" +softphoneReturnUrl;
	
	if (softphoneUrlDomain != "") {
		urlDomain = softphoneUrlDomain;
	}

	return protocol + urlDomain + baseUrl + username + "@" + domain + password + redirect +returnUrl;

}


/*****************************************************************
 Construit le telechargement url sur le serveur de Nortel
******************************************************************/
function getSoftPhoneTelechargementURL(softphoneUrlDomain,theForm,langue,softphoneReturnUrl) {
	var protocol = "https://";
	var domain   = theForm.domain.value;
	var username = "&username=" + theForm.user.value;
	var password = "&password=" + theForm.password.value;
	var redirect = "&redirect=download";	
	var baseUrl  = "/pa/direct/LoginServlet?lang=" + langue + "&action=2";
	var urlDomain = domain.replace(".ca",".com");
	var returnUrl ="&returnUrl=" +softphoneReturnUrl;	
	
	if (softphoneUrlDomain != "") {
		urlDomain = softphoneUrlDomain;
	}

	return protocol + urlDomain + baseUrl + username + "@" + domain + password + redirect + returnUrl;

}


/*****************************************************************
 Construit l'url de changement de mot de passe sur le serveur de Nortel
******************************************************************/
function getSoftPhoneChangePasswordURL(softphoneUrlDomain,theForm,langue,softphoneReturnUrl) {

	var protocol = "https://";
	var domain   = theForm.domain.value;
	var username = "&username=" + theForm.user.value;
	var password = "&password=" + theForm.password.value;
	var redirect = "&redirect=download";	
	var baseUrl  = "/pa/direct/LoginServlet?lang=" + langue + "&action=2";
	var urlDomain = domain.replace(".ca",".com");
	var returnUrl ="&returnUrl=" +softphoneReturnUrl;	
	
	if (softphoneUrlDomain != "") {
		urlDomain = softphoneUrlDomain;
	}

	return protocol + urlDomain + baseUrl + username + "@" + domain + password + redirect + returnUrl;

}





/*

function loginSoftphoneLocal(locale, softphoneUrlDomain,theForm)

{
	 
	var langue = ((locale != "en") ? "FRENCH" : "ENGLISH");
	
	var protocol = "https://";
	var domain   = theForm.domain.value;
	var username = "&username=" + theForm.user.value;
	var password = "&password=" + theForm.password.value;
	var redirect = "&redirect=home";	
	var baseUrl  = "/pa/direct/LoginServlet?lang=" + langue + "&action=2";

	var domainMsg = ((langue == "FRENCH") ? "Vous devez choisir un domaine" : "Please choose a domain");
	if (theForm.domain.value == "") {
		alert(domainMsg);
		return false;
	}
			
	var uidMsg = ((langue == "FRENCH") ? "Vous devez inscrire un nom d'utilisateur" : "Please enter a username");
	if (theForm.user.value == "") {
		alert(uidMsg);
		return false;
	}

	var pwdMsg = ((langue == "FRENCH") ? "Vous devez inscrire un mot de passe" : "Please enter a password");
	if (theForm.password.value == "") {
		alert(pwdMsg);
		return false;
	}
	
	var urlDomain = domain.replace(".ca",".com");
	
	if (softphoneUrlDomain != "") {
		urlDomain = softphoneUrlDomain;
	}
	
	theForm.action = protocol + urlDomain + baseUrl + username + "@" + domain + password + redirect;
	theForm.userSoftphone.value = theForm.user.value + "@" + domain;

    theForm.submit();    

}

*/


