// JavaScript Document
/**
 * Returns the value of the selected radio button in the radio group
 * 
 * @param {radio Object} or {radio id} el
 * OR
 * @param {form Object} or {form id} el
 * @param {radio group name} radioGroup
 */

function changeStep (actualstep, newstep) {
	Element.toggle ('etapa_'+actualstep);
	new Effect.Appear ('etapa_'+newstep);
 
	$('etapa_'+actualstep+'_title').removeClassName('active_tit');
	$('etapa_'+newstep+'_title').addClassName('active_tit');
	return false;
}
function resetOrder() {

	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=resetOrder';
		
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: function (res) {return true;},
			onFailure: reportError
		});
		return true;
}
function max24() {

	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=basketCount';
		
	var result= true;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: function (res) {
				if(parseInt(res.responseText)>24) {
					alert('Não pode comprar mais de 24 produtos de cada vez.');
					document.location='?'
				}
			},
			onFailure: reportError
		});
}
function validateUser_basket () {
	
	Element.show('validateUsermsg');
	$('validateUsermsg').update('<img src="/images/waitstatus.gif" alt="Please wait..." width="16" height="16" style="vertical-align:middle" />');
	 
	var email    = $F('validate_email');
	var pass     = $F('validate_password');
	var url  = '/includes/ajax_basket.inc.php';
	var pars = 'action=validateUser&email='+email+'&password='+pass;
	
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {
					//alert('userDataDetails');
					// Se não validar
					if (res.responseText.indexOf('F:') >= 0) { 

					$('validateUsermsg').update(res.responseText.substr(2));

					// Se validar
					} else {

						var response = res.responseText.split('|');
						$('validateUsermsg').update(response[0]);
						eval('var myJSONObject = '+ response[1]);

						$('validateUsermsg').update(response[0]);

						$('delivery_name').value = E2C(myJSONObject.delivery_name)
						$('delivery_phone').value = myJSONObject.delivery_phone
						$('delivery_address').value = E2C(myJSONObject.delivery_address)
						$('delivery_cp').value = myJSONObject.delivery_cp
						$('delivery_city').value = E2C(myJSONObject.delivery_city)
						$('delivery_idcountry').selectedIndex = (myJSONObject.delivery_idcountry!=0 && myJSONObject.delivery_idcountry!='')? myJSONObject.delivery_idcountry: 140;
						$('billing_name').value = corrige(E2C(myJSONObject.billing_name), E2C(myJSONObject.delivery_name))
						$('billing_address').value = corrige(E2C(myJSONObject.billing_address), E2C(myJSONObject.delivery_address))
						$('billing_cp').value = corrige(myJSONObject.billing_cp, myJSONObject.delivery_cp)
						$('billing_city').value = corrige(E2C(myJSONObject.billing_city), E2C(myJSONObject.delivery_city))
						$('billing_idcountry').selectedIndex= corrige(myJSONObject.billing_idcountry, $('delivery_idcountry').selectedIndex)

						$('billing_nipc').value = myJSONObject.billing_nipc

						$('preregisterForm').remove();
						$('userDataDetails').show();
				}
			},
			onFailure: reportError
		});	
}

function addProduct (id, name, price) {
	
   // Processar dados : AJAX
   if ( $('addprod'+id) ) {
	 $('addprod'+id).update('<div id="addprod'+id+'" style="font-size:10px; line-height:20px;"> <img src="/images/waitstatus.gif" alt="Please wait..." width="16" height="16" style="vertical-align:middle" id="basket_waitstatus" hspace="3" /> </div>');  
   } else {
     new Insertion.After ('submit_addprod'+id, '<div id="addprod'+id+'" style="font-size:10px; line-height:20px;"> <img src="/images/waitstatus.gif" alt="Please wait..." width="16" height="16" style="vertical-align:middle" id="basket_waitstatus" hspace="3" /> </div>');
   }
   
	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=add&prod_id='+id+'&prod_name='+name+'&prod_price='+price+'&prod_qty=1';
		
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {
				  
				  var response = res.responseText.split('|'); 

                  $('cb_basket_prods').update(response[0]);
				  $('cb_basket_price').update(response[1]);
				  $('addprod'+id).update('Produto adicionado ao carrinho.');
				  
				  new Effect.Highlight('cb_basket_prods', {startcolor:'#E81D24', endcolor:'#ffffff'})
				  new Effect.Highlight('cb_basket_price', {startcolor:'#E81D24', endcolor:'#ffffff'})
				 },
				onFailure: reportError
			});	
}

