var myAjaxSearch = "";
var indicateur_ordre = 0;
var indicateur_lien = 0;

/*******************************************************************************
 *         permet d'écouter les touches frappées par l'utilisateur             *
 *         c'est la fonction variable_session qui réagit                       *
 *******************************************************************************/ 
Event.observe(document, 'keypress', variable_session);

function variable_session(event)
{
    if (event.charCode == 19 || event.keyCode == 19)
    {
    	  var url = "platina/ajax/variable_session.php";
    	  var pars = "action=kill";
	      var myAjax = new Ajax.Request(
						url,
						{
							method: 'get',
							parameters: pars,
							onComplete: function(){
											window.location='index.php';
										}
						});
  	}
    
  	if(event.charCode == 178 || event.keyCode == 222)
  	{
          var url = "platina/ajax/variable_session.php";
          var pars = "action=visualiser";
  	      var myAjax = new Ajax.Request(
                						url,
                						{
                							method: 'get',
                							parameters: pars,
                							onComplete: function(requestObject){
                											alert(requestObject.responseText);
                										}
                						});
    }
}

/*******************************************************************************
 *                   Gestion de la fenetre sauvegarder                         *
 *******************************************************************************/
function affiche_save()
{
    var myBody = document.getElementsByTagName('body')[0];
    var contenu ="<div id='save'><table><tr><td width='30'><img src='images/editeur/ajax-loader.gif'></td>";
    contenu = contenu + "<td> Sauvegarde en cours ...</td></tr></table></div>";
    new Insertion.After(myBody,contenu);
    
    /*********************** PLACEMENT *************************/
    var largeur_ecran = screen.availWidth;
    var hauteur_ecran = screen.availHeight;
    var largeur_pop_up = $('save').offsetWidth;
    var hauteur_pop_up = $('save').offsetWidth;
    var pop_up_posX = Math.round((largeur_ecran - largeur_pop_up) / 2);
    var pop_up_posY = Math.round((hauteur_ecran - hauteur_pop_up) / 2);
    
    $('save').style.left = pop_up_posX + "px";
    $('save').style.top = pop_up_posY + "px";
    /***********************************************************/
}

function ferme_save()
{
    $('save').remove();
}

/*******************************************************************************
 *       Permet de donner une hauteur minimale(car IE ne reconnait pas)        *
 *       la propriété min-height                                               *
 *******************************************************************************/
function min_height(element,minimum){
    if ($(element).offsetHeight < minimum){
        $(element).style.height = minimum + 'px';
    } else {
        $(element).style.height = 'auto';
        if ($(element).offsetHeight < minimum){
            $(element).style.height = minimum + 'px';
        }
    }
}

/*******************************************************************************
 *                  Permet de simuler un lien sans balise <a>                  *
 *******************************************************************************/
function handLink(element)
{
	element.style.cursor = 'pointer';
}

/*******************************************************************************
 *       Permet de trier l'ensemble résultat suivant la colonne indiquée       *
 *******************************************************************************/
function actualise_liste(nomColonne)
{
  	var url = "platina/ajax/actualise_liste.php";
  	if (nomColonne == ''){
  		  var pars='';
  	} else {
  		  var pars = 'ajax=oui&nomColonne='+nomColonne+'&'+(window.location.search).substring(1);
  	}
  	
  	var myAjax = new Ajax.Updater(
                  						'principal',
                  						url,
                  						{
                  							method: 'get',
                  							parameters: pars,
                  							evalScripts: true
                  						});
}

/*******************************************************************************
 *              Permet de naviguer parmi les différentes gammes                *
 *******************************************************************************/
function redirection(gamme){
    window.location = "index.php?nav=interrogation&gamme=" + gamme;
}


/*******************************************************************************
 *       Permettent de lancer la recherche dès que l'on clique sur             *
 *       une touche                                                            *
 *******************************************************************************/
function rch_libre()
{
	 t = window.setTimeout("recherche()",200);
}

