function setStyles(){
    jQuery('input[type="button"], input[type="reset"], input[type="submit"]').addClass("inputButton");
    jQuery('input[type="checkbox"]').addClass('inputCheckbox');
    jQuery('input[type="radio"]').addClass('inputRadio');
    jQuery('input[type="button"], input[type="reset"], input[type="submit"]').click(function(){
        jQuery(this).blur();
    });

    jQuery('.inputText').focus(function() {
        jQuery(this).addClass('inputText-focus');
    }).blur(function() {
        jQuery(this).removeClass('inputText-focus');
    });

    jQuery('button, input[type="button"], input[type="reset"], input[type="submit"]').mouseover(function() {
        jQuery(this).addClass('inputButton-focus');
    }).mouseout(function() {
        jQuery(this).removeClass('inputButton-focus');
    }).click(function(){
        jQuery(this).blur();
    });

    jQuery('.button1').mouseover(function() {
        jQuery(this).addClass('button1-focus');
    }).mouseout(function() {
        jQuery(this).removeClass('button1-focus');
    });
/*
    jQuery('.envoyer-btn').mouseover(function() {
        jQuery(this).addClass('envoyer-btn-focus');
    }).mouseout(function() {
        jQuery(this).removeClass('envoyer-btn-focus');
    });

    jQuery('.retablir-btn').mouseover(function() {
        jQuery(this).addClass('retablir-btn-focus');
    }).mouseout(function() {
        jQuery(this).removeClass('retablir-btn-focus');
    });
*/
}

/**
 * Get window height
 * @version 1.0
 */
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}

/**
 * Automated footer height script
 * @version 1.0
 */
function autoHeight() {
    try {
        //var wrap_footer_height = document.getElementById('wrap-footer').offsetHeight;
        var container_height = getWindowHeight();

        /*
        var window_height = getWindowHeight();

        if ((window_height - container_height - wrap_footer_height) > 0){
            document.getElementById('push').style.height = (window_height - container_height - wrap_footer_height) + "px";
        } else {
            document.getElementById('push').style.height = (wrap_footer_height) + "px";
        }

        document.getElementById('fwrap1').style.height = wrap_footer_height + "px";
        document.getElementById('fwrap2').style.height = wrap_footer_height + "px";
        document.getElementById('fwrap3').style.height = wrap_footer_height + "px";
        document.getElementById('wrap-container').style.marginBottom = (0 - wrap_footer_height) + "px";
        */

        document.getElementById('bg1').style.height = container_height + "px";
        document.getElementById('bg2').style.height = container_height + "px";
        document.getElementById('bg3').style.height = container_height + "px";
    }
    catch(e){}
};

/* Numbers functions
-----------------------------------------------------------------------------*/
function isDigit(c) {
    var regExp = /^[0-9]$/;
    return regExp.test(c);
}
function isFloat(s) {
    var regExp = /^[-+]{0,1}[0-9]*\.{0,1}[0-9]+$/g;
    return regExp.test(s.toString());
}
function isInteger(s) {
    var regExp = /^[-+]{0,1}[0-9]+$/g;
    return regExp.test(s.toString());
}
function isNumber(s) { // isUnsignedInteger
    var regExp = /^[0-9]+$/g;
    return regExp.test(s.toString());
}
/* Strings functions
-----------------------------------------------------------------------------*/
function isEmpty(s) {
    return (s == null) || (s == "");
}
function isWhitespace(s) {
    var regExp = /^\s+$/;
    return regExp.test(s.toString());
}
function isLetter(c) {
    var regExp = /^[a-zA-Z]$/;
    return regExp.test(c.toString());
}
function isVowel(c) {
    var regExp = /[aAeEiIoOuUàÀáÁâÂãÃäÄåÅæÆèÈéÉêÊëËìÌíÍîÎïÏòÒóÓôÔõÕöÖùÙúÚûÛüÜ]$/;
    return regExp.test(c.toString());
}
function isAlphabetic(s) {
    var regExp = /^[a-zA-Z]+$/g;
    return regExp.test(s.toString());
}
function isAlphanumeric(s) {
    var regExp = /^[a-zA-Z0-9]+$/g;
    return regExp.test(s.toString());
}
function checkEmail(s) {
	var regExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
    return regExp.test(s.toString());
}
function isURL(s){
    var regExp1 = /^(http|ftp)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#]\w+)*\/?$/i;
    var regExp2 = /^mailto\:\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w{2,4}$/i;
    return regExp1.test(s.toString()) || regExp2.test(s.toString());
}
function parseFloatCustom(strVal,nDecimals) {
    divider = Math.pow(10,nDecimals);
    subject = parseFloat(strVal.replace(/,/g,"."));
    if (!isNaN(subject)) {
        result = Math.round(subject * divider)/divider;
        return result;
    } else {
        return subject;
    }
}

/* Ajax
-----------------------------------------------------------------------------*/
var xmlHttp;
var WindowPopUp;

