function submit_form (form_id)
{
   var frm = document.getElementById(form_id);
   frm.submit();

}


function loadCSS(css_file)
{

    var css = document.createElement('link');
    css.setAttribute('href',css_file);
    css.setAttribute('rel','stylesheet');
    css.setAttribute('type','text/css');
    var heads = document.getElementsByTagName('head');
    heads[0].appendChild(css);


}

function changeButtonState(button,state) {
		//changement de l'image de fond en fonction de l'etat du bouton ( normal rollover, ou down)
		document.getElementById(button.id + "_root").className="button_root br_" + state;
		document.getElementById(button.id + "_left").className="button_left bl_" + state;
		document.getElementById(button.id + "_right").className="button_right bri_" + state;
		document.getElementById(button.id + "_center").className="button_center bc_" + state;

	}

function initIE()
{
	var temp;
	divs = document.getElementsByTagName('div')
	temp = 0;
	while (temp < divs.length) {

		if(divs[temp].currentStyle.cursor =="pointer"){
			//objExplorer(divs[temp].currentStyle);
			alert(divs[temp].currentStyle.cursor);
			divs[temp].currentStyle.cursort = 'hand';
		}
	temp++;
	}
}

  /*
  fonction retournant le texte contenu dans un element html
  */
  function objText(obj) {
        var text = '';
        var ok =false;
        // cas IE
        if(obj.innerText) {

            text = obj.innerText;
            ok = true;
        }
        // cas Fx
        if ((obj.textContent) &&(!ok))
        {
           text = obj.textContent;
           ok = true;
        }
        // nettoyage des retour chariot
        text = text.replace(/rn/g," ");
        return text;
  }

function objExplorer(obj,notNull) {
    msg = ''
    var k = 0;
    for (var i in obj)
    {
     if(!notNull)    {
         msg = msg + i + ' = ' + obj[i]+ ' | ';
       } else {
           if(obj[i] != null) {
            msg = msg + i + ' = ' + obj[i]+ ' | ';
         }
       }
         k++;
         if(k == 5 ) {
             msg = msg + "\n";
             k = 0;
         }

    }
    alert(msg);
}

function favorites(){
if (navigator.appName.indexOf("Netscape") > -1) {
   window.alert("Pour ajouter cette page � vos signets tapez CTRL-D  Merci.")
}
else {
   window.external.AddFavorite('','');
}}

function setClass(obj,classe) {



    if ((document.all)&&(!is_opera)) {

        obj.setAttribute('className',classe);

    } else {

        obj.setAttribute('class',classe);

    }
}



