function stockOut(){
	if(!$('nostock')){
		var div = new Element('div', {'id': 'nostock'}).update("Produto Indispon&iacute;vel");
		document.body.appendChild(div);
		window.setTimeout('hidenostock()', 3000);
	}
}

function hidenostock(){
			new Effect.Fade($('nostock'),{
				duration: 1.5,
				afterFinish: function() {
					$('nostock').remove();
				}
			});
}

/**
 * dois formularios, juntar tudo num e fazer o post
 */
function finalizarCompra(path, method) {

    method = method || "post";
    var params = '';
	if ($('form_redunicre')){
		params += $('form_redunicre').serialize();
	}
	if ($('form_redunicre_campanha')){
		if ((params+'').length>0) params += '&';
		params += $('form_redunicre_campanha').serialize();
	}

    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
    var elementos=new Array();
    elementos = params.split('&');
	for (var i = 0; i < elementos.length; i++) {
		elemento = elementos[i].split('=');
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", elemento[0]);
        hiddenField.setAttribute("value", elemento[1]);
        form.appendChild(hiddenField);
    }

    if ($('carrinho_campanha_opcao_pagamento_info_cb')){
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "checkbox");
        hiddenField.setAttribute("name", 'carrinho_campanha_opcao_pagamento_info_cb');
        if ($F('carrinho_campanha_opcao_pagamento_info_cb')){
        	hiddenField.checked = true;
        }
        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);
    form.submit();
}

/**
* valida dados para o servidor REDEUNICRE
*/
function validarPagamento(path) {
	finalizarCompra(path,"POST");
}

var ultimototal = 0.00;
var gogogocash;

function gocash(){
	new Effect.CashRegister('totalcash',ultimototal);
}

/**
*	Verifica se a morada de entrega foi preenchida
*/
function checkMoradaEntrega(lang){
	var url = '/'+lang+'/loja/checkMoradaEntrega';
	var pars = '';
	var myAjax = new Ajax.Request(url, {
					method: 'post',
					onSuccess: function(transport) {
						 var result = transport.responseText;
						 if(result==1){
							$('carrinho_seleccionar_opcoes').style.display = 'none';
							window.location = '/'+lang+'/loja/carrinho_step_two';
						 } else {
							$('carrinho_seleccionar_opcoes').style.display = '';
						 }
					 },
					 parameters: pars
				  }
			   );
}

var parahidearr2 = new Array();
var intervalo2;

/**
 * Adiciona um produto ao carrinho de compras
*/
function adicionarProduto(url, produto_id, qtd) {
    var pars = 'quantidade=' + qtd;
    $('add_response_qtd_'+produto_id).style.display = 'none';
    var myAjax = new Ajax.Updater('add_response_qtd_' + produto_id,
                                  url,
                                  {
									method: 'get',
									onComplete: function(transport) {
    									Effect.BlindDown('add_response_qtd_'+produto_id);
										if(!intervalo2){
											intervalo2 = setInterval('hidemeodireito()',3000);
											gogogocash = 1;
										}
										parahidearr2[parahidearr2.length] = 'add_response_qtd_'+produto_id;
										return false;
									},
									parameters: pars
                                  }
                                  );
}

function hidemeodireito(){
	if(parahidearr2.length){
		Effect.BlindUp(parahidearr2[0]);
		parahidearr2.splice(0,1);
		//console.log(parahidearr);
	} else {
		clearInterval(intervalo2);
		intervalo2 = 0;
		//console.log('clear');
	}
	//console.log(intervalo);
}

/**
 * Adiciona um produto ao carrinho de compras
*/
function adicionarProdutoNoAjax(url, produto_id, qtd) {
    var pars = '/quantidade/' + qtd;
 	window.location= url + pars;                              
}

