function Show(obj)
{
	var nava = (document.layers);
	var dom = (document.getElementById);
	var iex = (document.all);
	
	if (nava) { cach = document.obj }
	else if (dom) { cach = document.getElementById(obj).style }
	else if (iex) { cach = obj.style }
	
	cach.display = 'block';
}

function Hide(obj)
{
	var nava = (document.layers);
	var dom = (document.getElementById);
	var iex = (document.all);
	
	if (nava) { cach = document.obj }
	else if (dom) { cach = document.getElementById(obj).style }
	else if (iex) { cach = obj.style }
	
	cach.display = 'none';
}

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("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	xhr = false; 
	}
	
	return xhr;
}

function loadPage(div,file,send,rload)
{
	var xhr = getXhr();
	
	xhr.open("POST", file, true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(send);

	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4)
		{
            if (xhr.status == 200)
			{
				//alert(xhr.responseText);
				if(div!='')
				{
					document.getElementById(div).innerHTML = '';
					document.getElementById(div).innerHTML = xhr.responseText;
				}
				
				if(rload==true){window.location.reload();}
			}
		}
	}
}

function loadPageAction(div,file,send,rload,action)
{
	var xhr = getXhr();
	
	xhr.open("POST", file, true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(send);

	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4)
		{
            if (xhr.status == 200)
			{
				//alert(xhr.responseText);
				if(div!='')
				{
					document.getElementById(div).innerHTML = '';
					document.getElementById(div).innerHTML = xhr.responseText;
				}
				
				if(rload==true)	{window.location.reload();}
				if(action!='')	{eval(action);}
			}
		}
	}
}

function box(file,width,height) {
	
	var parent = document.body;
	
	var box = document.createElement('div');
	box.setAttribute('id', 'box');
	box.setAttribute('style','width:100%;height:100%;');
	
	var overlay_height = 0;
	if( typeof( window.pageYOffset ) == 'number' ){
		overlay_height=Math.round(document.body.clientHeight)+'px';
	}
	else if( document.body) {
		overlay_height=Math.round(document.documentElement.clientHeight+document.documentElement.scrollTop)+'px';
	}
	else if( document.documentElement) {
		overlay_height=Math.round(document.body.clientHeight)+'px';
	}
	
	var overlay = document.createElement('div');
	overlay.setAttribute('id', 'overlay');	
	overlay.style.overKhtmlOpacity=0.8;
	overlay.style.MozOpacity=0.8;
	overlay.style.filter='alpha(opacity=80)';
	overlay.style.opacity=0.8;
	overlay.style.width='100%';
	overlay.style.height=overlay_height;
	overlay.style.background='#000';
	overlay.style.position='absolute';
	overlay.style.top=0;
	overlay.style.left=0;
	
	box.appendChild(overlay);
	
	var data = document.createElement('div');
	data.setAttribute('id', 'data');
	//data.setAttribute('style','width:100%;height:100%;position:absolute;z-index:999;');
	data.style.width='100%';
	//data.style.height='100%';
	data.style.position='absolute';
	
	if( typeof( window.pageYOffset ) == 'number' ){
		//alert('window.pageYOffset : '+window.pageYOffset);
		data.style.top=Math.round(window.pageYOffset)+'px';
	}
	else if( document.body) {
		//alert('document.body.scrollTop : '+document.body.scrollTop);
		//data.style.top=Math.round(document.body.scrollTop)+'px';
		data.style.top=Math.round(document.documentElement.scrollTop)+'px';
	}
	else if( document.documentElement) {
		//alert('document.documentElement.scrollTop : '+document.documentElement.scrollTop);
		data.style.top=Math.round(document.documentElement.scrollTop)+'px';
	}
	
	data.style.left=0;
	data.zIndex=1;
	
	var form = document.createElement('div');
	form.id='temp_panier';
	//form.setAttribute('style','float:none;display:block;width:'+width+'px;border:0;margin:auto;clear:both;;margin-top:200px;');
	form.style.float='none';
	form.style.display='block';
	form.style.width=width+'px';
	form.style.border=0;
	form.style.margin='auto';
	form.style.clear='both';
	form.style.marginTop='220px';
	loadPage('temp_panier',file,'',false);
	data.appendChild(form);
	
	box.appendChild(data);
	
	parent.appendChild(box);
	
	data.focus();
}

var Panier = Class.create();

Panier.prototype = {
	
	initialize: function() {	
		
		this.updatePanierList();
	},

	updatePanierList: function() {	
		if (!document.getElementsByTagName){ return; }
		
		var inputs = document.getElementsByTagName('input');
		for (var i=0; i<inputs.length; i++){
			var input = inputs[i];
			
			if (input.getAttribute('rel') && (input.getAttribute('rel').toLowerCase().match('panier'))){
				input.onclick = function () {myPanier.start(this); return false;}
			}
			
			if (input.getAttribute('rel') && (input.getAttribute('rel').toLowerCase().match('reset_panier'))){
				input.onclick = function () {myPanier.resetPanier(); return false;}
			}
			
			/*if (input.getAttribute('id') && (idAttribute.toLowerCase().match('refresh'))){
				input.onclick = function () {myPanier.refreshPanier(); return false;}
			}*/
		}
	},
	
	start: function(params) {
		var panier = params.getAttribute('panier');
		var send = '&panier='+escape(panier);

		loadPageAction('mypanier','js/panier.php',send, false, 'box(\'js/panier_confirm.php\',640,200);');
		//loadPageAction('mypanier','js/panier.php',send, false, 'Shadowbox.open(\'js/panier_confirm.php\');');
	},
	
	resetPanier: function() {
		loadPage('mypanier','js/panier.php','&reset=1', false);
	},
	
	refreshPanier: function() {
		var inputs = document.getElementsByTagName('input');
		var values = '&refresh=1';
		
		for (var i=0; i<inputs.length; i++){
			var input = inputs[i];

			var idAttribute = String(input.getAttribute('id'));
			if (input.getAttribute('id') && (idAttribute.toLowerCase().match('quantite_'))){
				var value = input.value;
				values += "&"+escape(idAttribute)+"="+value;
			}
			
			if (input.getAttribute('id') && (idAttribute.toLowerCase().match('option_'))){
				var value = input.value;
				values += "&"+escape(idAttribute)+"="+value;
			}
		}
		
		loadPage('mypanier','js/panier.php',values, true);
	},
	
	end: function() {
	}
}

function initPanier() { myPanier = new Panier(); }