function recherche()
{
    if(myAjaxSearch != ''){
        myAjaxSearch.transport.abort();
    }
  	var recherche = $('rch_libre').value;
  	var url = "platina/ajax/rch_libre.php";
  	var pars = "ajax=oui&recherche="+recherche+'&'+(window.location.search).substring(1);

  	myAjaxSearch = new Ajax.Updater(
  					'principal',
  					url,
  					{
  						method: 'get',
  						parameters: pars,
  						evalScripts: true
  					});
}

/*******************************************************************************
 *             Fonction permettant d'afficher le titre de la page              *
 *******************************************************************************/
 
function affiche_titre(titre)
{
    var titreX = coordonnees($('repere_titre'))[0];
    var titreY = coordonnees($('repere_titre'))[1];
    $('titre').style.left = titreX + "px";
    $('titre').style.top = titreY + "px";
    $('titre').innerHTML = titre;
}

/*******************************************************************************
 *       Permettent de lancer la recherche dès que l'on selectionne            *
 *       une valeur dans les champs à choix multiples                          *
 *******************************************************************************/
function temp_actualise_liste(type)
{
  	var tmp = "actualise_liste('"+type+"')"; 
  	var temporisation = window.setTimeout(tmp,200);
}

function actualise_recherche(nomChamp,valeurChamp)
{
    /*
    nomChamp = nomChamp.id.substr(4);
  	var url = "platina/ajax/actualise_recherche.php";
  	if(nomChamp){
    		var pars = "nomChamp="+nomChamp+"&valeurChamp="+escape(valeurChamp);
    		pars = pars + "&"+(window.location.search).substring(1);
  	} else {
  	   	var pars = "";
  	}
  	
  	var myAjax = new Ajax.Updater(
  						'recherche',
  						url,
  						{
    							method: 'post',
    							parameters: pars,
    							evalScripts: true,
    							onComplete: temp_actualise_liste('non_tri')
  						});
  				*/
          
          window.location = "index.php?nav=interrogation&gamme="+valeurChamp;		
}


function extradirect(num)
{
    if(num == 1){
        window.location = 'index.php?nav=extranet&num=1';
    } else {
        window.location = 'index.php?nav=extranet&num=2';
    }
}
/*******************************************************************************
 *                  Verification du formulaire de contact                      *
 *******************************************************************************/
function verification(valeurs,nb_champs)
{
    var nb_valeurs = valeurs.length;
    for(var i=0;i<nb_valeurs;i=i+1){
        if($(valeurs[i]).value == ""){
            contenu_td = $('libelle'+valeurs[i].substr(6)).innerHTML;
            
            retour = contenu_td.replace("*","");
            retour = retour.replace("<b>","");
            retour = retour.replace("</b>","");
            alert('Le champ '+retour+' est obligatoire');
            break;
        }
    }
    pars = "nb_champs=" + nb_champs;
    for(var i=1;i<=nb_champs;i=i+1){
        switch($('valeur'+i).type){
            case "text":
                pars = pars + "&valeur" + i + "=" + $('valeur'+i).value;
            break;
            case "textarea":
                pars = pars + "&valeur" + i + "=" + $F('valeur'+i);
            break;
        }
        
    }
    
    var url = "platina/ajax/contact.php";
    var myAjax = new Ajax.Updater(
  						'principal',
  						url,
  						{
    							method: 'post',
    							parameters: pars
  						});
}

/*******************************************************************************
 *                        Redirection pour details                             *
 *******************************************************************************/
function details(type_liste,cle)
{
    if(type_liste == 'interrogation'){
        window.location = "index.php?nav=details_" + type_liste + "&cle=" + cle;
    }
}

/*******************************************************************************
 *                             ADMINISTRATION                                  *
 *******************************************************************************/
function modifier(pag_id)
{
    var url = "platina/ajax/modifier.php";
    var pars = "pag_id=" + pag_id;
    var myAjax = new Ajax.Updater(
  						'principal',
  						url,
  						{
    							method: 'post',
    							parameters: pars,
    							evalScripts: true
  						});
}

