/*var online from index.html */
var prod_list=[];
var prod_qty=[];
var price_list=[];
var weight=0;
var index=0;
var mailingprice=0;
var grandtotal=0;
var place='france';
Event.observe(window,'load',index_init);

function index_init(){
	Event.observe('paying_key','click',paying_key_clicked);
	new Ajax.Request('ajax-prices.php', {
		method:'post',
		parameters: {},
		requestHeaders: {Accept: 'application/json'},
		onSuccess: function(transport){
			price_list=transport.responseText.evalJSON(true);
			price_table();
			if(online){
				new Ajax.Request('ajax-products.php', {
					method:'post',
					parameters: {},
					requestHeaders: {Accept: 'application/json'},
					onSuccess: function(transport){
						prod_list=transport.responseText.evalJSON(true);
						if(prod_list.length!=0){
							$('online').style.display='';
							for(i=0;i<prod_list.length;i++) prod_qty[i]=0;
							calculate_prices();
							prod_table();
						}else{
							$('offline').style.display='';
						}
					}
				});
			}else{
				$('offline').style.display='';
			}
		}
	});
}

function paying_key_clicked(){
	$('paying_key').style.display='none';
	new Effect.BlindDown($('paying_div'), { duration:0.5 });
	return false;
}

function calculate_prices(){
	weight=0;
	index=-1;
	grandtotal=0;
	for(i=0;i<price_list.length;i++)
		if(place==price_list[i].place) index=i;
	for(i=0;i<prod_list.length;i++){
		weight+=prod_list[i].weight*prod_qty[i];
		grandtotal+=prod_list[i].price*prod_qty[i];
	}
	if(index==-1 || weight==0) mailingprice=0;
	else if(weight<=250) mailingprice=price_list[index].w250;
	else if(weight<=500) mailingprice=price_list[index].w500;
	else if(weight<=1000) mailingprice=price_list[index].w1k;
	else mailingprice=price_list[index].w2k;
	mailingprice=parseFloat(mailingprice);
	grandtotal+=mailingprice;
	grandtotal=Math.round(grandtotal*100)/100;
}

function prod_table(){
	prods_html='<table id="products"><thead>'+
		'<tr><th class="col1">&nbsp;</th><th class="col2">Article</th><th class="col3">Prix</th><th class="col4">Quantit&eacute;</th><th class="col5">Total</th></tr>'+
		'</thead><tbody>';
	for(i=0;i<prod_list.length;i++){
		libro=prod_list[i];
		prods_html+='<tr><td><img class="cover" src="'+libro.cover_url+'" alt="'+libro.title+'" title="'+libro.title+'" /></td>'+
			'<td><strong>Auteur(s):</strong> '+libro.author+'<br /><strong>Titre:</strong> <em>'+libro.title+'</em><br /><strong>Poids:</strong> '+libro.weight+' gr.</td>'+
			'<td class="tdprice">&euro; '+parseFloat(libro.price).toFixed(2)+'</td><td class="centered"><input class="prod-input" name="prod-'+i+'" value="" type="text" />'+
			'</td><td class="tdprice bookprice">&euro; 0.00</td></tr>';
	}
	prods_html+='<tr><td>&nbsp;</td><td><strong>Frais de port:</strong> <select id="select-place" name="place"><option value="" selected="selected">- - Choisir le pays d\'envoi - -</option><option value="france">France</option><option value="eu">Union Europ&eacute;enne et Suisse</option><option value="world">Autres pays</option></select></td><td class="tdprice mailprice">&euro; 0.00</td><td>&nbsp;</td><td class="tdprice mailprice">&euro; 0.00</td></tr>'+
		'<tr><td>&nbsp;</td><td><strong>Montant total</strong></td><td>&nbsp;</td><td>&nbsp;</td><td id="tdpricetot">&euro; 0.00</td></tr></tbody></table>';
	$('prod_table').update(prods_html);

	for(i=0;i<prod_list.length;i++)
		Event.observe($$('.prod-input')[i],'keypress',prod_edited);
	Event.observe('select-place','change',update_prod_table);
}

function prod_edited(){
	setTimeout(update_prod_table,100);
	return true;
}

function update_prod_table(){
	place=$$('#select-place option')[$('select-place').selectedIndex].value;
	for(i=0;i<$$('.prod-input').length;i++){
		prod_qty[i]=parseInt($$('.prod-input')[i].value);
		if(isNaN(prod_qty[i]) || prod_qty[i]<0) prod_qty[i]=0;
	}
	calculate_prices();

	newcontent='&euro; '+parseFloat(mailingprice).toFixed(2);
	$$('.mailprice').each(function(td){
		td.update(newcontent);
	});

	for(i=0;i<prod_list.length;i++){
		price=parseFloat(prod_list[i].price*prod_qty[i]);
		if(price<1000) newcontent='&euro; '+price.toFixed(2);
		else newcontent='&euro; -.--';
		$$('.bookprice')[i].update(newcontent);
	}

	price=parseFloat(grandtotal);
	if(price<1000) newcontent='&euro; '+price.toFixed(2);
	else newcontent='&euro; -.--';
	$('tdpricetot').update(newcontent);
}

function price_table(){
	prices_html='<table id="prices"><thead>'+
		'<tr><th class="col1">Poids jusqu\'&agrave;</th><th class="colx">250 gr.</th><th class="colx">500 gr.</th><th class="colx">1000 gr.</th><th class="colx">2000 gr.</th></tr>'+
		'</thead><tbody>';
	for(i=0;i<price_list.length;i++){
		price=price_list[i];
		place='';
		switch(price.place){
			case 'france': place='France'; break;
			case 'eu': place='Union Europ&eacute;enne et Suisse'; break;
			case 'world': place='Autres pays'; break;
		}
		prices_html+='<tr><td>'+place+'</td><td>&euro; '+parseFloat(price.w250).toFixed(2)+'</td><td>&euro; '+parseFloat(price.w500).toFixed(2)+'</td><td>&euro; '+parseFloat(price.w1k).toFixed(2)+'</td><td>&euro; '+parseFloat(price.w2k).toFixed(2)+'</td></tr>';
	}
	prices_html+='</tbody></table>';
	$('price_table').update(prices_html);
}

function prod_check(){
	if(weight==0){
		alert('Erreur! Aucune commande.');
		return false;
	}
	if(weight>2000){
		alert('Attention! Le poids total de votre commande ne doit pas dépasser les 2 kilos.');
		return false;
	}
	if($('select-place').selectedIndex==0){
		alert('Attention! Choisir le pays d\'envoi.');
		return false;
	}
	
	return true;
}

