function changeStyle(i, style){
	if(document.frm_export.choix[i].checked == true){
		document.getElementById('tr_'+i).className='tab_entreprise_over';
		
	}else{
		document.getElementById('tr_'+i).className=style;
		
	}
}
function changeStyleClick(i, style){
	if(document.frm_export.choix[i].checked == true){
		document.getElementById('tr_'+i).className='tab_entreprise_over';
		document.frm_export.choix[i].checked = false;
	}else{
		document.getElementById('tr_'+i).className=style;
		document.frm_export.choix[i].checked = true;
	}
}
function switchMenu(obj){
	var el = document.getElementById(obj);
	if(el.style.display != "block"){
		el.style.display = "block";	
	}else{
		el.style.display = "none";
	}
}
function alertExtention(){
  var path = document.frm.photo.value;
  var swfnum = path.length - 3;
  var check = path.substr(swfnum,3);
  if(!(check=="jpg")){
    alert("Ce n'est pas une image ");
    document.frm.reset();
  }
 }
 //Cette fonction permet de cocher et décochez une liste de case à cocher a partir d'une case.
function cochez(){
	if(document.frm_export.check_all.checked == true){
		for (i=0; i < document.frm_export.choix.length; i++) {
			document.frm_export.choix[i].checked = true;
		}	
	}
	if(document.frm_export.check_all.checked == false){
		for (i=0; i < document.frm_export.choix.length; i++) {
			document.frm_export.choix[i].checked = false;
		}	
	}
}
function affichage_popup(nom_de_la_page, nom_interne_de_la_fenetre)
{
	
	window.open (nom_de_la_page, nom_interne_de_la_fenetre, config='height=800, width=600, toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no, status=no')
}
function affichage_popup2(nom_de_la_page, nom_interne_de_la_fenetre)
{
	
	window.open (nom_de_la_page, nom_interne_de_la_fenetre, config='height=280, width=420, toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no, status=no')
}
/***/
function bgr_color(obj,coleur) {
	obj.style.backgroundColor= coleur;
}
// Fonction utlisé pour des requette Ajax.
function sendData(param, page,zone){	
	//alert('');
	if(document.all){
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	}else{
		var XhrObj = new XMLHttpRequest();
	}//fin else
	var content = document.getElementById(zone);
	XhrObj.open("POST", page);
	XhrObj.onreadystatechange = function(){
		if (XhrObj.readyState == 4 && XhrObj.status == 200){
			content.innerHTML = XhrObj.responseText ;
		}else{
			//content.innerHTML = "<div align='center'><img src='image/gif/chargement.gif' align='absmiddle'> </div>"; 
		}
	}
	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
}

// Fonction utlisé pour des requette Ajax. Avec choix du loader.
function sendDataImg(param, page, zone, img){	
	//alert('');
	if(document.all){
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	}else{
		var XhrObj = new XMLHttpRequest();
	}//fin else
	var content = document.getElementById(zone);
	XhrObj.open("POST", page);
	XhrObj.onreadystatechange = function(){
		if (XhrObj.readyState == 4 && XhrObj.status == 200){
			content.innerHTML = XhrObj.responseText ;
		}else{
			content.innerHTML = "<div align='center'><img src='image_fr/gif/chargement_"+img+".gif' align='absmiddle'> </div>"; 
		}
	}
	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
}

function afficher(obj){
	var el = document.getElementById(obj);
	el.style.display = "block";
	
}

function cacher(obj, lien){
	var el = document.getElementById(obj);
	el.style.display = "none";	
	if(lien){
		var cini = document.getElementById(lien);
		cini.style.color = "#FFFFFF";	
	}
}

function HomePage(){
	this.style.behavior='url(#default#homepage)';
	this.setHomePage('www.geant.tn');
}