function modifier_menu(men_id)
{
    var url = "platina/ajax/modifier_menu.php";
    var pars = "men_id=" + men_id;
    var myAjax = new Ajax.Updater(
  						'principal',
  						url,
  						{
    							method: 'post',
    							parameters: pars,
    							evalScripts: true
  						});
}

function modifier_ordre(men_id)
{
    $('bouton_ordre').disabled = true;
    $('bouton_entree').disabled = true;
    $('bouton_enregistrer').disabled = true;
    var tableau_menu = $('tableau_menu');

    var ligne_tableau = tableau_menu.getElementsByTagName('tr');
    
    var nombre_ligne = ligne_tableau.length;
        
    var new_image = "";
    var veh_id = 0;
    for(var i=2;i<nombre_ligne-1;i=i+1){
        
        new_element = ligne_tableau[i].firstChild;
        new_element.innerHTML = "";
                
        new_image = document.createElement("img");
        // attention url en dur
        new_image.setAttribute("src","http://sap.w3com.fr/images/editeur/ajouter.gif");
        
        new_element.appendChild(new_image);
        new_image.onclick = function(){selection((this.parentNode.parentNode.id).substr(12))};
        new_image.onmouseover = function(){handLink(this)};
    }
}

function selection(men_id)
{
    var tableau_menu = $('tableau_menu');
    var ligne_tableau = tableau_menu.getElementsByTagName('tr');
    var nombre_ligne = ligne_tableau.length - 3;
    
    indicateur_ordre = indicateur_ordre + 1;
    $('position_'+men_id).innerHTML = indicateur_ordre;
    if(indicateur_ordre == nombre_ligne){
        indicateur_ordre = 0;
        $('bouton_ordre').disabled = false;
        $('bouton_entree').disabled = false;
        $('bouton_enregistrer').disabled = false;
    }
}

function enregistrer_menu()
{
    var url = "platina/ajax/enregistrer_menu.php";
    
    var tableau_menu = $('tableau_menu');
    var ligne_tableau = tableau_menu.getElementsByTagName('tr');
    var nombre_ligne = ligne_tableau.length; 
    
    var pars = "EM_total=" + (nombre_ligne - 3);
    for(var i=2;i<nombre_ligne-1;i=i+1){
        ec = i - 1;
        men_id = (ligne_tableau[i].id).substr(12);
        
        lien = $('lien_' + men_id).innerHTML;
        
        if(lien.indexOf("index.php?nav=") != -1){
            lien = lien.substr(14);
        }
        
        pars = pars + "&EM_id_" + ec + "=" + men_id + "&EM_libelle_" + ec + "=" + $F('lib_'+men_id);
        pars = pars + "&EM_lien_" + ec + "=" + lien + "&EM_position_" + ec + "=" + $('position_' + men_id).innerHTML;
        
    }

    var myAjax = new Ajax.Updater(
                    'principal',
        						url,
        						{
          							method: 'post',
          							parameters: pars,
          							onComplete: function()
          							            {
                                        alert('Enregistrement effectué');
                                    }
                    });
}

function inserer_entree()
{
    var tableau_menu = $('tableau_menu');
    var ligne_tableau = tableau_menu.getElementsByTagName('tr');
    var ancien_nombre_ligne = ligne_tableau.length - 3;
    var nouveau_nombre_ligne = ligne_tableau.length - 2;

    var debut = "<tr id='menu_entree_0'>";
    var case1 = "<td id='position_0'>" + nouveau_nombre_ligne + "</td>";
    var case2 = "<td><input type='text' id='lib_0' /></td>";
    var case3 = "<td id='lien_0'></td>";
    var case4 = "<td id='createlink_0' onclick='indicateur_lien=0";
    case4 = case4 + ";nouvelle_fenetre(\"platina/html/creer_lien.html\",\"no\",500,300);'>";
    case4 = case4 + "<img src='http://sap.cerimport.com/images/editeur/createLink.gif' /></td>";
    new Insertion.After($('menu_entree_'+ancien_nombre_ligne),debut+case1+case2+case3+case4+"</tr>");
}

function affiche_formulaire()
{

}
/*******************************************************************************
 *                                 EDITEUR                                     *
 *******************************************************************************/

