// JavaScript Document
// Felipe Gregorio - fgregorio@gmail.com

var is_ie 	  = navigator.appName.toLowerCase().indexOf('explorer') != - 1 ;				
var site_nome = 'Red Fax' ;
var site_url  = 'http://www.redfax.com.br' ;
function popup(p_url, p_largura, p_altura, extra){
	x = window.open(p_url,'p' + new Date().getSeconds(),'width='+p_largura+',height='+p_altura + ( extra ? ',' + extra : '' ) + ',resizable=no,scrollbars=1') ;
	try { x.focus() ; }
	catch(e) { 
		alert('por favor, desabilite o bloqueador de pop-ups para visualizar esta janela')  ;
	}
}

function link(url){
	top.location = url ;
}
function div_preenche(div_id,html_conteudo){
	document.getElementById(div_id).innerHTML = 'carregando...' ;
	document.getElementById(div_id).innerHTML = html_conteudo ;
}
function carrinho_add(form_obj){
	if ( ! ( form_obj.elements.qtd.value + 0 ) >= 1 ) {
		alert('informe uma quantidade') ;
		elements.qtd.focus();
	}
	else if ( form_obj.elements.qtd.value < form_obj.elements.qtd_minima.value ){
		alert('quantidade mínima para esta peça = ' + form_obj.elements.qtd_minima.value ) ;	
	} 
	else 
		return true ;	
	return false ;
}
function carrinho_muda_qtd(input_obj, item_indice ){	
	if ( ! ( input_obj.value + 0 ) >= 1 ) {
		alert('informe uma quantidade') ;
		input_obj.qtd.focus();
	}
	else {
		var form_obj = input_obj.form ;
		form_obj.acao.value 	= 'altera' ;
		form_obj.indice.value	= item_indice ;
		form_obj.qtd.value		= input_obj.value ;
		form_obj.submit() ;
	}
}
function carrinho_remove(input_obj, item_indice ){	
	var form_obj = input_obj.form ;
	form_obj.acao.value 	= 'remove' ;
	form_obj.indice.value	= item_indice ;
	form_obj.submit() ;
}
function favoritos_add(){
	document.all ? window.external.AddFavorite(site_url,site_nome) : sidebar.addPanel(site_nome, site_url, '');
}
function popup(p_url,p_largura,p_altura,extra){
	x = window.open(p_url,'p' + new Date().getSeconds(),'width='+p_largura+',height='+p_altura + ( extra ? ',' + extra : '' ) + ',resizable=yes,scrollbars=1') ;
	try { x.focus() ; }
	catch(e) { 
		alert('por favor, desabilite o bloqueador de pop-ups para visualizar esta janela')  ;
	}
}
function indique(id){
	if ( id ){
		_height = 460 ;
	}
	else {
		_height = 400 ;
	}
	popup( 'indique.php?item_id=' + id, 480, _height ) ;
}
function boleto_abre(pedido_id){
	popup( 'boleto/display.php?pedido_id=' + pedido_id, 700, 500 ) ;
}
function montagem_pop(montagem_html){
	popup( montagem_html, 784, 400 ) ;
}
function _montagem_pop(montagem_id){
	popup( 'item-montagem.php?montagem_id='+montagem_id, 500, 400 ) ;
}
function show_hide(obj_id){
	document.getElementById(obj_id).style.display = document.getElementById(obj_id).style.display == 'none' ? 'block' : 'none' ;
}
function apenas_numeros(obj){
	obj.value = obj.value.replace( /[a-z- ._]/ig , '' ) ;
}
function next_object(quantos_bytes,obj_atual,obj_next){
	if ( parseInt(obj_atual.value.length) == quantos_bytes ){
		obj_next.focus();		
	}
}
function get_form_elements_2_url(obj_form){
	var retorno = [] ;	
	var p = ['input', 'select', 'textarea'] ;
	
	for ( var i = 0; i < p.length ; i ++ ){
		for ( var x = 0, a = obj_form.getElementsByTagName(p[i]),m = obj_form.getElementsByTagName(p[i]).length ; x < m ; x ++ ){			
			var element  = a[x] 	;
			var tagName = p[i];
			if ( element.disabled == false && ! element.readonly ){
				if ( tagName == 'input' ){
					var type = element.getAttribute('type').toLowerCase() ;
					if ( ( type == 'checkbox' || type == 'radio') && element.checked  ){
						retorno[retorno.length] = element.getAttribute('name') + '=' + escape(element.value);
					}
					else if ( type == 'text' || type == 'password' || type == 'hidden' ){
						retorno[retorno.length] = element.getAttribute('name') + '=' + escape(element.value);
					}
				}
				else {
					retorno[retorno.length] = element.getAttribute('name') + '=' + escape(element.value);
				}
			}
		}
	}
	return retorno.join('&');
}
/*
COMECA VALIDACOES DE CADASTRO
*/