function ouvreFermeAvecImage(id){
	var elem = document.getElementById(id);
	if(elem.style.display == "none"){
		elem.style.display = "block";
		document.getElementById("img_"+id).src = "image_fr/gif/puce_ouvre_pouvoir.gif";
	}
	else{
		elem.style.display = "none";
		document.getElementById("img_"+id).src = "image_fr/gif/puce_ferme_pouvoir.gif";
	}
}
function ouvreFermeAvecImageCourse(id){
	var elem = document.getElementById(id);
	if(elem.style.display == "none"){
		elem.style.display = "block";
		document.getElementById("img_"+id).src = "image_fr/gif/reduire_listecourse.gif";
	}else{
		elem.style.display = "none";
		document.getElementById("img_"+id).src = "image_fr/gif/ouvrir_listecourse.gif";
	}
}
function ouvreFermeAvecImageAutreCourse(id){
	var elem = document.getElementById(id);
	if(elem.style.display == "none"){
		elem.style.display = "block";
		document.getElementById("img_"+id).src = "image_fr/gif/reduire_autre_listecourse.gif";
	}else{
		elem.style.display = "none";
		document.getElementById("img_"+id).src = "image_fr/gif/ouvrir_autre_listecourse.gif";
	}
}
function ouvreFerme1AvecImage(id){
	var elem = document.getElementById(id);
	if(elem.style.display == "none"){
		elem.style.display = "block";
		document.getElementById("img_"+id).src = "image_fr/gif/puce_valeur_reduction.gif";
	}
	else{
		elem.style.display = "none";
		document.getElementById("img_"+id).src = "image_fr/gif/puce_valeur_ouvre.gif";
	}
}



function verifNewsLetter(){
	var elem = document.frm_news.email_news;	
	
	if(elem.value!=""){
		return verifmail(elem.value);
	}else{
		alert(" - Veuillez reseigner votre E-mail !");
		return false;	
	}
}

