// 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'); 
 $('etapa_'+newstep+'_title').addClassName('active'); 
}

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) {
				  
				  // 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]);
				  
				  $('delivery_name').value = response[1];
				  $('delivery_nipc').value = (response[2]==0)? '': response[2];
				  $('delivery_phone').value = (response[3]==0)? '': response[3];
				  $('delivery_address').value = response[4];
				  $('delivery_cp').value = (response[5]==0)? '': response[5];
				  $('delivery_city').value = response[6];
				  document.form_user.delivery_idcountry.selectedIndex = (response[7]!=0 && response[7]!='')? response[7]: 171;
				  
				  Element.remove('preregisterForm');
				  Effect.toggle('userDataDetails','blind'); 
				  }
				 },
				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) {

   // Processar dados : AJAX
   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(res.responseText);
				  Element.remove('cart_prod'+id);
				  return false;
				 },
				onFailure: reportError
			});	
	
}

function updateProduct (id, qty) {

    // Processar dados : AJAX
    // 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 qty   = $F('qty'+id);
	
	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(response[0]);
				  $('cart_total').update(response[1]);
				  //Element.remove('cart_prod'+id);
				  return false;
				 },
				onFailure: reportError
			});	
	
}

function listProducts () {
	
	// Preencher "Dados Expedição"
	
   var w                       = document.form_user.delivery_idcountry.selectedIndex;
   $('delivery_country').value = document.form_user.delivery_idcountry.options[w].text;
   // alert( $F('delivery_country') );
				   
   $('delivery_name2').update( $F('delivery_name') );
   $('delivery_nipc2').update( $F('delivery_nipc') );
   $('delivery_phone2').update( $F('delivery_phone') );
   $('delivery_address2').update( $F('delivery_address') );
   $('delivery_cp2').update( $F('delivery_cp') );
   $('delivery_city2').update( $F('delivery_city') );
   $('delivery_country2').update( $F('delivery_country') );	
	
	// 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);
				   
				// Avançar para próximo passo
				   changeStep(2, 3);
				 },
				onFailure: reportError
			});	

}
function updateDelivery () {
	
	if ($F('delivery') == '') return;
	
	new Insertion.After ('delivery', '<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&delivery='+$F('delivery');

    // Lança preços
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars2, 
				onSuccess: function (res) {	
				   
				   var response = res.responseText.split('|'); 
				   $('delivery_price_total').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');
}

function submeterEncomenda () {
	
 // Processar dados : AJAX
 // Element.hide('cb_ajaxform'); 
 // Element.show('cb_ajaxwait');
 // Total c/ portes : $('total_price').innerHTML
 
 var payment = Form.getInputs('form_payment','radio','payment').find(function(radio) { return radio.checked; }).value;
 
/* Se for cartão de crédito, processar transacção */
 if (payment == 3) { var transid = $('transid').value; } else { var transid = 0; }
/* */

 var params  = Form.serialize('form_user');
 var params2 = 'transid='+transid+'&delivery=' +$F('delivery')+ '&payment=' +payment;
 var url     = '/includes/ajax_basket.inc.php';
 var action  = 'sendpurchase';
 var pars    = 'action='+action+'&'+params+'&'+params2;
		
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {	
				  
					var response = res.responseText.split('|');
					if(!(response[0]>0)) {alert("Pedido vazio ou já processado!"); return false;}

				  /* Se for pagamento por Cartão de Crédito, submeter form para processamento.
				  if (payment == 3) {
				   Element.toggle ('cb_ajaxwait');	  
				   $('cb_ajaxwait').update('<span style="color:#cc0000">O sistema irá processar o envio dos dados de pagamento por protocolo seguro. Esta operação pode demorar alguns segundos. Aguarde sem interromper o processo. Obrigado.</span>');
				   $('form_creditcard').submit();
				   
				  } 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 == 6) {
						$('easypay_ent').value= response[1];
						$('easypay_ref').value= response[2];
						$('easypay_val').value= response[3]; 
						document.form_payment.action = "/result.php?acc=loja_easypay";   
					}
					document.form_payment.submit();
				  
				 },
				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!'); }