function indique_valida(form_obj){
	with ( form_obj ){
		if ( elements.usuario_nome.value == ""  ){
			alert('digite seu nome') ;
		}
		else if ( ! elements.usuario_email.value.isEmail() ){
			alert('digite seu email corretamente');
		}
		else if ( elements.amigo_nome.value == "" ){
			alert('digite o nome do seu amigo');
		}
		else if ( ! elements.amigo_email.value.isEmail() ){
			alert('digite o email do seu amigo corretamente');
		}
		else {
			return true ;
		}
		return false ;
	}
}
function cadastro_valida(form_obj){
	quais_erros = '' ;	
	with (form_obj){
		if ( ! elements.email.value.isEmail() ) {
			quais_erros += '<p>e-mail inválido</p>' ;
		}
		if ( elements.senha.value == '' ){
			quais_erros += '<p>senha em branco</p>' ;
		}
		if ( elements.senha1.value.length < 6 ){
			quais_erros += '<p>sua senha deve ter no mínimo 6 caracteres</p>' ;
		}
		if ( elements.senha.value != elements.senha1.value ){
			quais_erros += '<p>a senha e a confirmação não conferem</p>' ;
		}
		if ( elements.tel1_ddd.value == '' ){
			quais_erros += '<p>ddd em branco</p>' ;
		}
		if ( elements.tel1_telefone.value == '' ){
			quais_erros += '<p>telefone em branco</p>' ;
		}		
			
				
		
		if ( elements.tipo_pessoa[0].checked ){
			elements.nome.value = elements.responsavel.value ;
			elements.cnpj_cpf.value = elements.cnpj.value ;
			if ( elements.empresa.value == '' ){
				quais_erros += '<p>preencha a razão social</p>' ;
			}	
			if ( ! elements.cnpj.value.isCNPJ() ){
				quais_erros += '<p>CNPJ inválido</p>' ;
			}
		
			if ( elements.inscricao_estadual.value == '' ){
			quais_erros += '<p>inscrição estadual em braco (no caso de isento digite isento)</p>' ;
		}
			if ( elements.responsavel.value == '' ){
				quais_erros += '<p>preencha o nome do responsável</p>' ;
			}	
		}
		else if ( elements.tipo_pessoa[1].checked ){
			elements.nome.value = elements.nome_completo.value ;
			elements.cnpj_cpf.value = elements.cpf.value ;
			if ( elements.nome_completo.value == '' ){
				quais_erros += '<p>preencha seu nome completo</p>' ;
			}	
			if ( ! elements.cpf.value.isCPF() ){
				quais_erros += '<p>CPF inválido</p>' ;
			}	
			if ( ! elements.data_nascimento.value.isData() ){
				quais_erros += '<p>preencha a data de nascimento corretamente</p>' ;
			}				
		}
		else {
			quais_erros += '<p>selecione o tipo de pessoa com que vai se cadastrar (juridica ou fisica)</p>' ;
		}
		if ( elements.cep.value == '' ){
			quais_erros += '<p>preencha seu cep</p>' ;
		}
		if ( elements.endereco.value == '' ){
			quais_erros += '<p>preencha seu endereco</p>' ;			
		}
		if ( elements.numero.value == '' ){
			quais_erros += '<p>preencha o número do seu endereco</p>' ;			
		}
		if ( elements.bairro.value == '' ){
			quais_erros += '<p>preencha seu bairro</p>' ;						
		}
		if ( elements.cidade.value == '' ){
			quais_erros += '<p>preencha sua cidade</p>' ;						
		}
		if ( quais_erros.length > 0 ){
			document.getElementById('cadastro-msg').className = 'erro' ;
			document.getElementById('cadastro-msg').innerHTML = '<p><b>erros encontrados ...</b></p>' + quais_erros ;
			return false ;
		}
		else {	

			elements.fone1.value = elements.tel1_ddd.value + ' ' + elements.tel1_telefone.value + ' ' + elements.tel1_ramal.value ; 
			elements.fone2.value = elements.tel2_ddd.value + ' ' + elements.tel2_telefone.value + ' ' + elements.tel2_ramal.value ;
			elements.fone3.value = elements.tel3_ddd.value + ' ' + elements.tel3_telefone.value ;

			return true ;
		}
	}	
	return false ;
}

