// 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 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];
				  $('delivery_phone').value = response[3];
				  $('delivery_address').value = response[4];
				  $('delivery_cp').value = response[5];
				  $('delivery_city').value = response[6];
				  document.form_user.delivery_idcountry.selectedIndex = response[7];
				  
				  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:10px;"> <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:10px;"> <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) {
				  //Element.remove('basket_waitstatus');	
                  $('cb_basket_info').update('<img src="/images/bt_carrinho.gif" alt="Carrinho Compras" style="vertical-align:middle" />'+res.responseText);
				   $('addprod'+id).update('Produto adicionado ao carrinho.');
				  
				  //new Effect.Pulsate('cb_basket_info');
				  new Effect.Highlight('cb_basket_info', {startcolor:'#E81D24', endcolor:'#ffffff'})

				  //new Effect.BlindDown('cb_basket_alert');
				  //new Effect.BlindUp('cb_basket_alert', { queue: 'end'});
  
				  //setTimeout (Element.remove('addprod'+id), 60000); 
				 },
				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);
				 },
				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;
	
 urchinTracker('/buy/');
		
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function (res) {	
				  
				  // 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 {
				   //alert ( res.responseText );	  
				   Element.toggle ('etapa_4');
				   Element.toggle ('cb_ajaxwait');	  
				   $('cb_ajaxwait').update('Pedido de encomenda efectuado com sucesso!<br />Por favor consulte o seu email para receber o recibo da encomenda e instruções de pagamento.');
				  }
				  
				 },
				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('Sorry. There was an error.'); }