// JavaScript Document
var tempoAviso;
var expRegNome = /^[^\s\d].{2,}$/;
var expRegDDD = /^0*[1-9]{2}$/;
var expRegTelefone = /^\d{3,4}[\-|\s|\.]{0,1}[\d]{4}$/;
var expRegEmail = /^(([^<>()[\]\\.,;:\s@""]+(\.[^<>()[\]\\.,;:\s@""]+)*)|("".+""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
var expRegQtd = /^\d+$/;
var expRegData = /(0?[1-9]|[12][0-9]|3[01])\/(0?[1-9]|1[012])\/[12][0-9]{3}/;
var separadorProdutos = ".";

window.onload = function(){
	document.formContato.hidden_lista_produtos.value = "";
	var obj_index = document.getElementById("categoria_produtos").selectedIndex;
	if(obj_index > -1){
		document.getElementById("categoria_produtos")[obj_index].selected = "";
	}
	document.getElementById("tipo_produto_desejado1").checked = "";
	document.getElementById("tipo_produto_desejado2").checked = "";
	document.getElementById("tipo_produto_personalizado_0").checked = "";
	document.getElementById("tipo_produto_personalizado_1").checked = "";
	document.getElementById("tipo_produto_personalizado_2").checked = "";
	document.getElementById("produto_selecionado").value = "";
	document.getElementById("qtd_produto_selecionado").value = "";
}


var vetProdutos = new Array(
[
//Cadeiras Audit\363rio 
 ["AU001","AU002","Columbia Friso","Blenda com Prancha","Executivo com Prancha sem Bra\347o 2","Op\347\343o 06"]
],
//Cadeiras
[
	["Secret\341ria Executiva","CAE001","CAE002","CAE003","CAE004","CAE005"],
	["Secret\341ria Fixa","CAF001","CAF002","CAF003","CAF004","CAF005","CAF006","CAF007","CADF009","CADF010"],
	["Secret\341ria Girat\363ria","CAE001"],
	["Universit\341ria","UN001","UN002","UN003","UN004","UN005","UN006","UN007","UN008","UND001"],
	["Longarinas","LOG001","LOG002","LOG003","LOG004","LOG005","LOG006","LOG007","LOG008"]
],

//Poltronas
[
	["Luxo","POL001","POL002","POL003","POL004","POL005","POL006","POL007","POL008"],
	["Fixa","POFD001","POFD002","POFD003","POFD004","POFD005","POFD006"],
	["Girat\363ria","PODG001","PODG002","PODG003","PODG004","POPG001","POPG002","POPG003","POPG004","POPG005"]
],

//Sofas
[
 	["SO001","SO002","SO003","SO004"]
],

//Mesas Delta
[
 	["DELA001","DELA002","DELA003","DELA004","DELA005","DELA006","DELA007","DELA008"]
],

//Mesas Retas
[
	["COMP001","COMP002","COMP003","COMP004","COMP005","COMP006","COMP007","COMP008","COMP009","MES001","Mesa Reta Padr\343o"]
],

//Mesas de reuni\343o
[
 	["Mesa Trig. Nobile","Mesa Modular Nobile","Treinamento Trap\351zio","Mesa Semi Oval","Mesa Reta - 01","Mesa Reta - 02","Mesa Redonda Triplex","Mesa Quadrada","Mesa Oval Triplex","Mesa Oval Genius - 01","Mesa Oval Genius - 01"]
],

//Esta\347\343o de Trabalho - Biombo
[
 	["BIM001","BIM002","BIM003","BIM004","EST001","EST002","EST003","EST004","EST005","EST006","EST007","EST008","EST009","EST010"]
],

//Esta\347\343o de Trabalho - Pain\351is 
[
 	["ESTB001","ESTB002","ESTB003","ESTB004","ESTB005","ESTB006","ESTB007","ESTB008","ESTB009","ESTB010"]
],

//Mobili\341rio Diretoria
[
 	["Delta Executiva - 01","Delta Executiva - 02","Delta Executiva - 03","Delta Executiva - 04","Mesa Executiva - 01","Mesa Executiva - 02","Mesa Executiva - 03","Executivo Nobile - 01","Executivo Nobile - 02","Executivo Formatta","Executivo Romanzza"]
],

//Mobili\341rio Recep\347/343o
[
 	["BAL001","BAL002","BAL003","BAL004","BAL005","BAL006","BAL007"]
],

//Arm\341rio
[
 	["AR001","AR002","AR003","AR004","AR005","AR006","AR007","AR008","AR009"]
],

//Arquivo em a\347o
[
 	["ARQ001", "ARQ002", "ARQ003","ARQ004","ARQ005","ARQ006","Carrinho Para PS"]
],

//Arm\341rio em a\347o
[
	["Arm\341rio A\347o - 001", "Arm\341rio A\347o - 002", "Arm\341rio A\347o - 003","Arm\341rio A\347o - 004","Arm\341rio Caixa Postal","Arm\341rio Mapoteca","Arm\341rio Pasta A/Z - 01","Arm\341rio Pasta A/Z - 02"]
],

//Cofre em a\347o
[
	["COF001","COF002","COF003","COF004","COF005","COF006"]
],

//Estantes em a\347o
[
	["Estante BIB001","Estante BIB002","Estante BIB003","Estante BIB004","Estante BIB005","Estante REF001","Estante ESP001"]
],

//Roupeiros em a\347o
[
	["ROP001","ROP002","ROP003","ROP004","ROP005","ROP006","ROP007","ROP008","ROP009","ROP010","ROP011","ROP012","ROP013","ROP014","ROP015"]
],

//Mobili\341rio Escolar
[
	["CADE003","CADE004","CADE005","CADE006","CADE007","CADE008","CADE009","CADE010","CADE011","CADE012","CADE013","CADE014","Mesa Trap\351zio"]
],

[
	["Quadro - 01","Retroprojetor - 01","Retroprojetor - 02","Roupeiro"]
],

//Mobili\341rio Telemarketing
[
	["CALL001","CALL002","CALL003","CALL004","CALL005","CALL006"]
],	

[
	["Apoio Ergon\364mico","Apoio para os P\351s","Gaveta para PS","Suporte CPU H","Suporte CPU H","Suporte CPU Inclinado","Suporte Monitor","Suporte Monitor MDF","Suporte CPU Skate","Teclado Retr\341til","Teclado Retr\341til Light"]
],

//Acess\363rios
[
 	["GAVV001","GAVV002","GAVV003","GAVV004","GAVV005","GAVV006","GAVF001", "GAVJ001"]
],

[	
	["Caixa de Corresp.","Caixa de Corresp. Simples","Calculadora 46TS", "Calculadora 50TS", "Calculadora 201TS", "Calculadora 302TS", "Cesto Para Lixo", "Cinzeiro Alto", "Clavicul\341rio", "Contador de C\351dulas", "Fragmentadora 525", "Fragmentadora 1502X", "Gaveta MG 200CS", "Encaderna\347\343o", "Guilhotina de Papel", "Niqueleira", "Plastificadora PLM23", "Porta Moedas", "Refiladora de Papel", "Refis Platificadora", "Retroprojetor - 01", "Retroprojetor - 02"]
],

[
	["Rack MV50", "Rack MV70", "Rack MV100", "Rack MV150", "Mesa para CPD", "Mesa para Impressora", "Rack para CPD", "Mesa de Canto"]	
],

//Espa\347o Arquiteto
[
 	["Barcelona - 149","Cabide - 156","Cadeira BRNO-148","Cadeira BRNO-151","Cadeira Esterinha - 779","Cadeira Harry - 158","Cadeira Panton","Cadeira Style - 185", "Cadeira Trevo - 607", "Carrinho - 679","Eero Saarinen - 729","Estante - 460","Le Corbusier - 878","Mesa Centro - 1560","Mesa Cl\341ssica - 869","Mesa Eillen Gray - 114","Mesa Notebook","Poltrona - 722","Poltrona - 1109","Poltrona EGG - 556","Poltrona G\364ndola - 608","Poltrona Swan - 117"]
],
//Mobili\341rios Italianos
[
  	["Call Center","Perlavoro 1","Perlavoro 2","Perlavoro 3","Perlavoro 4","Perlavoro 5","Perlavoro 6","Perlavoro 8","Perlavoro 9","Perlavoro 11","Perlavoro 12","Perlavoro 13"]
]

);

//String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function validaFormulario(formulario){
	var ok = true;
	var objNome = formulario.nome;
	var objDDD = formulario.ddd_telefone;
	var objTelefone = formulario.telefone;
	var objEmail = formulario.email;
	var objCidade = formulario.cidade;
	var objUF = formulario.uf;
	var objPrazo = formulario.prazo_entrega;
	
	if(validaCampo(objNome, expRegNome) == false) ok = false;
	if(validaCampo(objDDD, expRegDDD) == false) ok = false;
	if(validaCampo(objTelefone, expRegTelefone) == false) ok = false;
	if(validaCampo(objEmail, expRegEmail) == false) ok = false;
	if(validaCampo(objEmail, expRegEmail) == false) ok = false;
	if(validaCombo(objUF) == false) ok = false;
	if(validaCampo(objCidade, expRegNome) == false) ok = false;
	
	if(validaPrazo(objPrazo) == false) ok = false;
	
	if(formulario.tipo_produto_desejado1.checked){
		if(formulario.hidden_lista_produtos.value.length <= 0){
			alert("Adicione pelo menos um produto a sua \"Lista de Produtos\"!");
			ok = false
		}
	}else if(formulario.tipo_produto_desejado2.checked){
		var prod_pers0 = formulario.tipo_produto_personalizado_0.checked
		var prod_pers1 = formulario.tipo_produto_personalizado_1.checked
		var prod_pers2 = formulario.tipo_produto_personalizado_2.checked
		if(!prod_pers0 && !prod_pers1 && !prod_pers2){
			alert("Selecione entre \"Cadeira\", \"Mesa\" ou \"Outro\" para seu produto personalizado!");
			ok = false
		}
	}
	else{
		alert("Selecione um tipo de Produto!");
		ok = false
	}
	
	if(ok){
		mostraAviso(true);
		formulario.action = "scripts/redir_orcamento.asp"
		formulario.submit();
	}else{
		mostraAviso(false);
	}
}

function validaCampo(objeto, expReg){
	if(!expReg.test(objeto.value)){
		objeto.onclick = function(){limparCampo(objeto)};
		objeto.className = "erro";
		return false;		
	}else{
		objeto.onclick = "";
		objeto.className = "";
		return true;
	}
}

function validaCombo(objeto){
	if(objeto.value == 0){
		objeto.onclick = function(){limparCampo(objeto)};
		objeto.className = "erro";
		return false;		
	}else{
		objeto.onclick = "";
		objeto.className = "";
		return true;
	}
}

function validaPrazo(objeto){
	if(!expRegData.test(objeto.value)){
		objeto.onclick = function(){limparCampo(objeto)};
		objeto.className = "erro";
		return false;		
	}else{
		var dia = objeto.value.split("/")[0];
		var mes = objeto.value.split("/")[1];
		var ano = objeto.value.split("/")[2];
		var objData = new Date();
		var diaAtual = objData.getDate();
		var mesAtual = objData.getMonth()+1;
		var anoAtual = objData.getFullYear();
		var dataFutura = false;
		var dataValida = false;
		
		if(ano > anoAtual){
			dataFutura = true;
		}
		else if(ano == anoAtual){
			if(mes > mesAtual){
				dataFutura = true;
			}
			else if(mes == mesAtual){
				if(dia >= diaAtual){
					dataFutura = true;
				}
			}
		}
		
		if(dia <= 31 && mes <= 12){
			if(mes == 2){
				if(dia < 29){
					dataValida = true;				
				}
				else{				
					if (dia == 29){
						if((((ano%4) == 0) && ((ano%100) != 0)) ||((ano%400) == 0)){
							dataValida = true;
						}
					}					
				}
			}else{
				if(dia == 31){
					if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){
						dataValida = true;				
					}
				}else{
					dataValida = true;				
				}
			}

		}

		if(dataFutura && dataValida){
			objeto.onclick = "";
			objeto.className = "";
			return true;
		}else{
			
			objeto.onclick = function(){limparCampo(objeto)};
			objeto.className = "erro";
			return false;
		}
	}
}