function frete_calcula_valida(form_obj){
	if ( form_obj.elements.cep_calcular.value == '' ){
		alert('Digite o cep');
		form_obj.elements.cep_calcular.focus();
	}
	else if ( ! form_obj.elements.cep_calcular.value.length == 8 ){
		alert('Digite o cep com 8 posicoes') ;
		form_obj.elements.cep_calcular.focus();
	}
	else if ( form_obj.elements.cep_calcular.value == '00000000' ){
    alert('Digite seu cep corretamente') ;
		form_obj.elements.cep_calcular.focus();
  }
	else {
		return true ;
	}
	
	return false;
}

function contato_valida(form_obj){
	with ( form_obj ){
		if ( elements.nome.value == '' ) {
			alert('digite seu nome corretamente') ;
			elements.nome.focus() ;
		}
		else if ( ! elements.email.value.isEmail() ){
			alert('digite seu e-mail corretamente');
			elements.email.focus() ;
		}
		else if ( elements.ddd.value == '' ){
			alert('digite seu ddd corretamente');
			elements.ddd.focus() ;
		}
		else if ( elements.telefone.value == '' ){
			alert('digite seu telefone corretamente');
			elements.telefone.focus() ;
		}
		else if ( elements.mensagem.value == '' ){
			alert('digite sua mensagem') ;
		}
		else {
			return true ;
		} 
		return false ;
	}
}
function indique_site_valida(obj_form){
	with ( obj_form ){			
		if ( obj_form.elements.usuario_nome == "" ){
			alert('digite seu nome') ; 
			obj_form.elements.usuario_nome.focus() ;
		} 
		else if ( ! obj_form.elements.usuario_email.isEmail() ){
			alert('digite seu e-mail corretamente') ;
			obj_form.elements.usuario_email.focus();
		}
		else if ( obj_form.elements.amigo_nome == "" ){
			alert('digite o nome do seu amigo')	 ;
			obj_form.elements.amigo_nome.focus();
		}
		else if ( ! obj_form.elements.amigo_email.isEmail() ){
			alert('digite o e-mail do seu amigo corretamente')	 ;
			obj_form.elements.amigo_nome.focus();
		}
		else {
			return true ;	
		}
		return false ;
	}		
}
/*
TERMINA VALIDACOES DE CADASTRO
*/

/*
COMECA FUNCOES DO MENU
*/

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft ;
		curtop = obj.offsetTop ;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function init(){
	a = document.getElementById('menu-produtos-geral');
	if ( a ){
		b = a.childNodes ;
		for ( var i = 0, c = b.length ; i < c ; i ++ ){	
			if ( b[i].tagName == 'LI' ){
				d = b[i].childNodes[ e = 0 ] ;
				while ( d.tagName && d.tagName != 'UL'  ){
							d = b[i].childNodes[ ++ e ] ;
					}
				if(d.style){
					t = findPos(b[i]) ;
					d.style.left = new String(t[0] ) + 'px';
					d.style.top  = new String(t[1] + 14)  + 'px';
					b[i].onmouseover = function(){ this.className+=" over"; }
					b[i].onmouseout  = function(){ this.className = this.className.replace(" over", "") }	
				}
			}	
		}
	}
	window.onresize = init ;
}

/*
TERMINA FUNCOES DO MENU
*/


/*
**************************************
* String.isCPF Function v1.0         *
* Autor: Carlos R. L. Rodrigues      *
* BEGIN 							 *
**************************************
*/
String.prototype.isCPF = function(){
	var c = this;
	if((c = c.replace(/[^\d]/g,"").split("")).length != 11) return false;
	if(new RegExp("^" + c[0] + "{11}$").test(c.join(""))) return false;
	for(var s = 10, n = 0, i = 0; s >= 2; n += c[i++] * s--);
	if(c[9] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
	for(var s = 11, n = 0, i = 0; s >= 2; n += c[i++] * s--);
	if(c[10] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
	return true;
};

String.prototype.isCNPJ = function(){
	var b = [6,5,4,3,2,9,8,7,6,5,4,3,2], c = this;
	if((c = c.replace(/[^\d]/g,"").split("")).length != 14) return false;
	for(var i = 0, n = 0; i < 12; n += c[i] * b[++i]);
	if(c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
	for(var i = 0, n = 0; i <= 12; n += c[i] * b[i++]);
	if(c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
	return true;
};

function set_cor(_cor_id){
	obj_combo = document.getElementById('cor_id') ;
	for ( var i = 0 ; i < obj_combo.options.length ; i ++ ){
		if ( obj_combo.options[i].value == _cor_id ){
			obj_combo.options[i].selected = true ;
		}	
	}	
}

/*
PROTOTYPES ...
*/

String.prototype.isEmail = function(){
	return new RegExp(/.@./ig).test(this) ;
};

String.prototype.isData = function(){
	return true ;
};

function Evento_Add(obj, evType, fn){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, true)
    }    
    if (obj.attachEvent){
        obj.attachEvent("on"+evType, fn)
    }
}

