function changeQuantityBon(id, input){
	var price = input.value * $(id).getElement('td.prix').get('text');
	$(id).getElement('td.montant').innerHTML = price;
	updateTotalAmount();
}


function updateTotalAmount() {
	var total = 0;
	$('tbody').getElements('td.montant').each(function(item) {
		if(item.innerHTML!='') total = parseInt(total) + parseInt(item.innerHTML);
	});
	if($('totalAmount')) $('totalAmount').innerHTML = total;//SAUVEGARDER EN BASE LE PANIER
}

function savePanier(){
	var request = new Request({
		method: 'post',
		url: '/commande/panierSave',
		onSuccess: function(responseText, responseXML){
			myAlert(responseText);
		}
	}).send();
	return false;
}

//VALIDE LE FORM PANIER
function validPanierForm(a){
	if(a) $('form').action = $('form').action+'?redirect='+a.href;
	$('form').submit();
	return false;
}

//AJOUTE UN PRODUIT DANS LE PANIER (DEPUIS LA TG BEST SELLER - MUST HAVE)
function addProduct(ref, redirect){
	$('loadingLayer').style.display="block";
	var request = new Request({
		method: 'post',
		url: '/panier/add',
		onSuccess: function(responseText, responseXML){
			$('loadingLayer').style.display="none"
			if(responseText.match(/\{.+\}/)) {
				if($('addConfirmMsg')) $('addConfirmMsg').style.display = "block";
				if($('prixTotal')) {
					var obj = JSON.decode(responseText);
					$('prixTotal').innerHTML = parseInt($('prixTotal').innerHTML)+parseInt(obj.prix);
				}
				if(redirect) window.location.href = redirect;
			}
			else {
				myAlert(responseText);
			}
		}
	}).send('ref='+ref+'&save=1');
	return false;
}

//COMPLETE UNE LIGNE DE PANIER PARRAPORT A LA REF DONNER
function searchAndAddLine(id, input){
	if(input.value != '') {
		$('loadingLayer').style.display="block";
		var request = new Request({
			method: 'post',
			url: '/panier/add',
			onSuccess: function(responseText, responseXML){
				//alert(responseText);
				if(responseText.match(/\{.+\}/)) {
					var obj = JSON.decode(responseText);
					var tr = $(id);
					var min = 1;
					for (var i in obj) {
						if ($type(obj[i]).match(/(string|number)/i)) {
							var cell = tr.getElement('td.' + i);
							var prix = 0;
							var quantity = 0;
							if (cell) {
								var input = $(cell).getElement('input');
								var img = cell.getElement('img');
								if(i == 'prix') prix = obj[i];
								if(i == 'quantity') quantity = obj[i];
								if (input) { 
									input.value	= obj[i];
									if (i=='increment') min = obj[i];
									
									input.setAttribute('min',min);
									//if (i=='conditionnement') input.incrementStep = obj[i];
								} else if (img)	img.src	= obj[i];
								else	{
									cell.innerHTML	= obj[i];
									//if(i == 'montant')	$('totalAmount').innerHTML = parseInt($('totalAmount').innerHTML)+parseInt(obj[i]);
								}
							}
						}
					}
					updateTotalAmount();
					var cellInputIncrement = $(tr).getElement('.increment');
					//console.log(tr, cellInputIncrement);
					if (cellInputIncrement) {
						var input = cellInputIncrement.getElement('input');
						if(input && (input.value == 0  || input.value=='')) input.value = 1;
					}
					$('loadingLayer').style.display="none";
				}
				else {
					$('loadingLayer').style.display="none";
					myAlert(responseText);
				}
			}
		}).send('ref='+input.value+'&id='+id);
	}
	return false;
}

//AJOUTE DES NOUVELLE LIGNE VIERGE DANS LE PANIER / BON
function addNewLine(){
	var size = $('size').value;
	var tbody =  $('tbody');
	var nbTotal = tbody.getElementsByTagName('tr').length;
	var template = $('tbodyTemplate').rows[0];
	for(var i=0;i<size;i++) {
		var num = nbTotal+i+1;
		var className = ((num) % 2 == 0) ? 'odd' : 'even';
		var tr = template.cloneNode(true);
		tr.id = 'item-'+ num;
		tr.className = tr.className.replace('__oddeven__', className);
		$(tr).getElements('td').each(function(td) {
			td.innerHTML = td.innerHTML.replace(/__NUM__/g,num);
			var inp = td.getElement('input');
			if (inp) {
				['blur', 'keyup'].each(function(evt) {
					if (inp.getAttribute('_on' + evt))
						inp['on' + evt] = new Function(inp.getAttribute('_on' + evt));
				});
			}
		});
		tbody.appendChild(tr);
		tr.style.display = '';
		inputIncrement.init(tr);
	}
	return false;
}

