function rollOver(which){
    which.src = which.src.replace("_of", "_ov");
    
}

function rollOut(which){
    which.src = which.src.replace("_ov", "_of");
    
}

function Viewport(){
    var elements = new Array('video_sidebar', 'left', 'right');
    this.windowX = (document.documentElement && document.documentElement.clientWidth) || window.innerWidth || self.innerWidth || document.body.clientWidth;
    this.windowY = (document.documentElement && document.documentElement.clientHeight) || window.innerHeight || self.innerHeight || document.body.clientHeight;
    this.scrollX = (document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft;
    this.scrollY = (document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop;
    this.pageX = (document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth;
    this.pageY = (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight;
    
    //alert (this.windowY+', '+this.scrollY+', '+this.pageY);
    for (i = 0; i < elements.length; i++) {
        if (elements[i] == 'video_sidebar') {
            myValue = this.pageY;//+20;
        }
        else {
            myValue = this.pageY - 20;
        }
        document.getElementById(elements[i]).style.paddingBottom = myValue + 'px';
        document.getElementById(elements[i]).style.marginBottom = '-' + myValue + 'px';
    }
}

function isSignatureFormValid(aGaString){
    var streetField = document.signature_form.street;
    var cityField = document.signature_form.city;
    var postalField = document.signature_form.postal;
    var postalRegPattern = /^[a-zA-Z][0-9][a-zA-Z] ?[0-9][a-zA-Z][0-9]$/;
    var reIsEn = new RegExp("/en/", "g");
    var isEn = document.location.href.match(reIsEn);

    if (streetField.value === "" || streetField.value.length < 3) {
        if (!isEn) {
            streetField.value = "Veuillez indiquer votre adresse";
        }
        else {
            streetField.value = "Please enter your address";
        }
        streetField.style.color = "red";
        streetField.style.borderColor = "red";
        streetField.focus();

        return false;
    }
    if (streetField.style.color === "red") {
        streetField.style.color = "#000000";
        streetField.style.borderColor = "";
    }

    if (cityField.value === "" || cityField.value.length < 3) {
        if (!isEn) {
            cityField.value = "Veuillez indiquer votre ville";
        }
        else {
            cityField.value = "Please enter your city";
        }
        cityField.style.color = "red";
        cityField.style.borderColor = "red";
        cityField.focus();

        return false;
    }
    if (cityField.style.color === "red") {
        cityField.style.color = "#000000";
        cityField.style.borderColor = "";
    }

    if (!postalRegPattern.test(postalField.value)) {
		if (!isEn) {
			postalField.value = "Veuillez indiquer votre code postal";
		} else {
			postalField.value = "Please enter your postal code";
		}
		postalField.style.color = "red";
		postalField.style.borderColor = "red";
		postalField.focus();

		return false;
	}
	if (postalField.style.color === "red") {
		postalField.style.color = "#000000";
		postalField.style.borderColor = "";
	}

    pageTracker._trackPageview('/'+aGaString);
    document.getElementById("signature_form").submit();
    
}

function isShareFormValid(){
	var emailFieldSrc = document.sharebymail.sender_mail;
    var emailField = document.sharebymail.share_mail;
    var emailpat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var reIsEn = new RegExp("/en/", "g");
    var isEn = document.location.href.match(reIsEn);
    
    //--- EMAIL ---
	if (!emailpat.test(emailFieldSrc.value)) {
        if (!isEn) {
            emailFieldSrc.value = "L'adresse de courriel est erronée.";
        }
        else {
            emailFieldSrc.value = "Incorrect email address";
        }
        emailFieldSrc.style.color = "red";
        emailFieldSrc.style.borderColor = "red";
		emailFieldSrc.focus();
        
        return false;
    }
    if (emailFieldSrc.style.color === "red") {
        emailFieldSrc.style.color = "#000000";
        emailFieldSrc.style.borderColor = "";
    }
	
    if (!emailpat.test(emailField.value)) {
        if (!isEn) {
            emailField.value = "L'adresse de courriel est erronée.";
        }
        else {
            emailField.value = "Incorrect email address";
        }
        emailField.style.color = "red";
        emailField.style.borderColor = "red";
		emailField.focus();
        
        return false;
    }
    if (emailField.style.color === "red") {
        emailField.style.color = "#000000";
        emailField.style.borderColor = "";
    }
	
    //return true;
    document.getElementById("sharebymail").submit();
}

function isMailFormValid(){
    var firstnameField = document.commentform.author_1st_name;
    var lastnameField = document.commentform.author_last_name;
	var contactMeBox = document.commentform.user_contact_me;
    var emailField = document.commentform.user_email;
    var captchaField = document.commentform.captcha_code;
    var msgField = document.commentform.comment;
    var emailpat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var reIsEn = new RegExp("/en/", "g");
    var isEn = document.location.href.match(reIsEn);
 
    //--- LASTNAME ---
    if (lastnameField.value === "" || lastnameField.value.length < 1) {
        if (!isEn) {
            lastnameField.value = "Veuillez indiquer votre nom";
        }
        else {
            lastnameField.value = "Please enter your last name";
        }
        lastnameField.style.color = "red";
        lastnameField.style.borderColor = "red";
        lastnameField.focus();
        
        return false;
    }
    if (lastnameField.style.color === "red") {
        lastnameField.style.color = "#000000";
        lastnameField.style.borderColor = "";
    }   
    //--- FIRSTNAME ---
    if (firstnameField.value === "" || firstnameField.value.length < 1) {
        if (!isEn) {
            firstnameField.value = "Veuillez indiquer votre prénom";
        }
        else {
            firstnameField.value = "Please enter your first name";
        }
        firstnameField.style.color = "red";
        firstnameField.style.borderColor = "red";
        firstnameField.focus();
        
        return false;
    }
    if (firstnameField.style.color === "red") {
        firstnameField.style.color = "#000000";
        firstnameField.style.borderColor = "";
    }
    //--- COMMENT ---
    if (msgField.value === "" || msgField.value === "Entrez un message" || msgField.value.length < 10) {
        if (!isEn) {
            msgField.value = "Veuillez entrer votre commentaire";
        }
        else {
            msgField.value = "Please enter your comment";
        }
        msgField.style.color = "red";
        msgField.style.borderColor = "red";
		msgField.focus();
        
        return false;
    }
    if (msgField.style.color === "red") {
        msgField.style.color = "#000000";
        msgField.style.borderColor = "";
    }
    //--- EMAIL ---
	if (((emailField.value != "") || (contactMeBox.checked == true))
			&& !emailpat.test(emailField.value)) {
		if (!isEn) {
			emailField.value = "L'adresse de courriel est erronée.";
		} else {
			emailField.value = "Incorrect email address";
		}
		emailField.style.color = "red";
		emailField.style.borderColor = "red";
		emailField.focus();

		return false;
	}
	if (emailField.style.color === "red") {
		emailField.style.color = "#000000";
		emailField.style.borderColor = "";
	}
    //--- CAPTCHA ---
    if (captchaField.value.length !== 6 || captchaField.value === "Entrez un sujet") {
        if (!isEn) {
            captchaField.value = "Erreur";
        }
        else {
            captchaField.value = "Error";
        }
        captchaField.style.color = "red";
        captchaField.style.borderColor = "red";
		captchaField.focus();
        
        return false;
    }
    if (captchaField.style.color === "red") {
        captchaField.style.color = "#000000";
        captchaField.style.borderColor = "";
    }
    //return true;
    document.getElementById("commentform").submit();
    //document.commentform.submit();
}


function isSuggestFormValid(){
    var firstnameField = document.suggestform.author_1st_name;
    var lastnameField = document.suggestform.author_last_name;
    var emailField = document.suggestform.user_email;
    var captchaField = document.suggestform.captcha_code;
    var msgField = document.suggestform.suggestion;
    var emailpat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var reIsEn = new RegExp("/en/", "g");
    var isEn = document.location.href.match(reIsEn);

    //--- LASTNAME ---
    if (lastnameField.value === "" || lastnameField.value.length < 1) {
        if (!isEn) {
            lastnameField.value = "Veuillez indiquer votre nom";
        }
        else {
            lastnameField.value = "Please enter your last name";
        }
        lastnameField.style.color = "red";
        lastnameField.style.borderColor = "red";
		lastnameField.focus();
        
        return false;
    }
    if (lastnameField.style.color === "red") {
        lastnameField.style.color = "#000000";
        lastnameField.style.borderColor = "";
    }    
    //--- FIRSTNAME ---
    if (firstnameField.value === "" || firstnameField.value.length < 1) {
        if (!isEn) {
            firstnameField.value = "Veuillez indiquer votre prénom";
        }
        else {
            firstnameField.value = "Please enter your first name";
        }
        firstnameField.style.color = "red";
        firstnameField.style.borderColor = "red";
		firstnameField.focus();
        
        return false;
    }
    if (firstnameField.style.color === "red") {
        firstnameField.style.color = "#000000";
        firstnameField.style.borderColor = "";
    }
    //--- EMAIL ---
    if (!emailpat.test(emailField.value)) {
        if (!isEn) {
            emailField.value = "L'adresse de courriel est erronée.";
        }
        else {
            emailField.value = "Incorrect email address";
        }
        emailField.style.color = "red";
        emailField.style.borderColor = "red";
		emailField.focus();
        
        return false;
    }
    if (emailField.style.color === "red") {
        emailField.style.color = "#000000";
        emailField.style.borderColor = "";
    }
    //--- COMMENT ---
    if (msgField.value === "" || msgField.value === "Entrez un message" || msgField.value.length < 10) {
        if (!isEn) {
            msgField.value = "Veuillez entrer votre commentaire";
        }
        else {
            msgField.value = "Please enter your comment";
        }
        msgField.style.color = "red";
        msgField.style.borderColor = "red";
		msgField.focus();
        
        return false;
    }
    if (msgField.style.color === "red") {
        msgField.style.color = "#000000";
        msgField.style.borderColor = "";
    }
    //--- CAPTCHA ---
    if (captchaField.value.length !== 6 || captchaField.value === "Entrez le code") {
        if (!isEn) {
            captchaField.value = "Erreur";
        }
        else {
            captchaField.value = "Error";
        }
        captchaField.style.color = "red";
        captchaField.style.borderColor = "red";
		captchaField.focus();
        
        return false;
    }
    if (captchaField.style.color === "red") {
        captchaField.style.color = "#000000";
        captchaField.style.borderColor = "";
    }
    //return true;
    document.getElementById("suggestform").submit();
    //document.suggestform.submit();
}

function changeValue(aElem, aValue){
    var inputElement = document.getElementById(aElem);
    inputElement.value = aValue;
}

function showDiv(aDivId){
    var divElement = document.getElementById(aDivId);
    divElement.style.display = 'block';
}

function hideDiv(aDivId){
    var divElement = document.getElementById(aDivId);
    divElement.style.display = 'none';
}

function showVerbatim(){
    var div = document.getElementById('verbatim');
    div.style.display = 'block';
}

function hideVerbatim(){
    var div = document.getElementById('verbatim');
    div.style.display = 'none';
}

var cap_changed = false;
function change_cap(){
    if (!cap_changed) {
        document.getElementById('captcha').src = '../../securimage/securimage_show.php?' + Math.random();
    }
}

function encrypt(theText){
    output = new String;
    Temp = new Array();
    Temp2 = new Array();
    TextSize = theText.length;
    for (i = 0; i < TextSize; i++) {
        rnd = Math.round(Math.random() * 122) + 68;
        Temp[i] = theText.charCodeAt(i) + rnd;
        Temp2[i] = rnd;
    }
    for (i = 0; i < TextSize; i++) {
        output += String.fromCharCode(Temp[i], Temp2[i]);
    }
    return output;
}

function unencrypt(theText){
    output = new String;
    Temp = new Array();
    Temp2 = new Array();
    TextSize = theText.length;
    for (i = 0; i < TextSize; i++) {
        Temp[i] = theText.charCodeAt(i);
        Temp2[i] = theText.charCodeAt(i + 1);
    }
    for (i = 0; i < TextSize; i = i + 2) {
        output += String.fromCharCode(Temp[i] - Temp2[i]);
    }
    return output;
}
/* Used to impose a maximum length to a textarea */
function CheckMaxLength(Object, MaxLen) {
	if(Object.value.length > MaxLen){
		Object.value = Object.value.substring(0, MaxLen);
		}
}