function verifRecrutement(){
	var mesg = "";
	
	if(document.frm_recrute.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom\n";
	}
	if(document.frm_recrute.prenom.value==""){
		mesg += " - Veuillez Renseigner votre Prénom\n";
	}
	if(document.frm_recrute.adr.value==""){
		mesg += " - Veuillez Renseigner votre Adresse\n";
	}
	if(document.frm_recrute.ville.value==""){
		mesg += " - Veuillez Renseigner votre Ville\n";
	}
	if(document.frm_recrute.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
		return verifmail(document.frm_recrute.email.value);
	}
	if(document.frm_recrute.gsm.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone mobile\n";
	}
	if(document.frm_recrute.cv.value==""){
		mesg += " - Veuillez Renseigner votre CV\n";
	}
	if(document.frm_recrute.lm.value==""){
		mesg += " - Veuillez Renseigner votre Lettre de motivation\n";
	}
	
	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifLogin(){
	var mesg = "";
	if(document.getElementById('login').value==""){
		mesg += " - Veuillez Renseigner votre Login\n";
	}else{
		return verifmail(document.getElementById('login').value);
	}
	if(document.getElementById('password').value==""){
		mesg += " - Veuillez Renseigner votre Mot de passe\n";
	}
	
	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifCompte(){
	var mesg = "";
	
	if(document.frm_compte.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom\n";
	}
	if(document.frm_compte.prenom.value==""){
		mesg += " - Veuillez Renseigner votre Prénom\n";
	}
	if(document.frm_compte.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
		return verifmail(document.frm_compte.email.value);
	}
	if(document.frm_compte.tel.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone\n";
	}
	if(document.frm_compte.cin.value==""){
		mesg += " - Veuillez Renseigner votre CIN\n";
	}

	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifAvis(){
	var mesg = "";
	
	if(document.frm_avis.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom\n";
	}
	if(document.frm_avis.prenom.value==""){
		mesg += " - Veuillez Renseigner votre Prénom\n";
	}
	if(document.frm_avis.tel.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone\n";
	}
	if(document.frm_avis.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
		return verifmail(document.frm_avis.email.value);
	}
	
	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifContact(){
	var mesg = "";
	
	if(document.frm_contact.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom/Prénom\n";
	}
	if(document.frm_contact.tel.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone\n";
	}
	if(document.frm_contact.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
		return verifmail(document.frm_contact.email.value);
	}
	
	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifCAOL(){
	var mesg = "";
	
	if(document.frm_contact.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom/Prénom\n";
	}
	if(document.frm_contact.tel.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone\n";
	}
	if(document.frm_contact.cin.value==""){
		mesg += " - Veuillez Renseigner votre CIN\n";
	}else{
		var reg = /^[0-9]{8}$/;
		if(!reg.test(document.frm_contact.cin.value)){
			mesg += " - Le CIN doit être numérique composé de 8 chiffres.\n";
		}
	}
	if(document.frm_contact.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
 	    var reg1= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
		if(!reg1.test(document.frm_contact.email.value)){
			mesg += " - E-mail non valide !";
		}
	}
	
	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function verifmail(adrr){
  var reg= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
  if(reg.test(adrr)){ return true;}
  else {alert("- E-mail non valide !"); return false; }
}

function ajouterFavoris(title, url){ 
	if (document.all) 
		window.external.AddFavorite(url, title); 
	else if (window.sidebar) 
		window.sidebar.addPanel(title, url, "");
} 

function setHomepage(url)
{
 if (document.all)
    {
        document.body.style.behavior='url(#default#homepage)';
  document.body.setHomePage(url);
 
    }
    else if (window.sidebar)
    {
    if(window.netscape)
    {
         try
   {  
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
         }  
         catch(e)  
         {  
    alert("this action was aviod by your browser，if you want to enable，please enter about:config in your address line,and change the value of signed.applets.codebase_principal_support to true");  
         }
    } 
    var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
    prefs.setCharPref('browser.startup.homepage', url);
 }
}

function verifProfil(){
	var mesg = "";
	
	
	if(document.frm_profil.nom.value==""){
		mesg += " - Veuillez Renseigner votre Nom\n";
	}
	if(document.frm_profil.prenom.value==""){
		mesg += " - Veuillez Renseigner votre Prénom\n";
	}
	if(document.frm_profil.email.value==""){
		mesg += " - Veuillez Renseigner votre Email\n";
	}else{
		verifmail(document.frm_profil.email.value);
	}
	if(document.frm_profil.tel.value==""){
		mesg += " - Veuillez Renseigner votre Téléphone\n";
	}
	if(document.frm_profil.cin.value==""){
		mesg += " - Veuillez Renseigner votre CIN\n";
	}

	if(mesg!=""){
		alert(mesg);
		return false;
	}else{
		return true;	
	}
}

function affich(id){
	if(document.getElementById(id).style.display=='block')
		document.getElementById(id).style.display='none';
	else
		document.getElementById(id).style.display='block';
}


function verifMailPass(){
	var elem = document.frm_pass.email;	
	
	if(elem.value!=""){
		return verifmail(elem.value);
	}else{
		alert(" - Veuillez reseigner votre E-mail !");
		return false;	
	}
}

function affichRecette(id){
	if(document.getElementById(id).style.display=='block'){
		document.getElementById(id).style.display='none';
		document.getElementById('lien_'+id).innerHTML= "ouvrir"
	}
	else{
		document.getElementById(id).style.display='block';
		document.getElementById('lien_'+id).innerHTML= "fermer"
	}	
}

/**************  PHP.JS  ****************/

function file_get_contents (url, flags, context, offset, maxLen) {
    // Read the entire file into a string
    //
    // version: 906.111
    // discuss at: http://phpjs.org/functions/file_get_contents
    // +   original by: Legaev Andrey
    // +      input by: Jani Hartikainen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   input by: Raphael (Ao) RUDLER
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // %        note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain without modifications.
    // %        note 2: Synchronous by default (as in PHP) so may lock up browser. Can
    // %        note 2: get async by setting a custom "phpjs.async" property to true and "notification" for an
    // %        note 2: optional callback (both as context params, with responseText, and other JS-specific
    // %        note 2: request properties available via 'this'). Note that file_get_contents() will not return the text
    // %        note 2: in such a case (use this.responseText within the callback). Or, consider using
    // %        note 2: jQuery's: $('#divId').load('http://url') instead.
    // %        note 3: The context argument is only implemented for http, and only partially (see below for
    // %        note 3: "Presently unimplemented HTTP context options"); also the arguments passed to
    // %        note 3: notification are incomplete
    // *     example 1: file_get_contents('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
    // *     returns 1: '123'
    // Note: could also be made to optionally add to global $http_response_header as per http://php.net/manual/en/reserved.variables.httpresponseheader.php
 
    var tmp, headers = [], newTmp = [], k=0, i=0, href = '', pathPos = -1, flagNames = '', content = null, http_stream = false;
    var func = function (value) { return value.substring(1) !== ''; };
 
    // BEGIN REDUNDANT
    this.php_js = this.php_js || {};
    this.php_js.ini = this.php_js.ini || {};
    // END REDUNDANT
    context = context || this.php_js.default_streams_context || null;
 
    if (!flags) {flags = 0;}
    var OPTS = {
        PHP_FILE_USE_INCLUDE_PATH : 1,
        PHP_FILE_TEXT : 32,
        PHP_FILE_BINARY : 64
    };
    if (typeof flags === 'number') { // Allow for a single string or an array of string flags
        flagNames = flags;
    }
    else {
        flags = [].concat(flags);
        for (i=0; i < flags.length; i++) {
            if (OPTS[flags[i]]) {
                flagNames = flagNames | OPTS[flags[i]];
            }
        }
    }
    if ((flagNames & OPTS.PHP_FILE_USE_INCLUDE_PATH) && this.php_js.ini.include_path &&
            this.php_js.ini.include_path.local_value) {
        var slash = this.php_js.ini.include_path.local_value.indexOf('/') !== -1 ? '/' : '\\';
        url = this.php_js.ini.include_path.local_value+slash+url;
    }
    else if (!/^(https?|file):/.test(url)) { // Allow references within or below the same directory (should fix to allow other relative references or root reference; could make dependent on parse_url())
        href = this.window.location.href;
        pathPos = url.indexOf('/') === 0 ? href.indexOf('/', 8)-1 : href.lastIndexOf('/');
        url = href.slice(0, pathPos+1)+url;
    }
 
    if (context) {
        var http_options = context.stream_options && context.stream_options.http;
        http_stream = !!http_options;
    }
 
    if (!context || http_stream) {
        var req = this.window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
        if (!req) {throw new Error('XMLHttpRequest not supported');}
 
        var method = http_stream ? http_options.method : 'GET';
        var async = !!(context && context.stream_params && context.stream_params['phpjs.async']);
        req.open(method, url, async);
        if (async) {
            var notification = context.stream_params.notification;
            if (typeof notification === 'function') {
                req.onreadystatechange = function (aEvt) { // aEvt has stopPropagation(), preventDefault(); see https://developer.mozilla.org/en/NsIDOMEvent
 
// Other XMLHttpRequest properties: multipart, responseXML, status, statusText, upload, withCredentials; overrideMimeType()
/*
PHP Constants:
STREAM_NOTIFY_RESOLVE   1       A remote address required for this stream has been resolved, or the resolution failed. See severity  for an indication of which happened.
STREAM_NOTIFY_CONNECT   2     A connection with an external resource has been established.
STREAM_NOTIFY_AUTH_REQUIRED 3     Additional authorization is required to access the specified resource. Typical issued with severity level of STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS  4     The mime-type of resource has been identified, refer to message for a description of the discovered type.
STREAM_NOTIFY_FILE_SIZE_IS  5     The size of the resource has been discovered.
STREAM_NOTIFY_REDIRECTED    6     The external resource has redirected the stream to an alternate location. Refer to message .
STREAM_NOTIFY_PROGRESS  7     Indicates current progress of the stream transfer in bytes_transferred and possibly bytes_max as well.
STREAM_NOTIFY_COMPLETED 8     There is no more data available on the stream.
STREAM_NOTIFY_FAILURE   9     A generic error occurred on the stream, consult message and message_code for details.
STREAM_NOTIFY_AUTH_RESULT   10     Authorization has been completed (with or without success).
 
STREAM_NOTIFY_SEVERITY_INFO 0     Normal, non-error related, notification.
STREAM_NOTIFY_SEVERITY_WARN 1     Non critical error condition. Processing may continue.
STREAM_NOTIFY_SEVERITY_ERR  2     A critical error occurred. Processing cannot continue.
*/
 
                    var objContext = {}; // properties are not available in PHP, but offered on notification via 'this' for convenience
                    objContext.responseText = req.responseText;
                    objContext.responseXML = req.responseXML;
                    objContext.status = req.status;
                    objContext.statusText = req.statusText;
                    objContext.readyState = req.readyState;
                    objContext.evt = aEvt;
 
                    // notification args: notification_code, severity, message, message_code, bytes_transferred, bytes_max (all int's except string 'message')
                    // Need to add message, etc.
                    var bytes_transferred;
                    switch (req.readyState) {
                        case 0: //     UNINITIALIZED     open() has not been called yet.
                            notification.call(objContext, 0, 0, '', 0, 0, 0);
                            break;
                        case 1: //     LOADING     send() has not been called yet.
                            notification.call(objContext, 0, 0, '', 0, 0, 0);
                            break;
                        case 2: //     LOADED     send() has been called, and headers and status are available.
                            notification.call(objContext, 0, 0, '', 0, 0, 0);
                            break;
                        case 3: //     INTERACTIVE     Downloading; responseText holds partial data.
                            bytes_transferred = Math.floor(req.responseText.length/2); // Two characters for each byte
                            notification.call(objContext, 7, 0, '', 0, bytes_transferred, 0);
                            break;
                        case 4: //     COMPLETED     The operation is complete.
                            if (req.status >= 200 && req.status < 400) {
                                bytes_transferred = Math.floor(req.responseText.length/2); // Two characters for each byte
                                notification.call(objContext, 8, 0, '', req.status, bytes_transferred, 0);
                            }
                            else if (req.status === 403) { // Fix: These two are finished except for message
                                notification.call(objContext, 10, 2, '', req.status, 0, 0);
                            }
                            else { // Errors
                                notification.call(objContext, 9, 2, '', req.status, 0, 0);
                            }
                            break;
                        default:
                            throw 'Unrecognized ready state for file_get_contents()';
                    }
                }
            }
        }
 
        if (http_stream) {
            var sendHeaders = http_options.header && http_options.header.split(/\r?\n/);
            var userAgentSent = false;
            for (i=0; i < sendHeaders.length; i++) {
                var sendHeader = sendHeaders[i];
                var breakPos = sendHeader.search(/:\s*/);
                var sendHeaderName = sendHeader.substring(0, breakPos);
                req.setRequestHeader(sendHeaderName, sendHeader.substring(breakPos+1));
                if (sendHeaderName === 'User-Agent') {
                    userAgentSent = true;
                }
            }
            if (!userAgentSent) {
                var user_agent = http_options.user_agent ||
                                                                    (this.php_js.ini.user_agent && this.php_js.ini.user_agent.local_value);
                if (user_agent) {
                    req.setRequestHeader('User-Agent', user_agent);
                }
            }
            content = http_options.content || null;
            /*
            // Presently unimplemented HTTP context options
            var request_fulluri = http_options.request_fulluri || false; // When set to TRUE, the entire URI will be used when constructing the request. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). While this is a non-standard request format, some proxy servers require it.
            var max_redirects = http_options.max_redirects || 20; // The max number of redirects to follow. Value 1 or less means that no redirects are followed.
            var protocol_version = http_options.protocol_version || 1.0; // HTTP protocol version
            var timeout = http_options.timeout || (this.php_js.ini.default_socket_timeout && this.php_js.ini.default_socket_timeout.local_value); // Read timeout in seconds, specified by a float
            var ignore_errors = http_options.ignore_errors || false; // Fetch the content even on failure status codes.
            */
        }
        // We should probably change to an || "or", in order to have binary as the default (as it is in PHP), but this method might not be well-supported; check for its existence instead or will this be to much trouble?
        if (flagNames & OPTS.PHP_FILE_BINARY && !(flagNames & OPTS.PHP_FILE_TEXT)) { // These flags shouldn't be together
            req.sendAsBinary(content); // In Firefox, only available FF3+
        }
        else {
            req.send(content);
        }
 
        tmp = req.getAllResponseHeaders();
        if (tmp) {
            tmp = tmp.split('\n');
            for (k=0; k < tmp.length; k++) {
                if (func(tmp[k])) {
                    newTmp.push(tmp[k]);
                }
            }
            tmp = newTmp;
            for (i=0; i < tmp.length; i++) {
                headers[i] = tmp[i];
            }
            this.$http_response_header = headers; // see http://php.net/manual/en/reserved.variables.httpresponseheader.php
        }
 
        if (offset || maxLen) {
            if (maxLen) {
                return req.responseText.substr(offset || 0, maxLen);
            }
            return req.responseText.substr(offset);
        }
        return req.responseText;
    }
    return false;
}