function mostraAviso(mostrar){
	var status = document.getElementById("aviso").style.visibility;
	var obj = document.getElementById("aviso");
	if(mostrar && status != "hidden"){
		obj.style.visibility = "hidden";
		window.clearTimeout(tempoAviso);
	}
	else if(!mostrar && status != "visible"){
		obj.style.visibility = "visible";	
		tempoAviso = window.setTimeout(function(){mostraAviso(true)}, 3*1000);
	}
}

function limparCampo(obj){
	obj.onclick = "";
	obj.className = "";
}

function defineTipos(objeto, idAlvo){
	var indice = objeto.selectedIndex;
	var objOverTipoProduto = document.getElementById("over_tipo_produto");
	objOverTipoProduto.className = "";
	limparItens(idAlvo);
	limparItens("modelos_produtos");
	if(vetProdutos.length > indice){
		if(vetProdutos[indice].length > 1){
			for(i=0; i < vetProdutos[indice].length; i++){
				insere(idAlvo, vetProdutos[indice][i][0]);
			}
		}else{
			objOverTipoProduto.className = "overlay2";
			insereModelo(vetProdutos[indice][0]);
		}
	}
}

function defineModelos(objeto, idAlvo){
	var indice2 = objeto.selectedIndex;
	var indice = document.getElementById("categoria_produtos").selectedIndex;
	limparItens(idAlvo);
	for(i=1; i < vetProdutos[indice][indice2].length; i++){
		insere("modelos_produtos", vetProdutos[indice][indice2][i]);
	}	
}