function loadCSS(css_file)
{

    var css = document.createElement('link');
    css.setAttribute('href',css_file);
    css.setAttribute('rel','stylesheet');
    css.setAttribute('type','text/css');
    var heads = document.getElementsByTagName('head');
    heads[0].appendChild(css);


}
 function checkObj(obj_id,func_todo)
 {
      var obj = document.getElementById(obj_id)
      if(obj) {
          eval(func_todo);

      } else {
           window.setTimeout('checkObj("'+obj_id+'","'+func_todo+'")',100);
      }

 }

 function cloneLineField(src,dest)
 {
         var bo =  document.getElementById(dest);
	     var ligne = document.getElementById(src);
		 var clone = ligne.cloneNode(true);
		 var template  = bo.template;
		 var nb_ligne = bo.nb_ligne;
		 clone.style.display = "";
		 fields = clone.getElementsByTagName('select');
		 i = 0;
		 while (i < fields.length) {
            fields[i].name = fields[i].name.replace(template,nb_ligne);
            fields[i].id = fields[i].id.replace(template,nb_ligne);
            fields[i].disabled = '';
            i++;
		 }
         fields = clone.getElementsByTagName('input');
         i = 0;
         while (i < fields.length) {
             fields[i].name = fields[i].name.replace(template,nb_ligne);
             fields[i].id = fields[i].id.replace(template,nb_ligne);
             fields[i].disabled = '';
             i++;
		 }
		 fields = clone.getElementsByTagName('label');
         i = 0;
         /*while (i < fields.length) {
             fields[i].setAttribute('for',fields[i].getAttribute('for').replace(template,nb_ligne));
             i++;
		 }*/
		 clone.id=bo.new_name + nb_ligne;
	     bo.appendChild(clone);
		 bo.nb_ligne++;
		 return false;

 }

  function cloneLineField2(src,dest)
 {
         var bo =  document.getElementById(dest);
	     var ligne = document.getElementById(src);
		 var clone = ligne.cloneNode(true);
		 var template  = bo.template;
         var elmts_list = bo.elmts_list;
         var elmts,i;
		 var nb_ligne = bo.nb_ligne;
		 clone.style.display = "";
		 var elmts_idx = 0;
		 var tab_script = new Array;

		 while(elmts_idx < elmts_list.length)
		 {
		     var tag = elmts_list[elmts_idx];

        	     elmts = clone.getElementsByTagName(tag);
        		 i = 0;
        		 while (i < elmts.length) {

        		    // renome l'elments en utilisant le nom du original modele et en replacant le template par le numero de la ligne
                    if(elmts[i].name) {
                       elmts[i].name = elmts[i].name. replace(template,nb_ligne);
                    }
                    // genere un id du champs remplacant le template par le numero de ligne
                    if(elmts[i].id) {
                        elmts[i].id = elmts[i].id.replace(template,nb_ligne);
                    }
                    // active le champs
                    if(elmts[i].disabled) {
                        elmts[i].disabled = "" ;
                    }
                    if(tag == 'label') {
                           try {
                                 if(elmts[i].hasAttribute('for')) {
                                   elmts[i].setAttribute('for',elmts[i].getAttribute('for').replace(template,nb_ligne));
                                 }
                             }
                             catch (exep)
                            {

                              // do nothing for IE qui ne connait pas l'attribut for et les hasAttribute
                            }
                    }
                    if('script' == tag)
                    {

                    	 var scriptToExec = replaceRecur(elmts[i].innerHTML,template,nb_ligne);

                    	 tab_script[tab_script.length] = scriptToExec;

                    }
                    i++;
        		 }
		     elmts_idx++;
		 }

         clone.id=bo.new_name + nb_ligne;
	     bo.appendChild(clone);
	     var i = 0;
	     while (i < tab_script.length)
	     {
	         eval(tab_script[i]);
	         i++;

	     }
		 bo.nb_ligne++;
		 return false;

 }


 function replaceRecur(str,search,replace)
 {
 var out = str.replace(search,replace);

 if(out != str)
 {

   out = replaceRecur(out,search,replace);
 }
 return out;
 }


 function deleteLineField(src,ligne)
 {

    var bo =  document.getElementById(src);
    if(bo) {
      var id =  bo.new_name + ligne ;
      var elmt = document.getElementById(id)
      if(elmt)
      {
          elmt.parentNode.removeChild(elmt);
      }
    }
 }
 function deleteLineField2(bt)
 {
   var bloc = bt.parentNode;
   bloc.parentNode.deleteNode(bloc);

 }

function checkAlert(parent)
                  {

                      parent_ok = document.getElementById(parent)
                      if(parent_ok) {
                         Position.Center('error_cont',parent);
                      } else {
                           window.setTimeout('checkAlert("'+parent+'")',100);
                      }

                  }



function customAlert(msg,parent)
{
  var error_text = document.getElementById('error_text');

  if(error_text)
  {

       error_text.innerHTML = msg;
       /*Element.setOpacity('error_cont',1); */
       if(parent) {


           checkAlert(parent);

       }else {
           Position.CenterSpecial('error_cont','zone_content');

       }

       /*Element.show('error_cont');*/
       Effect.Appear('error_cont', {duration: 0.8, queue: 'front' });
   }

}

function alertPanier(msg,parent)
{
  var panier_text = document.getElementById('panier_text');

  if(panier_text)
   {
       panier_text.innerHTML = msg;
       /*Element.setOpacity('panier_cont',1); */
       if(parent) {


           checkAlert(parent);

       }else {
           Position.CenterSpecial('panier_cont','zone_content');

       }

       /*Element.show('panier_cont');*/
       Effect.Appear('panier_cont', {duration: 0.8, queue: 'front' });
   }

}

