/* - - - - - - - - - - - - - - - - - - - - - - -
 JavaScript
 17 octobre, 2008 16:25:03

 1. Requete Ajax pour l'ajout d'item au panier
 2. Functions pour l'affichage
 - - - - - - - - - - - - - - - - - - - - - - - */

// 1. REQUETE AJAX                                                             /
//Detection du ajax
function GetXmlHttpObject(){
   var xmlHttp=null;

   try{
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
   }catch (e){
      // Internet Explorer
      try{
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }catch (e){
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
   }

   //Verifie si le ajax fonctionne
   if (xmlHttp ==null){
     alert (langue_ajax_navigateur_non_compatible);
     return
   }else{
     return xmlHttp;    
   }

}

//verifie si un element existe
function testElements(element, output){
   var checkId = document.getElementById(element);

   if(checkId != null){
      if(element.substr(0,2) == 'x_'){
        //Input de formulaire
        checkId.value = output;
        var image = 'img_' + element.substr(2);

        if(output > 0){
           checkId.className = 'qty_enabled';

           if(document.getElementById(image)){
              document.getElementById(image).src = '/' + langue + '/includes/buynow_sm_active.gif';
           }
        }else{
           checkId.className = 'qty_disabled';

           if(document.getElementById(image)){
              document.getElementById(image).src = '/' + langue + '/includes/buynow_sm.gif';
           }
        }

      }else{
        checkId.innerHTML = output;
      }

   }

}

//verifie si un element existe
function isset(item, valeur){
   if(document.getElementById(item)){
      var elm = document.getElementById(item);

      switch(elm.nodeName){
         case 'INPUT':
            elm.value = valeur;

            //Changer la couleur de la case
            if(item.substr(0,2) == 'x_'){
               //Input de formulaire
               var image = 'img_' + item.substr(2);

               if(valeur > 0){
                  elm.className = 'qty_enabled';

                  if(document.getElementById(image)){
                     document.getElementById(image).src = '/' + langue + '/includes/buynow_sm_active.gif';
                  }

               }else{
                  elm.className = 'qty_disabled';

                  if(document.getElementById(image)){
                     document.getElementById(image).src = '/' + langue + '/includes/buynow_sm.gif';
                  }
               }

            }
            break;

         case 'TEXTAREA':
            elm.value = valeur;
            break;

         case 'SELECT':
            elm.value = valeur;
            break;

         default:
            elm.innerHTML = valeur;
      }
   }
}

// effectuer l'action ajax
function ajaxaction(request, target){
   displayloading();

   request.onreadystatechange = function(){

      if(request.readyState == 4){
         if(request.status == 200){
            //Reponse AJAX
            //Compilation par la fonction eval;
            eval(request.responseText);
            hideloading();
            return true;
         }else{
            return false;
         }
      }else{
         return false;
      }
   }
}

function sendvalues(url, params){
   var request = null;
   var target = new Array();

   //activer le ajax
   request = GetXmlHttpObject();

   request.open("GET", url + "?" + params, true);
   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   request.send(null);

   //effectuer la requete
   ajaxaction(request, target);
}

function get(obj) {
   var poststr = '';

   for(var i = 0; i < obj.elements.length; i++){

     if(obj.elements[i].name != ''){

        //verifie si radio
        if(obj.elements[i].name.substr(0,5) == 'radio'){

           if(obj.elements[i].checked){
              poststr = poststr + obj.elements[i].name + '=' + obj.elements[i].value + '&';
           }

        }else{
           poststr = poststr + obj.elements[i].name + '=' + obj.elements[i].value + '&';
        }

     }

   }


   return poststr;
}

function ajoutpanier(item){
   var request = null;
   var target = new Array('panier', 'panier_menu');

   //activer le ajax
   request = GetXmlHttpObject();

   for(var i = 0; i < target.length; i++){
      testElements(target[i], langue_ajax_patienter);
   }

   if(document.getElementById('x_' + item)){
      var qty = parseInt(document.getElementById('x_' + item).value);

      if(qty == 'NaN'){
         document.getElementById('x_' + item).value = 1;
         qty = 1;
      }

   }else{
      var qty = 0;
   }


   //Parametres d'envoi
   var lien = "/secure/ajax/ajax_ajout_panier.php?item=" + item + "&qty=" + qty;

   request.open("GET", lien, true);
   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   request.send(null);

   //effectuer la requete
   ajaxaction(request, target);

}

function panier_change(item, qty){
   var xqty = parseInt(document.getElementById('x_' + item).value) + parseInt(qty);

   if(xqty < 0){
      xqty = 0;
   }

   document.getElementById('x_' + item).value = xqty;

   //ajout ajax
   ajoutpanier(item);

}

function deleteitem(id,item, url){
   var confirmation = window.confirm(langue_supprimer_item_1 + item + langue_supprimer_item_2);

   if(confirmation){
      window.location.href= url + id;
   }
}


// 2. Fonction d'affichage                                                     /
function changebg(item, i){
  var color = new Array('#FFFFBB','#FFFFCC','#FFFFDD','#FFFFEE','#FFFFFF');

  document.getElementById(item).bgColor = color[i];
  i++;

  if(i <= color.length){
     setTimeout("changebg('" + item + "','" + i + "')", 50);
  }
}

function highlight(tr, on, off){
   var element = document.getElementById(tr);

   if(element.className == on){
      element.className = off;
   }else{
      element.className = on;
   }

}

//Identique a la fonction NUMBER_FORMAT
function addCommas(nStr){
  nStr = nStr.toFixed(2);

  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
  }
  return x1 + x2;
}


//efface l'avertissement de chargement
function hideloading(){
   var loadpage = document.getElementById('loadpage');
   loadpage.style.visibility = 'hidden';
}

function displayloading(){
   var clientY = 150;
   var YPos = (document.all) ? document.body.scrollTop : window.pageYOffset;

   var loadpage = document.getElementById('loadpage');
   loadpage.style.visibility = 'visible';
   loadpage.style.top = (YPos + clientY) + 'px';

}

function session_timer(){
  //avertissement d'arret de la session apres 30 minutes
  setTimeout('alert(\'' + langue_session_5mins + '\')', 1500000);
  setTimeout('alert(\'' + langue_session_terminee + '\')', 1800000);
}

/*
window.onload= function(){
	hideloading();
	session_timer();
}
*/