function deleteProduct (id) {

	new Insertion.After ('delete_prod'+id, '<img src="/images/waitstatus.gif" alt="Please wait..." width="16" height="16" style="vertical-align:middle" id="basket_waitstatus" hspace="3" />');
	
	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=delete&prod_id='+id;
		
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: function (res) {
			Element.remove('basket_waitstatus');
			$('cart_total').update(numberformat(res.responseText));
			$('cart_total2').update(numberformat(res.responseText));
			Element.remove('cart_prod'+id);
			return false;
		},
		onFailure: reportError
	});	
	
}

function updateProduct (id, qty) {

	var qty   = $F('qty'+id); if(qty<1) {alert("Erro:\r\n\r\nQuantidade tem de ser positiva. \r\nSe pretender apagar o produto, utilize o cancelamento na opção à esquerda da descrição.\r\n\r\nMenor valor aceite é a unidade, será este o valor considerado."); $('qty'+id).value= 1; qty= 1;}
	
	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=update&prod_id='+id+'&prod_qty='+qty;
		
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {	
				
				  var response = res.responseText.split('|'); 

                  $('cart_subtotal'+id).update(numberformat(response[0]));
				  $('cart_total').update(numberformat(response[1]));
				  $('cart_total2').update(numberformat(response[1]));
				  return false;
				 },
				onFailure: reportError
			});	
	
}

function confirmacaoDados() {

	$('delivery_address2').update($('delivery_address').value)
	$('delivery_cp2').update($('delivery_cp').value)
	$('delivery_city2').update($('delivery_city').value)
	$('delivery_country2').update($('delivery_idcountry').options[$('delivery_idcountry').selectedIndex].text)
	$('delivery_phone2').update($('delivery_phone').value)
	$('delivery_name2').update($('delivery_name').value)

	if(true) {
		
		$('billing_address2').update($('billing_address').value)
		$('billing_cp2').update($('billing_cp').value)
		$('billing_city2').update($('billing_city').value)
		$('billing_country2').update($('billing_idcountry').options[$('billing_idcountry').selectedIndex].text)
		$('billing_nipc2').update($('billing_nipc').value)
		$('billing_name2').update($('billing_name').value)
	} else {
		$('billingconfdiv').show();
	}
	return true;
}

function listProducts() {
	
// Pedir Lista produtos
	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=listBasket';
//	alert ( $('delivery_price').innerHTML );

      var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {	

				   
				//  var response = res.responseText.split('|');  
                   new Insertion.After ('productList', res.responseText);

				 },
				onFailure: reportError
			});
	eval(jsopccompra)

	return true;

}
function unListProducts() {

	listproditens= $$('tr.listproditens')

	listproditens.each(
		function(s){
			s.remove()
		}
	);
	return true
}
	
var jsopccompra
function opccompra_ini() {

	$('delivery').update('')
	dropdownAdd($('delivery'), 'Escolha modo de envio...', '', false)
	$('delivery_price').update('0.00')

	$('payment').update('')
	dropdownAdd($('payment'), 'Escolha modo de pagamento...', '', false)
	$('payment_price').update('0.00')

	$('total_price').update('0.00')
}
function opccompra_act(delivery_idcountry) {

	$('delivery_country').value= $('delivery_idcountry').options[$('delivery_idcountry').selectedIndex].text

	if (delivery_idcountry == '') return;

	var url   = '/includes/ajax_basket.inc.php';
	var pars2  = 'action=opccompra&delivery_idcountry='+ delivery_idcountry;

	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars2, 
				onSuccess: function (res) {

					jsopccompra= "opccompra_ini(); "

					var response = eval(res.responseText);
					response[0].each(function(deliveryopt) {
						jsopccompra+= "dropdownAdd($('delivery'), '"+ E2C(deliveryopt[1])+ "', '"+ deliveryopt[0]+ "', false); "
					});
					response[1].each(function(paymentopt) {
						jsopccompra+= "dropdownAdd($('payment'), '"+ E2C(paymentopt[1])+ "', '"+ paymentopt[0]+ "', false); "
					});
					/*
jsopccompra+= "dropdownAdd($('delivery'), 'Correio', '1', false); "
jsopccompra+= "dropdownAdd($('payment'), 'Cartao de Credito', '3', false); "	
jsopccompra+= "dropdownAdd($('payment'), 'Envio a Cobranca', '1', false); "	
					*/
				 },
				onFailure: reportError
			});
}