/**
 * Actualiza o valor total do carrinho de compras
*/
function actualizarMiniCarrinho(url, param) {
    var pars = 'ajax=' + param;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater('carrinho_total',
                                  url,
                                  {
                                      method: 'get',
									  onComplete: function(transport) {
    										/*
											if($('carrinho_total')){
												if(gogogocash){
													if($('ultimototal'))
														ultimototal = $('ultimototal').value;
													setTimeout('gocash()',1000);
													gogogocash = 0;
												}
											}
											*/
									  },
                                      parameters: pars
                                  }
                                  );
}

/**
 * Actualiza a quantidade do carrinho de compras
*/
function actualizarMiniCarrinhoQtd(url, param) {
    var pars = 'ajax=' + param;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater('carrinho_total',
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Remove um determinado produto do carrinho de compras
 * para o passo 1.
*/
function removerProduto(url, produto_id) {
    var pars  = 'produto_id=' + produto_id;
    var myDiv = 'carrinho_item_' + produto_id;

    var myAjax = new Ajax.Request(url, {
											method: 'get',
											onSuccess: function(transport) {
												Element.remove(myDiv);
												if ($$('#tab_loja tr').length == 1){
													//setTimeout(window.location.reload( true ), 600);
												}
											}
										});
}

/**
 * Esta funcao valida a quantidade inserida no passo 1
 * do carrinho de compras
*/
function validaQuantidade(id, url, produto_id) {
    var re = new RegExp("^[1-9][0-9]*$");
    var m  = re.exec($(id).value);
    
    if (m == null) {
        $(id).value = '1';
        actualizaSubTotalCarrinho(url, produto_id, $(id).value);
        return true;
    } else {
        actualizaSubTotalCarrinho(url, produto_id, $(id).value);
        return true;
    }
}

/**
 * Funcao que actualiza o total da encomenda
 * para o passo 1
*/
function actualizaTotal(url) {
    var myDiv = 'total_right';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get'
                                  }
                                  );
}

function actualizaTotalIva(url) {
    var myDiv = 'iva_total_right';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get'
                                  }
                                  );
}

