
var Class = {
	create: function() {
		return function() { this.initialize.apply(this, arguments); }
	}
};

if (!window.Event) {
  var Event = new Object();
}
//

function $(id) {
	if (id == undefined) return false;
	return (document.getElementById(id.toString())) ? document.getElementById(id.toString()) : false;
}


var Ajax = Class.create();

Ajax.prototype = {

	// Constructeur

	initialize: function(sUrl, scope) {

		if (scope == undefined) {
			this.scope = window;
		} else {
			this.scope = scope;
		}

		this.sUrl = sUrl;
		this.oXmlHttp = false;
		this.sVariables = "";
		this.aArguments = [];

		/*@cc_on
		@if(@_jscript_version >= 5)
			try {
				this.oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					this.oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
					this.oXmlHttp = false;
				}
			}
		@else
			this.oXmlHttp = false;
		@end @*/
		if(!this.oXmlHttp && typeof XMLHttpRequest != 'undefined') {
			try {
				this.oXmlHttp = new XMLHttpRequest();
			} catch (e) {
				this.oXmlHttp = false;
			}
		}
		if (!this.oXmlHttp) {
			// XMLHttpRequest n'est pas supporte pas le client
		}
	},
	// Envoi
	envoie: function(fonctionRetour) {
		var url = this.sUrl;

		for (var i = 0; i < this.aArguments.length; i++) {
			url += "&"+this.aArguments[i].nom+"="+encodeURIComponent(this.aArguments[i].valeur);
			this.sVariables += "&"+this.aArguments[i].nom+"="+encodeURIComponent(this.aArguments[i].valeur);
		}



		this.fonctionRetour = fonctionRetour;
		this.oXmlHttp.abort();
		this.oXmlHttp.open('POST', url, true);
		this.oXmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		this.oXmlHttp.send(this.sVariables);
		var _this = this;

		this.oXmlHttp.onreadystatechange = function () {
			try {
				if (_this.oXmlHttp.status == 200 && _this.oXmlHttp.readyState == 4) {
					_this.fonctionRetour.apply(_this.scope, [_this.oXmlHttp.responseText]);
				}
			} catch (e) {
				// debug seulement
			}
		}
	},

	// Ajoute
	ajoute: function(nom, valeur) {
		var bExiste = false;
		for (var i = 0; i < this.aArguments.length; i++) {
			if (this.aArguments[i].nom == nom) {
				bExiste = true;
				this.aArguments[i].valeur = valeur;
				break;
			}
		}
		if (!bExiste) {
			if (typeof valeur === 'object') {
				nom = nom+'[]';
				for(var a = 0; a < valeur.length; a++){
					this.aArguments.push( {nom: nom, valeur: valeur[a]} );
					//alert(nom + ' -> ' + valeur[a]);
				}
			}
			else {
				this.aArguments.push( {nom: nom, valeur: valeur} );
			}
		}
	}
};
function afficheCadreInfoPanier() {
	var height_panier = $("Panier").style.height;
	var width_panier 	= $("Panier").style.width;
	
	document.getElementById('nav_principale_01').style.zIndex = 10;
	if(document.getElementById('cushp_node_1')) document.getElementById('cushp_node_1').style.zIndex = 9;
	if(document.getElementById('column_left_01')) document.getElementById('column_left_01').style.zIndex = 8;
	

	var hauteur_block = Math.round(height_panier.substring(0,(height_panier.length-2)));
	var largeur_block = Math.round(width_panier.substring(0,(width_panier.length-2)));
  var largeurEcran 	= getWindowWidth();
  var hauteurEcran 	= getWindowHeight();

  var decalageX = document.documentElement.scrollTop;
  if(decalageX == 0) var decalageX = document.body.scrollTop;

  var positionDivEnHauteur = decalageX;
  var positionDivEnLargeur = (largeurEcran/2)-(largeur_block/2);

  $("Panier").style.top 		= ""+positionDivEnHauteur+"px";;
  $("Panier").style.left 		= ""+positionDivEnLargeur+"px";
  
	document.getElementById("filtre").style.height = getWindowHeight()+"px";
	document.getElementById("filtre").style.width = getWindowWidth()+"px";
	//document.getElementById("filtre").style.opacity = 1;
	//document.getElementById("filtre").style.filter = 'alpha(opacity=70)';

	//alert(document.getElementById("filtre").style.height+' '+document.getElementById("filtre").style.width);
	$("filtre").style.display = 'block';
  $("Panier").style.display = 'block';
}
function cacherCadreInfoPanier(){
	$("filtre").style.display = 'none';
	$("Panier").style.display = 'none';
}