function updateopccompra(o) {
	
	deliveryVal= ($F('delivery') == '')? 0: $F('delivery');
	paymentVal= ($F('payment') == '')? 0: $F('payment');
	
	new Insertion.After (o, '<img src="/images/waitstatus.gif" alt="Please wait..." width="16" height="16" style="vertical-align:middle" id="basket_waitstatus" hspace="3" />');
	
	var url   = '/includes/ajax_basket.inc.php';
	var pars2  = 'action=basketTotalPrice&o='+ o+ '&delivery='+ deliveryVal+ '&payment='+ paymentVal+ '&delivery_idcountry='+$F('delivery_idcountry');

    // Lança preços
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars2, 
				onSuccess: function (res) {	
				   
				   var response = res.responseText.split('|');
				   $(o+ '_price').update( response[0] );
				   $('total_price').update( response[1] );
				   
				   // Actualiza TOTAL PRICE (Formulário Pagamento por Cartão de Crédito)
				   $('total_price_creditcard').value = response[1];
				   
				 },
				onFailure: reportError
			});	
	Element.remove('basket_waitstatus');

	$('cc_payment_box').hide(); $('entregacobr_payment_box').hide(); $('ptb_payment_box').hide();
	if($F('payment')==1) {$('entregacobr_payment_box').show();}
	if($F('payment')==2) {$('ptb_payment_box').show();}
	if($F('payment')==3) {$('cc_payment_box').show();}
}

function saveorder() {

	var params  = Form.serialize('form_user');
	var params2 = 'delivery=' +$F('delivery')+ '&payment=' +$F('payment');
	var url     = '/includes/ajax_basket.inc.php';
	var action  = 'saveorder';
	var pars    = 'action='+action+'&'+params+'&'+params2;
		
	var myAjax = new Ajax.Request(
		url, 
		{
		method: 'post', 
		parameters: pars, 
		onSuccess: function (res) {	
			//boa
		 },
		onFailure: reportError
	});	

	return true;

	
}

function submeterEncomenda() {
	
 // Processar dados : AJAX
	Element.hide('payment_boxes');
	Element.hide('div_passo_anterior_4');
	Element.hide('div_passo_seguinte_4');
 
	var payment= $('payment').value;

	paramsCC= '';
	if (payment == 3) {
		Element.show('cb_ajaxwait');
		paramsCC= '&'+ Form.serialize('form_creditcard');
	}

	var params  = Form.serialize('form_user');
	var params2 = 'delivery=' +$F('delivery')+ '&payment=' +payment;
	var url     = '/includes/ajax_basket.inc.php';
	var action  = 'sendpurchase';
	var pars    = 'action='+action+'&'+params+'&'+params2+ paramsCC;
		
	var myAjax = new Ajax.Request(
		url, 
		{
		method: 'post', 
		parameters: pars, 
		onSuccess: function (res) {
		  
			var response = res.responseText.split('|');

			if (payment == 3) {
				resultado= response[0];
				$('cb_ajaxwait').update(response[1]);
				
				if(resultado=='1') {
					Element.show('div_voltar_loja_4');
				} else {
					Element.show('div_repetir_4');
				}

			} else if (payment == 5) {
				$('paypal_custom').value    = response[0]+ "-order";
				$('preco_final').value    = response[1];
				document.form_payment.action = "/includes/paypal/paypal.php";
			} else if (payment == 1) {
				window.location= '/result.php?acc=loja_fimentregacobr'
			} else if (payment == 2) {
				window.location= '/result.php?acc=loja_fimptb'
			}
		  
		 },
		onFailure: reportError
	});	

	return false;
}

function limparCarrinho () {
	
	var url   = '/includes/ajax_basket.inc.php';
	var pars  = 'action=empty';

      var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {	
                 window.location.reload();
				 },
				onFailure: reportError
			});		
}
function reportCCError () { alert('Transacção abortada. Houve um erro no processamento do pagamento por cartão de crédito.'); }
function reportError () { alert('Houve um erro! \r\n Provavelmente, perdeu a sessão. Nesse caso, faça de novo login!'); }

function facturacaocopiatxt() {

	$('billing_name').value= $('delivery_name').value
	$('billing_address').value= $('delivery_address').value
	$('billing_cp').value= $('delivery_cp').value
	$('billing_city').value= $('delivery_city').value
	$('billing_idcountry').selectedIndex=$('delivery_idcountry').selectedIndex
	$('billing_country').value= $('delivery_country').value
}