/**
 * Actualiza o valor do subtotal da linha da encomenda
 * que eh calculado pela multiplicacao da (qtd * valor_unitario)
*/
function actualizaSubTotalCarrinho(url, produto_id, qtd) {
    var pars  = 'quantidade=' + qtd;
    var myDiv = 'carrinho_sub_total_' + produto_id;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Actualiza o valor do total da taxa iva da encomenda
 */
function actualizaTotalIvaCarrinho(url, iva_tx) {
    var pars  = 'iva_tx=' + iva_tx;
    var myDiv = 'total_right_' + iva_tx;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Efectua o login do utilizador.
*/
function doLoginAjax(url, username, password) {
    var pars  = 'username=' + username + '&password=' + password;
    var myDiv = 'carrinho_forms';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Efectua o registo do utilizador
*/
function doRegistoAjax(url, nome, email, username, password) {
    var pars  = 'nome=' + nome + '&email=' + email + '&username=' + username + '&password=' + password;
    var myDiv = 'carrinho_forms';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Verifica se o username ja existe na base de dados
*/
function checkUserAjax(url, username) {
    var pars  = 'username=' + username;
    var myDiv = 'carrinho_registo_username_resposta';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Valida o e-mail introduzido pelo utilizador
*/
function carrinhoValidaEmail(email) {
    var re = new RegExp("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,3}$");
    var m = re.exec(email);
    
    if (m == null) {
        $('carrinho_registo_email_resposta').innerHTML = JS_MSG_LANG['loja'][0];
        //'<img src="' + baseUrl + '/media/images/icon_false.gif" border="0" />&nbsp;O e-mail fornecido n&atilde;o &eacute; v&aacute;lido.';
        return false;
    } else {
        $('carrinho_registo_email_resposta').innerHTML = JS_MSG_LANG['loja'][1];
        //'<img src="' + baseUrl + '/media/images/icon_true.gif" border="0" />&nbsp;O e-mail fornecido &eacute; v&aacute;lido.';
        return true;
    }
}

function abrirProximoPasso(url) {
    var pars  = 'pars=1';
    var myDiv = 'carrinho_go_on';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(myDiv,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Mostra os formulario para alteracao das moradas do utilizador
*/
function showFormAddresses(div, url) {
    var pars = 'param=1';
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(div,
                                  url,
                                  {
                                      method: 'get',
                                      parameters: pars
                                  }
                                  );
}

/**
 * Grava as alteracoes na base de dados
*/
function setAddresses(lang,div, url, numcontribuinte, morada, codigo, localidade, pais) {
    var pars = 'morada=' + morada + '&codigo=' + codigo + '&localidade=' + localidade + '&pais=' + pais + '&numcontribuinte=' + numcontribuinte;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(div,
                                  url,
                                  {
                                      method: 'get',
                                      onComplete: function(transport) {
                                      	showFormAddresses('carrinho_user_information','/'+lang+'/loja/utilizadorDados');
    								  },
                                      parameters: pars
                                  }
                                  );
    
}

function setOpcao(url, opcao) {
    var pars  = 'opcao=' + opcao;
    //console.log(url + ' ' + opcao);
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Request(url, {
                                  method: 'get',
                                  parameters: pars
                                  });
}

function setOpcaoQuantidade(url, opcao, quantidade) {
    var pars  = 'opcao=' + opcao + '&quantidade=' + quantidade;
    
    for (i = 0; i < 30000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Request(url, {
                                  method: 'get',
                                  parameters: pars
                                  });
}

function verificaValoresDasOpcoes() {
    
    if (($('carrinho_opcao_pagamento').value == '') && ($('carrinho_tipo_transporte').value == '')) {
        $('carrinho_seleccionar_opcoes').innerHTML = JS_MSG_LANG['loja'][2];
        $('carrinho_seleccionar_opcoes').style.display = '';
        //'<img src="' + baseUrl + '/media/images/icon_false.gif" border="0" />&nbsp;Por favor, seleccione as op&ccedil;&otilde;es acima.';
        return false;
    } else if ($('carrinho_opcao_pagamento').value == '') {
        $('carrinho_seleccionar_opcoes').innerHTML = JS_MSG_LANG['loja'][3];
        $('carrinho_seleccionar_opcoes').style.display = '';
        //'<img src="' + baseUrl + '/media/images/icon_false.gif" border="0" />&nbsp;Por favor, seleccione a op&ccedil;&atilde;o de pagamento.';
        return false;
    } else if ($('carrinho_tipo_transporte').value == '') {
        $('carrinho_seleccionar_opcoes').innerHTML = JS_MSG_LANG['loja'][4];
        $('carrinho_seleccionar_opcoes').style.display = '';
        //'<img src="' + baseUrl + '/media/images/icon_false.gif" border="0" />&nbsp;Por favor, seleccione o tipo de transporte.';
        return false;
    }
    
    return true;
}

function get_alfandega(lang) {
    var pars = 'pars=1';
    var myAjax = new Ajax.Updater('taxa_alfandega_right',
                                  '/'+lang+'/loja/getTaxaAldanfega/',
                                  {
                                      method: 'get',
                                      onComplete: function(transport) {
    										var result = transport.responseText;
    										if(result=='0'){
    											$('taxa_alfandega').style.display = 'none';
    										} else {
    											$('taxa_alfandega').style.display = '';
    										}
    									},
                                  		
                                      parameters: pars
                                  }
                                  );
}

function changeTaxValue(lang, url, div) {
    var pars = 'pars=1';
    
    for (i = 0; i < 80000; i++) {} // funcao bolha
    
    var myAjax = new Ajax.Updater(div,
                                  url,
                                  {
                                      method: 'get',
                                      onComplete: function(transport) {
    									get_alfandega(lang);
    								  },
                                      parameters: pars
                                  }
                                  );
}