function initAjax() {
    try {
		xmlHttp=new XMLHttpRequest();
	}
    catch (e) {
	    try {
		    xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');
	    }
	    catch (e) {
		    try {
			    xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch (e) {
		        return false;
			}
	    }
	}
    return true;
}

function makeHttpRequest(scriptpath,urlmethod) {
    if (!initAjax()) {
	    alert('Votre navigateur ne supporte pas AJAX!');
		return false;
	}
    strString = "";
    xmlHttp.open(urlmethod,scriptpath,true);
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                strString = xmlHttp.responseText.toString();
            } else {
                strString = "Page: " + scriptpath + " - " + xmlHttp.status + ": " + xmlHttp.statusText.toString();
            }
        }
        processResult(strString, xmlHttp.readyState);
    }
    xmlHttp.send(null);
}
/* Forms
-----------------------------------------------------------------------------*/
function doResetById(formId) {
	form = document.getElementById(formId);
	form.reset();
}
function doFormSubmit(objForm, strFormTarget, strFormAction) {
/*
attributes will be read fron id value
your id should be of the form id="x/y/z", if not then the corresponding element won't be checked

where:
  x = "mandatory"(if the lement is mandatory ) or any other string if you do not want that element to be mandatory(try to use "notmandatory"..estetics)
  y = the element type  = email, checkbox, text, number, select, password
  z = an error message to be displayed if the validation process for that field has failed

copy/paste this code into a "button" tag to use for submitting a form:
 -=  onClick="doFormSubmit(this.form)"  =-
*/

	arrValidation = Array();
  	arrRejected = Array();
    var arrVisited = new Array();
	txtErr = "";
	strTmp = "";
	arrElements = objForm.elements;
	for(var i=0;i<arrElements.length;i++) {
	  obj = arrElements[i];
	  if(jQuery.inArray(obj.name, arrVisited) != -1) continue;

	  arrVisited.push(obj.name);

      arrObjOptions = obj.id.split("---");
      if ((arrObjOptions.length == 3)) {

        if (arrObjOptions[0] == "mandatory")
          strTmp = validateObjectByType(obj, arrObjOptions[1], arrObjOptions[2].replace(/_/g," "), false);
        else
          strTmp = validateObjectByType(obj, arrObjOptions[1], arrObjOptions[2].replace(/_/g," "), true);

    	if(strTmp != "") {
    	    txtErr += strTmp;
    	    arrRejected[arrRejected.length] = obj;
        }
      }
  }

   if((objForm.elements["capa"] != null && (document.getElementById("capa").value.replace(/ /g,"") == ""))){
				txtErr += "Vous devez remplir le code de sécurité!\r\n";

             arrRejected[arrRejected.length] = objForm.elements["capa"];
	}
	if(txtErr != "") {

		alert(txtErr);
	 	//arrRejected[0].focus();
	} else {
        if(strFormTarget.replace(/ /g,"") != "")
				objForm.setAttribute("target",strFormTarget.replace(/ /g,""));
		if(strFormAction.replace(/ /g,"") != "")
				objForm.setAttribute("action",strFormAction.replace(/ /g,""));
		objForm.submit();
	}


}
function validateObjectByType(obj, strType, strIdent, bTypeOnly) {
		bErr = false;
		errType = -1;
		strErrorMsg = "";

    		if(!bTypeOnly) {
    			objVal = obj.value;
    			if(objVal.replace(/ /g,"") == "") {
    					bErr = true;
    					errType = 0;
    			}
		    }

			if(strType == "email") {
					objVal = obj.value.replace(/ /g,"");
					if( !bTypeOnly || objVal != "") {
             if(objVal == "") {
              errType = 0;
             } else if(!checkEmail(objVal)) {
									errType = 1;
							}
					}
			} else if(strType == "text")  {
					objVal = obj.value;

					if(objVal.replace(/ /g,"") == "") {
					  if (!bTypeOnly)
							errType = 0;
					}
			} else if(strType == "checkbox" || strType == "radio") {
				   //	if(!obj.checked) {

                   if(!bTypeOnly) {
				   	if(typeof($("input[name='"+obj.name+"']:"+strType+":checked").val()) == 'undefined') {
							errType = 0;
					}
                   }
			} else if(strType == "select")  {
					objVal = obj.value;
					if(objVal.replace(/ /g,"") == "" || parseInt(objVal.replace(/ /g,"")) == 0) {
							errType = 1;
					}
			} else if(strType == "number") {
					objVal = obj.value;
          if(!bTypeOnly) {
             if(objVal == "") {
              errType = 0;
             } else 	if(!isNumber(objVal)) {
   						errType = 1;
   					}
					}

          if(bTypeOnly) {
   					if(!isNumber(objVal) && !isEmpty(objVal)) {
   						errType = 1;
   					}
          }
			} else if(strType == "password")  {
					objVal = obj.value;
					objID = obj.getAttribute("id") + "2";
					if(!document.getElementById(objID)) {
							errType = 3;
					} else if((objVal.replace(/ /g,"") == "") || (document.getElementById(objID).value.replace(/ /g,"") == "") ){
							errType = 0;
					} else if (document.getElementById(objID).value.replace(/ /g,"") != objVal.replace(/ /g,"")) {
							errType = 2;
					}
			}



		if(errType != -1) {
			switch(errType) {
					case 0:
							strErrorMsg = "Vous devez saisir votre " + strIdent + " dans le formulaire!\r\n";
					break;
					case 1:
							if(checkFirstLetter(strIdent)) {
								strErrorMsg = "L'"+strIdent;
							} else {
								strErrorMsg = "Le " + strIdent;
							}
								strErrorMsg += " que vous avez introduit n'est pas valide!\r\n";
					break;
					case 2:
								strErrorMsg = "Les mots de passe introduits ne correspondent pas\r\n";
					break;
					case 3:
								strErrorMsg = "Le formulaire est invalide\r\n";
					break;

			}
			return strErrorMsg;
		}  else {
			return "";
		}
}