function insereModelo(vetModelos){
	limparItens("modelos_produtos");
	for(i=0; i < vetModelos.length; i++){
		insere("modelos_produtos", vetModelos[i]);
	}			
}


function limparItens(idObj){
  var obj = document.getElementById(idObj);
  var indice = obj.length;
  while(indice >= 0){
    obj.remove(indice);
	indice--;
  }
}

function insere(idAlvo, valor){
  var sel = document.getElementById(idAlvo);
  var lugar = sel.length	
//  if (sel.selectedIndex >= +10) {
    var elOptNew = document.createElement('option');
    elOptNew.text = '' + valor;
    elOptNew.value = '' + valor;
	var elOptOld = sel.options[lugar];  
    try {
	   sel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      sel.add(elOptNew, lugar); // IE only
    }
//  }
}

function selecionaProduto(){
	var nomeCategoria = document.getElementById("categoria_produtos").value;
	var nomeTipo = document.getElementById("tipos_produtos").value;
	if(nomeTipo.length >= 1){
		nomeTipo = " "+nomeTipo;
	}
	var nomeProduto = document.getElementById("modelos_produtos").value;
	var objProdutoAtual = document.getElementById("produto_selecionado");
	
	objProdutoAtual.value = ""+ nomeCategoria +""+nomeTipo+" do modelo "+ nomeProduto;
}