function remplir(contenu)
{
    $('ecran_visualisation').contentWindow.document.body.innerHTML = contenu;
}

function temp_remplir(contenu)
{
   var tmp = 'remplir("'+contenu+'")';
   var t=window.setTimeout(tmp,100);
}

function initialisation(couleur1,couleur2)
{
    $('forecolor').style.backgroundColor = couleur1;
    $('hilitecolor').style.backgroundColor = couleur2;
    $('ecran_visualisation').contentWindow.document.designMode = "on";
}

function coordonnees(element) {
	  var posX = 0;
    var posY = 0;
	  if (element.offsetParent) {
		    posX = element.offsetLeft;
		    posY = element.offsetTop;
		    while (element = element.offsetParent) {
			      posX = posX + element.offsetLeft;
			      posY = posY + element.offsetTop;
		    }
	  }
	  return [posX,posY];
}


function creer_calque(element,position)
{
    var mybody = document.getElementsByTagName('body')[0];

    if($('calque') != null){
        mybody.removeChild($('calque'));
        exit;
    }
    

    var newdiv = document.createElement('div');
    newdiv.id = "calque";

    mybody.appendChild(newdiv);
    switch(position){
        case "haut":
            posX = coordonnees($(element))[0];
            posY = coordonnees($(element))[1] - $('calque').offsetHeight;
        break;
        case "droite":
            posX = coordonnees($(element))[0] + $(element).offsetWidth;
            posY = coordonnees($(element))[1];
        break;
        case "bas":
            posX = coordonnees($(element))[0];
            posY = coordonnees($(element))[1] + $(element).offsetHeight;
        break;
        case "gauche":
            posX = coordonnees($(element))[0] - $('calque').offsetWidth;
            posY = coordonnees($(element))[1];
        break;
    }

    newdiv.style.left = posX + 'px';
    newdiv.style.top = posY + 'px';
}

function xxxxColor(type)
{
    creer_calque('l_'+type,'bas');
    groupe_couleur = new Array('FF','CC','99','66','33','00');
    retour = '<table>';

    for(var k=0;k<6;k=k+1){
        
        rouge =  groupe_couleur[k];
        for(var j=0;j<6;j=j+1){
            retour = retour + '<tr>';
            vert = groupe_couleur[j];
            for(var i=0;i<6;i=i+1){
                bleu = groupe_couleur[i];
                couleur = "#" + vert + rouge + bleu;
                retour = retour + '<td class="couleur" bgcolor="' + couleur + '" onclick="colorise(\'';
                retour = retour + couleur + '\',\'' + type + '\')"></td>';
            }
            retour = retour + '</tr>';
        }
        
    }
    retour = retour + '</table>';
    $('calque').innerHTML = retour;
}

function colorise(couleur,type)
{
    var mybody = document.getElementsByTagName('body')[0];
    mybody.removeChild($('calque'));
    $(type + '_actif').value = couleur;
    $(type).style.backgroundColor = couleur;
}

function police(element)
{
    $('ecran_visualisation').contentWindow.document.execCommand('fontname', false, element.value);
    element.selectedIndex=0;
    element.blur();
}

function taille(element)
{
    $('ecran_visualisation').contentWindow.document.execCommand('fontsize', false, element.value);
    element.selectedIndex=0;
    element.blur();
}

function lier(type)
{
    switch(type){
        case 'createlink':
            parametre = 'index.php?nav=' + $F(type + '_actif');
        break;
        
        case 'insertimage':
            parametre = 'http://localhost/cerimport/images/design/' + $F(type + '_actif');
        break;
        default:
            parametre = $F(type + '_actif');
            if(document.all){
                if(type == "hilitecolor"){
                    type = "backColor";
                }
            }
        break;
    }
    $('ecran_visualisation').contentWindow.document.execCommand(type, false, parametre);
}


function nouvelle_fenetre(page,scroll,largeur,hauteur)
{
    window.open(page,"aide","menubar=no, status=no, scrollbars="+scroll+", menubar=no, width="+largeur+", height="+hauteur);
}