//DELETE UNE LIGNE  DANS LE PANIER / BON
function deleteLine(id){
	var tbody =  $('tbody');
	var element = $(id);
	var disparu = tbody.removeChild(element);
	return false;
}

function sendCommande(){
	var email = $('email').value;
	var ref = $('ref').value;
	var request = new Request({
		method: 'post',
		url: '/commande/send',
		onSuccess: function(responseText, responseXML){	
			myAlert(responseText);
		}
	}).send('email='+email+'&ref'+ref);	
}

//SELECTION LES MAGASINS
function selectAdresse(sel) {
	var request = new Request({
		method: 'post',
		url: '/store/selectAdresse',
		onSuccess: function(responseText, responseXML){
			var adresse1 = $('adresse1');
			var bigBlock = $('theBigBlock');
			if(responseText != '') display = '';
			else display = 'none';
			adresse1.innerHTML = responseText;
			bigBlock.style.display = display;
			adresse1.style.display = display;
		}
	}).send('id='+sel.value);
}

function selectByCountry(sel) {
	var ville = $('ville');
	while(ville.firstChild)
		ville.removeChild(ville.firstChild);
	var request = new Request({
		method: 'post',
		url: '/store/selectByCountry',
		onSuccess: function(responseText, responseXML){
			//Internet explorer n'aime pas le innerHTML sur un select ou un table, la meilleure solution est de récupérer un flux JSON et recréer les option à la main.
			// Pour l'instant le flux récupéré n'est qu'un simple code HTML qui est parsé via un split et des regexp derrière.
		
			var options = responseText.split('</option>');
			options.each(function(opt) {
				if(opt.match(/^\s*$/)) return;
				var option = document.createElement('option');
				if(opt.match(/\n?\<option(\svalue=\"(.+)\")?\>(.+)/)) {
					option.value = RegExp.$2;
					option.innerHTML = RegExp.$3;
				}
				ville.appendChild(option);
			})
			$('theBigBlock').style.display = 'none';
		}
	}).send('country='+sel.value);
}
function selectByCity(sel) {
	var store = $('store');
	while(store.firstChild)
		store.removeChild(store.firstChild);
	var request = new Request({
		method: 'post',
		url: '/store/selectByCity',
		onSuccess: function(responseText, responseXML){
			//Internet explorer n'aime pas le innerHTML sur un select ou un table, la meilleure solution est de récupérer un flux JSON et recréer les option à la main.
			// Pour l'instant le flux récupéré n'est qu'un simple code HTML qui est parsé via un split et des regexp derrière.
			var options = responseText.split('</option>');
			options.each(function(opt) {
				if(opt.match(/^\s*$/)) return;
				var option = document.createElement('option');
				if(opt.match(/\n?\<option(\svalue=\"(.+)\")?\>(.+)/)) {
					option.value = RegExp.$2;
					option.innerHTML = RegExp.$3;
				}
				store.appendChild(option);
			})
			$('theBigBlock').style.display = 'none';
		}
	}).send('city='+sel.value);
}
//OUVRE UNE POPUP
function windowopen(a, title, width, height){
	window.open(a.href, title, 'width='+width+', height='+height+', scrollbars=yes, menubars=no');
	return false;
}
function unsubscribe(elm, text){
	myAlert(text, 'window.location.href = elm.href');
	/*
	if(confirm(text)) {
		var request = new Request({
			method: 'post',
			url: elm.href,
			onSuccess: function(responseText, responseXML){	
				myAlert(responseText, function(){
					window.location.href = elm.href;
				});
			}
		}).send('ajax=1');
	}
	*/
}
function myConfirm(elm, text){
	if(confirm(text)) {
		window.location.href = elm.href;
	}
}
function saveAndPurchase(){
	var f = $('formPurchase');
	f.again.value = 1;
	if(f.onsubmit()) f.submit();
	return false
}

function looseLogin(a) {
	var request = new Request({
		method: 'post',
		url: a.href,
		onSuccess: function(responseText, responseXML){
			myAlert(responseText);
		}
	}).send('login='+$('login').value);
	return false;
}

function myAlert(text, f) {
	var alertLayer = $('alertLayer');
	alertLayer.style.display = 'block';
	alertLayer.getElement('div').innerHTML = text;
	/*
	if(f) {
		alertLayer.getElement('a').onClick = f+";return false;";
	}
	*/
}
function closeAlert() {
	$('alertLayer').style.display = 'none';
	return false;
}
function gotoLangue() {
	var url = $('site').value;
	if(url != '') window.location.href = url;
}
function selectpays(pays) {
	$('city').value='';
	$('zipCode').value='';
	$('locate').submit();
}