function adicionaProduto(){
	var nomeProduto = document.getElementById("produto_selecionado").value;
	var produtoQtd = document.getElementById("qtd_produto_selecionado").value;
	if(nomeProduto.length <= 0){
		alert("Selecione um produto.");
	}
	else if(!expRegQtd.test(produtoQtd) || parseInt(produtoQtd) <= 0){
		alert("Informe corretamente a quantidade de produtos.");
	}
	else{
		if(!verificaProdutoExistente(nomeProduto)){
			var objLista = document.getElementById("lista_produtos");
			var objHiddenLista = document.getElementById("hidden_lista_produtos");
			var objProduto = "<span title='Clique aqui para excluir este produto de sua lista' onclick='excluiProduto(this)'>"+produtoQtd+" "+nomeProduto+""+separadorProdutos+"</span>"
			
			if(objLista.innerHTML == "Lista vazia."){
				objLista.innerHTML = (objProduto);
				objHiddenLista.value = produtoQtd+" "+nomeProduto+",";
			}
			else{
				objLista.innerHTML += (objProduto);
				objHiddenLista.value += produtoQtd+" "+nomeProduto+",";
			}
		}
	}
}

function excluiProduto(obj){
	var objLista = document.getElementById("lista_produtos");
	var objHiddenLista = document.getElementById("hidden_lista_produtos");
	var nomeProdutoExcluir = (obj.innerHTML).replace(separadorProdutos,"")
	var excluir = confirm("Tem certeza que deseja excluir "+nomeProdutoExcluir+"?");
	if(excluir){
		objLista.removeChild(obj)
		var produtosHidden = objHiddenLista.value.split(",");
		var resultadoFinal = "";
		for(i=0; i < produtosHidden.length; i++){
			if(produtosHidden[i].indexOf(nomeProdutoExcluir) < 0){
				if(produtosHidden[i].length > 0){
					resultadoFinal += produtosHidden[i]+",";
				}
			}
		}
		objHiddenLista.value = resultadoFinal;
	}
	if(objLista.innerHTML == ""){
		objLista.innerHTML = "Lista vazia."
	}
}

function limpaLista(){
	var objLista = document.getElementById("lista_produtos");
	var objHiddenLista = document.getElementById("hidden_lista_produtos");
	if(objLista.innerHTML != "Lista vazia."){
		var excluir = confirm("Tem certeza que deseja limpar a sua lista de produtos?");
		if(excluir){
			objLista.innerHTML = "Lista vazia.";
			objHiddenLista.value = "";
		}
	}
}

function verificaProdutoExistente(modelo){
	var objLista = document.getElementById("lista_produtos");
	if(objLista.innerHTML.indexOf(modelo) >= 0){
		alert("Produto j\341 incluso em sua lista!");
		return true;
	}
	return false;
}

function defineTipoProduto(){
	var obj1 = 	document.getElementById("over_produtos_listados");
	var obj2 = document.getElementById("over_produtos_personalizados");
	
	var over_cad_pers = document.getElementById("over_cadeira_personalizada");
	var over_mesa_pers = document.getElementById("over_mesa_personalizada");
	
	obj1.className = "";
	obj2.className = "";
	over_cad_pers.className = "";
	over_mesa_pers.className = "";
	if(document.formContato.tipo_produto_desejado1.checked){
		obj2.className = "overlay";
	}else{
		obj1.className = "overlay";
		if(document.formContato.tipo_produto_personalizado_0.checked){
			over_mesa_pers.className = "overlay";					
		}
		else if(document.formContato.tipo_produto_personalizado_1.checked){
			over_cad_pers.className = "overlay";
		}
		else{
			over_mesa_pers.className = "overlay";
			over_cad_pers.className = "overlay";
		}
	}
}