var xhr = null;

function getXhr(){
  var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Your Web navigator doesn't support XMLHTTPRequest object!"); 
	   xhr = false; 
	} 
  return xhr;
}

var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == "Netscape" && bVer >= 4);
var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);

var default_x_position = ""; // for IE
var default_y_position = ""; // for IE

// Afficher le div
function showDiv(layerName,imgName,x,y){
   //$("#"+layerName).show();

   $("#"+layerName).show(); // position() can only be retrieved for visible elements
   
   // In IE, elements are positioned in relation with the parent
   if (default_x_position == "" && $.browser.msie){
      //alert($("#"+layerName).position().left+" - "+$("#"+layerName).position().top)
      default_x_position = $("#"+layerName).position().left;
      default_y_position = $("#"+layerName).position().top;
   }

   img_x = $("#"+imgName).position().left;
   img_y = $("#"+imgName).position().top;
   
   
   if ($.browser.msie){
      new_x = (img_x + x) - default_x_position;
      new_y = (img_y + y) - default_y_position;
   }else{
      new_x = img_x + x;
      new_y = img_y + y;
   }
   
   $("#"+layerName).css('top', new_y)
   $("#"+layerName).css('left', new_x);

}

// Cacher le div
function hideDiv(layerName){
   //var element = document.getElementById(layerName);
   //element.style.visibility = "hidden";
   $("#"+layerName).hide();
   //$("#"+layerName).fadeOut();
}


// Retourne la valeur X de l'image
function getImagePageLeft(img) {
   var x, obj;
   
   if (NS4) {	    
      if (img.container != null){
        return img.container.pageX + img.x;
      }
      else{
        return img.x;
      }
   }
   
   if (IE4) {
      x = 0;  
      obj = img;
      
      while (obj.offsetParent != null) {   
         x += obj.offsetLeft;   
         obj = obj.offsetParent;   
      }  
      x += obj.offsetLeft; 
      return x;
   }

   return -1;
}

// Retourne la valeur Y de l'image
function getImagePageTop(img) {
   var y, obj;
   if (NS4) {
      if (img.container != null){   
         return img.container.pageY + img.y;   
      }   
      else{   
         return img.y;  
      }
   }
   
   if (IE4) {
      y = 0;   
      obj = img;
      
      while (obj.offsetParent != null) {  
         y += obj.offsetTop;  
         obj = obj.offsetParent;  
      }
      
      y += obj.offsetTop; 
      return y;
   }
   
   return -1;
}

////////////////////////////////////////////////////////////////////////////////

// Changer le calendrier
function ajax_change_mois(mois, annee, idDiv){
	xhr = getXhr();
	xhr.onreadystatechange = function(){

		if(xhr.readyState == 4 && xhr.status == 200){
			reponse = xhr.responseText;
			document.getElementById(idDiv).innerHTML = reponse;
		}
	}
	xhr.open("POST","ajax/ajax.calendrier.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	xhr.send("cal_mois="+mois+"&cal_annee="+annee);
}

// Changer le select des livraisons
function change_livraison(pays, event_id, b_billet_broker, sous_total, code_postal){

   xhr = getXhr();

   xhr.onreadystatechange = function(){

		if(xhr.readyState == 4 && xhr.status == 200){
			reponse = xhr.responseText;
			document.getElementById('livraison_div').innerHTML = reponse;
			update_livraison("_0");
		}
	}

	xhr.open("POST","ajax/ajax.livraison.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	xhr.send("pays="+pays+"&event="+event_id+"&bbb="+b_billet_broker+"&sous_total="+sous_total+"&postal="+code_postal);

}

// Attendre 100 ms avant d'appeler la fonction pour m-a-j le select
function change_province(id, pays, province){
   setTimeout("change_province_ajax('"+id+"', '"+pays+"', '"+province+"')",100);
}

// Changer le select des provinces/états
function change_province_ajax(id, pays, province){
   
   xhr = getXhr();

   xhr.onreadystatechange = function(){

		if(xhr.readyState == 4 && xhr.status == 200){
			reponse = xhr.responseText;
			document.getElementById(id).innerHTML = reponse;
		}
	}

	xhr.open("POST","/ajax/ajax.province.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	xhr.send("pays="+pays+"&province="+province);

}