function afficheCadre(cadre) {
	var height_panier = $(cadre).style.height;
	var width_panier 	= $(cadre).style.width;

	var hauteur_block = Math.round(height_panier.substring(0,(height_panier.length-2)));
	var largeur_block = Math.round(width_panier.substring(0,(width_panier.length-2)));
  var largeurEcran 	= getWindowWidth();
  var hauteurEcran 	= getWindowHeight();

  var decalageX = document.documentElement.scrollTop;
  if(decalageX == 0) var decalageX = document.body.scrollTop;

  var positionDivEnHauteur = decalageX;
  var positionDivEnLargeur = (largeurEcran/2)-(largeur_block/2);

  $(cadre).style.top 		= ""+positionDivEnHauteur+"px";;
  $(cadre).style.left 		= ""+positionDivEnLargeur+"px";
  $("filtre").style.display = 'block';
  $(cadre).style.display = 'block';
}
function cacherCadre(cadre){
	$("filtre").style.display = 'none';
	$(cadre).style.display = 'none';
}






function affichesavecart() {
	var height_panier = $("savecart").style.height;
	var width_panier 	= $("savecart").style.width;

	var hauteur_block = Math.round(height_panier.substring(0,(height_panier.length-2)));
	var largeur_block = Math.round(width_panier.substring(0,(width_panier.length-2)));
  var largeurEcran 	= getWindowWidth();
  var hauteurEcran 	= getWindowHeight();

  var decalageX = document.documentElement.scrollTop;
  if(decalageX == 0) var decalageX = document.body.scrollTop;

  var positionDivEnHauteur 		= decalageX;
  var positionDivEnLargeur 		= (largeurEcran/2)-(largeur_block/2);
	$("Panier").style.zIndex 		= '140';
  $("savecart").style.top 		= ""+positionDivEnHauteur+"px";;
  $("savecart").style.left 		= ""+positionDivEnLargeur+"px";
  $("savecart").style.display = 'block';
}


function getWindowHeight() {
    /*var h = 0;
    if (typeof(window.innerHeight) == 'number') { // Netscape
        h = window.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        h = document.documentElement.clientHeight;
    } else if (document.body && document.body.offsetHeight) { //client
        h = document.body.offsetHeight;
    }
    return h;*/
		return ___getPageSize()[1];
}
function getWindowWidth() {
   /* var w = 0;
    if (typeof(window.innerWidth) == 'number') { // Netscape
        w = window.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth) {
        w = document.documentElement.clientWidth;
    } else if (document.body && document.body.offsetWidth) { //client
        w = document.body.offsetWidth;
    }
    return w;*/
		return ___getPageSize()[0];
}

/****/
function ___getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
};
/****/

var isDragging = false;
var objectToDrag;
var obj;
var ecartX;
var ecartY;
var curX;
var curY;

function positionne(p_id, p_posX, p_pos_Y){
	document.getElementById(p_id).style.left 	= p_posX;
	document.getElementById(p_id).style.top 	= p_pos_Y;
}

function getPositionCurseur(e){
	if(document.all){
		curX = event.clientX;
		curY = event.clientY;
	}
	if(document.layers){
		curX = e.pageX;
		curY = e.pageY;
	}
	if(document.getElementById){
		curX = e.clientX;
		curY = e.clientY;
	}
}

function beginDrag(p_obj,e){
	isDragging 		= true;
	objectToDrag 	= $(p_obj);
	getPositionCurseur(e);
	ecartX = curX - parseInt(objectToDrag.style.left);
	ecartY = curY - parseInt(objectToDrag.style.top);
}

function drag(e){
	var newPosX;
	var newPosY;
	if(isDragging == true){
		getPositionCurseur(e);
		newPosX = curX - ecartX;
		newPosY = curY - ecartY;
		objectToDrag.style.left = newPosX + 'px';
		objectToDrag.style.top 	= newPosY + 'px';
	}
}

function endDrag(){
	isDragging = false;
}

function getradiovalue(radio) {
  for (var i=0; i<radio.length;i++) {
     if (radio[i].checked) {
        return radio[i].value
     }
  }
}