function enregistrer()
{
    var url = "platina/ajax/enregistrer.php";
    if($('pag_nom') != null){
        pag_nom = $F('pag_nom');
    } else {
        pag_nom = "";
    }
    
    var contenu = $('ecran_visualisation').contentWindow.document.getElementById('principal_admin').innerHTML;
    
    contenu = contenu.replace(/#/g,"d");  
    contenu = contenu.replace(/\n/g,"");
    contenu = contenu.replace(/\r/g,"");
    contenu = contenu.replace(/&nbsp;/g," ");
    
    var description = $F('pag_description');
    //description = description.replace(/'/,"a");
    
    var pars = 'pag_nom=' + pag_nom + '&pag_description=' + description;
    pars = pars +  '&pag_contenu=' + contenu;

    var myAjax = new Ajax.Request(
  						url,
  						{
    							method: 'post',
    							parameters: pars,
    							onComplete: function(requestObject)
    							            {
                                  alert(requestObject.responseText);
                              }
  						});
}

/*******************************************************************************
 *                              FORMULAIRE                                     *
 *******************************************************************************/

//***********************        OBLIGATOIRE        ****************************
function change_obligatoire(element)
{
    con_id = (element.parentNode.id).substring(12);
    libelle = $('libelle'+con_id).innerHTML;
    switch(element.value){
        case 'oui':
            $('libelle'+con_id).innerHTML = "<b>" + libelle + " *</b>";
        break;
        case 'non':
            libelle = libelle.replace(/<b>/,"");
            libelle = libelle.replace(/<B>/,"");
            libelle = libelle.replace(/ \*<\/b>/,"");
            $('libelle'+con_id).innerHTML = libelle.replace(/ \*<\/B>/,"");
        break;
    }
}

//**********************        TYPE de RECEPTACLE        **********************
function change_receptacle(element)
{
    var con_id = (element.parentNode.id).substring(11);
    var nouveau_receptacle = element.value;
    switch(nouveau_receptacle){
        case "text":
            retour = "<input type='text' id='valeur" + con_id;
            retour = retour + "' style='width:" + $('largeur_'+con_id).firstChild.value + "px;'>";
            var hauteur = "20px";
        break;
        
        case "textarea":
            retour = "<textarea id='valeur" + con_id;
            retour = retour + "' style='width:" + $('largeur_'+con_id).firstChild.value + "px;'></textarea>";
            var hauteur = "50px";
        break;
        
        case "radio":
        
        break;
        
        case "select":
        
        break;
    }
    $('contenu_' + con_id).innerHTML = retour;
    $('contenu_' + con_id).style.height = hauteur;
}

//**************************        LARGEUR        *****************************
function change_largeur_suite(con_id)
{
    var largeur = $('largeur_'+con_id).firstChild.value;
    $('valeur' + con_id).style.width = largeur + "px";
}

function change_largeur(element)
{
    var con_id = (element.parentNode.id).substring(8);
    var t = setTimeout("change_largeur_suite(" + con_id + ")",100);
}

//**************************        NOUVELLE LIGNE        **********************
function change_NL(element)
{
    var con_id = (element.parentNode.id).substring(8);
    var ligne = $('contenu_' + con_id).parentNode;
    var libelle = $('libelle' + con_id).innerHTML;
    var contenu = $('contenu_' + con_id).innerHTML;
    
    switch(element.value){
        case 'oui':
            $('libelle' + con_id).remove();
            $('contenu_' + con_id).colSpan = '2';
            new Insertion.Before(ligne,"<tr><td id='libelle" + con_id + "' colspan='8'>" + libelle + "</td></tr>");
        break;
        case 'non':
            ligne_a_enlever = $('libelle' + con_id);
            ligne_a_enlever.remove();
            cellule = ligne.firstChild;
            $('contenu_' + con_id).colSpan = '1';
            new Insertion.After(ligne,"<td id='libelle" + con_id + "'>" + libelle + "</td>" + ligne.innerHTML);
            ligne.remove();
        break;
    }
}

function enregistrer_formulaire()
{
    affiche_save();
}
