var carrinho = function(){
	var obj = arguments[0] || {}
	for (var k in obj) this[k] = obj[k];
}



carrinho.prototype = {
	'name': '',
	'itens': [],
	'interval': null,
	'ajaxObj': {},
	'clearTimeout': function(){
		try{ clearTimeout(this.interval); }catch(e){}
	},
	'push': function(obj){
		this.clearTimeout();
		
		if(obj.value == "" || obj.value == 0){
			obj.value = 1;	
		}
		
		this.onPush();
		
		this.itens.push(obj);
		
		this.interval = setTimeout(this.name+'.onTimeOut();', 300);	
	},
	'onTimeOut': function(){
		this.clearTimeout();
		
		var strProd = "", strQtd = "", strId = "";
		
		for(var i = 0; i < this.itens.length; i++){
			strProd += this.itens[i].name+"|";
			strQtd += this.itens[i].value+"|";
			strId += this.itens[i].id+"|";
		}
		
		strProd = strProd.substr(0,(strProd.length-1));
		strQtd = strQtd.substr(0,(strQtd.length-1));
		strId = strId.substr(0,(strId.length-1));

		var thisObj = this;
		var ajaxCarrinhoQtd = new ajax({
			'method': 'GET',
			'url': '/carrinho/atualizarQtdProduto/',
			'oncomplete': function() {
				thisObj.ajaxObj = this;
				thisObj.onComplete();
				delete ajaxCarrinhoQtd;
			}
		});
		
		ajaxCarrinhoQtd.push('acao', 'trocar');
		ajaxCarrinhoQtd.push('strProd', strProd);
		ajaxCarrinhoQtd.push('strQtd', strQtd);
		ajaxCarrinhoQtd.push('strId', strId);
		ajaxCarrinhoQtd.open();		
		
	},
	'onPush': function() {},
	'onComplete': function() {}
}

function calcularFrete(){
	var cep = $('cep1').value+""+$('cep2').value;
	if(cep.length < 8){
		$('cepError').innerHTML = 'Digite um cep v&aacute;lido';
		$('cep1').focus();
		return;
	}
	
	$('cepError').innerHTML = '';
	$('valorFrete').innerHTML = 'Carregando...';
	
	var ajaxCalcularFrete = new ajax({
		'method': 'GET',
		'url': '/carrinho/calcularFrete/',
		'oncomplete': function() {
			
			this.setChildName('frete');
			if(this.getAttByName('codigo',0) == '0'){
				$('valorFrete').innerHTML = '<b>Valor do Frete:<br /><span style="color:#c25009;">R$ '+this.getAttByName('valor',0)+'</span></b>';
				$('valorTotal').innerHTML = this.getAttByName('total',0);
				$('cepError').innerHTML = '';
			}else{
				if(this.getAttByName('codigo',0) == '-3'){
					$('cepError').innerHTML = 'CEP de destino inv&aacute;lido';
					$('valorFrete').innerHTML = '';
				}else if(this.getAttByName('codigo',0) == '996'){
					$('cepError').innerHTML = 'Servi&ccedil;o indispon&iacute;vel para o CEP informado';
					$('valorFrete').innerHTML = '';
				}
			}
			
			delete ajaxCalcularFrete;
		}
	});
	ajaxCalcularFrete.push('cep1', $('cep1').value);
	ajaxCalcularFrete.push('cep2', $('cep2').value);
	ajaxCalcularFrete.open();
}

var CARRINHO = new carrinho({
	'name': 'CARRINHO',
	'onPush': function(){},
	'onComplete': function(){
		window.location.reload();
		
		/*this.ajaxObj.setChildName('produto');
		for(var p = 0; p < this.ajaxObj.getCountItens(); p++){
			$(this.ajaxObj.getAttByName('id',p)+'valUnit').innerHTML = this.ajaxObj.getAttByName('valorUnit',p);
			$(this.ajaxObj.getAttByName('id',p)+'valTotal').innerHTML = this.ajaxObj.getAttByName('subTotal',p);
		}
		
		this.ajaxObj.setChildName('status');
		if(this.ajaxObj.getAttByName('frete',0) != ""){
			$('valorFrete').innerHTML = "R$ "+this.ajaxObj.getAttByName('frete',0);
		}
		
		$('valor').innerHTML = this.ajaxObj.getAttByName('subTotalInteiro',0)+",";
		$('decimal').innerHTML = this.ajaxObj.getAttByName('subTotalDecimal',0);*/
		
		/*
		//this.setChildName('frete');
		//$('valorFrete').innerHTML = "R$ "+this.getAttByName('valor',0)
		
		$('loading').style.display = "none";	
		$('btComprar').style.display = "block";
	
		$('btAtualizar').style.display = "none";
		$('btAtualizarFake').style.display = "block";
		*/
	}	
});

window.onload = function(e){
	var cont = 0;
	while($('qtd'+cont) != null){
		setSomenteNum('qtd'+cont,'onkeydown');
		cont++;
	}
	
	try{
		setSomenteNum('cep1','onkeydown');
		setSomenteNum('cep2','onkeydown');
		setFocusTo('cep1','onkeyup',5,'cep2');
	}catch(e){}
}
window.onstopscroll = function(){}