//LUCAS ROSSINI FERREIRA
//GEMINI SISTEMAS

var browser = navigator.appName;
var browserVersion  = parseInt(navigator.appVersion);

function setStatus(){
	window.status = "Ciência do Leite | Seu portal de conhecimento sobre o mundo do leite";
}

function trim(str){
	return str.replace(/^\s+|\s+$/g,"");
}

function setArea(area){
	var form = document.getElementById("form_global_search");
	form.action = "?action=" + area;
}

function linkTo(action, page){
	window.location.href = "?action="+action+"&"+page;
	return false;
}

function excluir(id){
	if(confirm("Tem certeza que deseja excluir o registro?")){
		document.getElementById("form_delete"+id).submit();
	}
	return false;
}

function logout(){
	document.getElementById("form_logout").submit();
	return false;
}

function submit_wait(){
	var button = document.getElementById("submit_form");
	button.disabled = true;
	button.value = 'Aguarde...';
}

function expand(mes){
	var table = document.getElementById("table_" + mes);
	var icon = document.getElementById("icon-expand_" + mes);
	
	if(table.style.display == 'none'){
		table.style.display = 'block';
		icon.src = 'img/collapse.gif';
	}
	else{
		table.style.display = 'none';
		icon.src = 'img/expand.gif';
	}
}

function alert_categoria(){
	alert("Não é possível excluir essa categoria pois existem produtos relacionados à ela.");
}

function change_cat(id_cat){
	linkTo(8, 'c='+id_cat);
}

//----------------- FUNÇÕES PARA VERIFICAÇÃO DE LOGIN, EMAIL, SENHA (E ETC) EXISTENTES ----------------------------

var loading_state = 0;
var time = 0;

function verifica_disp(what, value, pre){
	var submit_button = document.getElementById("submit_form");
	var bullet = document.getElementById("bullet_" + what);
	var texto_mensagem = document.getElementById("text_valid_" + what);
	
	if((!value.length) || (value == pre)){
		if(time){
			clearTimeout(time);
		}
		loading_state = 0;
		bullet.style.visibility = "hidden";
		texto_mensagem.style.visibility = "hidden";
		
		if(what == 'password'){
			var nova_senha = document.getElementById("nova_senha");
			var confirma_senha = document.getElementById("confirma_senha");
			
			nova_senha.disabled = true;
			confirma_senha.disabled = true;
		}
		
		submit_button.disabled = false;
	}
	else{
		if(!loading_state){
			loading_state = 1;
			bullet.src = "img/indicator.gif"
			bullet.style.visibility = "visible";
			texto_mensagem.style.visibility = "hidden";
			
			if(what == 'password'){
				var nova_senha = document.getElementById("nova_senha");
				var confirma_senha = document.getElementById("confirma_senha");
				
				nova_senha.disabled = true;
				confirma_senha.disabled = true;
			}
			
			submit_button.disabled = true;
		}
		
		if(time){
			clearTimeout(time);
		}
		
		time = setTimeout("verify('" + what + "', '" + value + "')", 1000);
	}
}

function verify(what, value){
	var submit_button = document.getElementById("submit_form");
	var bullet = document.getElementById("bullet_" + what);
	var texto_mensagem = document.getElementById("text_valid_" + what);
	
	if(what == 'password'){
		var nova_senha = document.getElementById("nova_senha");
		var confirma_senha = document.getElementById("confirma_senha");
	}
	
	switch(what){
		case 'password':
			var msg_ok = "Senha correta.";
			var msg_erro = "Senha incorreta.";
			break;
		
		case 'email':
			var msg_ok = "E-mail ainda não cadastrado.";
			var msg_erro = "E-mail já cadastrado.";
			break;
		
		case 'login':
			var msg_ok = "Login disponível.";
			var msg_erro = "Login indisponível.";
			break;
	}
	
	var url = 'ajax/verify.php?what=' + what + '&value=' + value;
	
	var ajax = openAjax();
	
	ajax.open('GET', url, true);
	ajax.onreadystatechange = function()
	{
		if (ajax.readyState == 4)
		{
			if (ajax.status == 200)
			{
				var result = ajax.responseText;
				if(result == "0"){
					bullet.src = "img/icon-ok.gif";
					
					texto_mensagem.innerHTML = msg_ok;
					texto_mensagem.className = "texto-ok";
					
					if(what == 'password'){
						nova_senha.disabled = false;
						confirma_senha.disabled = false;
					}
					
					submit_button.disabled = false;
				}
				else{
					bullet.src = "img/icon-error.gif";
					
					texto_mensagem.innerHTML = msg_erro;
					texto_mensagem.className = "texto-erro";
					
					if(what == 'password'){
						nova_senha.value = '';
						confirma_senha.value = '';
						nova_senha.disabled = true;
						confirma_senha.disabled = true;
					}
					
					submit_button.disabled = true;
				}
				
				texto_mensagem.style.visibility = "visible";
				
				loading_state = 0;
			}
		}
	}
	ajax.send(null);
}
//-------------------------------------------------------------------------


//FUNÇÕES PARA VOTAÇÃO NA ENQUETE-----------------
var opcao = 0;

function set_option(opt){
	opcao = opt;
}

function vote(idEnquete){
	if(!opcao){
		return false;
	}
	else{
		ajax_votar(idEnquete, opcao);
	}
}

function ajax_votar(idEnquete, opcao){
	var table = document.getElementById('table_enquete');
	
	var table_inner = '';
	table_inner += '<table width="100%">';
		table_inner += '<tr>';
			table_inner += '<td align="center">';
				table_inner += '<img src="img/loader.gif"><br>';
				table_inner += '<span class="box">Carregando...</span>';
			table_inner += '</td>';
		table_inner += '</tr>';
	table_inner += '</table>';
	
	table.innerHTML = table_inner;
	table.style.height = '150px';
	
	
	var ajax = openAjax();
	
	ajax.open('POST', 'ajax/votar.php', true);
	ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-1');
	var params = 'eid=' + idEnquete + '&oid=' + opcao;
	
	ajax.onreadystatechange = function()
	{
		if (ajax.readyState == 4)
		{
			if (ajax.status == 200)
			{
				setTimeout(function(){
					table.innerHTML = ajax.responseText;
					table.style.height = '';
				}, 1000);
			}
		}
	}
    ajax.send(params);
}
//-----------------------------------------------

//FUNÇÃO PARA EXIBIR HINT EM AJAX DA RECEITA------------------------
function hint_receita(id_receita, total_aprovado){
	var estrutura = "";
	estrutura += "<table id='table_loading'>";
		estrutura += "<tr>";
			estrutura += "<td align='center'>";
				estrutura += "<img src='img/loading.gif'>";
			estrutura += "</td>";
		estrutura += "</tr>";
	estrutura += "</table>";
	
	estrutura += "<table id='table_conteudo' style='display:none'>";
		estrutura += "<tr>";
			estrutura += "<td align='center' id='td_img_receita' rowspan='3' valign='top'>";
			estrutura += "</td>";
			
			estrutura += "<td id='td_nome_receita' valign='top'>";
			estrutura += "</td>";
		estrutura += "</tr>";
		
		estrutura += "<tr>";
			estrutura += "<td id='td_descricao_receita' valign='top'>";
			estrutura += "</td>";
		estrutura += "</tr>";
		
		estrutura += "<tr>";
			estrutura += "<td id='td_comentarios_receita' valign='top'>";
			estrutura += "</td>";
		estrutura += "</tr>";
	estrutura += "</table>";
	
	//Tip(estrutura, BGCOLOR, '#FFFFCC', BORDERCOLOR, '#999999', FONTCOLOR, '#000000', WIDTH, 200);
	tooltip(estrutura);
	
	var table_conteudo = document.getElementById("table_conteudo");
	var table_loading = document.getElementById("table_loading");
	
	var td_img = document.getElementById("td_img_receita");
	var td_nome = document.getElementById("td_nome_receita");
	var td_descricao = document.getElementById("td_descricao_receita");
	var td_comentarios = document.getElementById("td_comentarios_receita");
	
	var ajax = openAjax();
	
	ajax.open('GET', 'ajax/hint_receita.php?id=' + id_receita, true);
	
	ajax.onreadystatechange = function()
	{
		if (ajax.readyState == 4)
		{
			if (ajax.status == 200)
			{	
				var xml = ajax.responseXML;
				var receita = xml.getElementsByTagName('receita');
				
				var nomeReceita = receita[0].getElementsByTagName('nome')[0].firstChild.nodeValue;
				var imagemReceita = receita[0].getElementsByTagName('imagem')[0].firstChild.nodeValue;
				var descricaoReceita = receita[0].getElementsByTagName('descricao')[0].firstChild.nodeValue;
				var comentariosReceita = total_aprovado;
				//receita[0].getElementsByTagName('comentarios')[0].firstChild.nodeValue;
				
				var img_src = "img/receitas/" + imagemReceita;
				
				td_img.innerHTML = "<img src='"+img_src+"' class='img_receita'>";
				td_nome.innerHTML = nomeReceita;
				td_descricao.innerHTML = descricaoReceita;
				td_comentarios.innerHTML = "<img src='img/comment_icon.gif' style='vertical-align:text-bottom'> " + comentariosReceita + " comentário(s)";
			}
		}
	}
    ajax.send(null);
	
	setTimeout(function(){
		table_loading.style.display = 'none';
		table_conteudo.style.display = 'block';
	}, 700);
}
//----------------------------------------------

//FUNÇÕES DIVERSAS------------------------------
function dataHora(){
	var now = new Date();
	var hora = now.getHours();
	var minuto = now.getMinutes();
	var segundo = now.getSeconds();
	var mes = now.getMonth();
	var dia = now.getDate();
	var ano = now.getFullYear();
	var semana = new Array("Domingo","Segunda-Feira","Terça-Feira","Quarta-Feira","Quinta-Feira","Sexta-Feira","Sábado");
	var mesesAno = new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
	var nomeMes = mesesAno[mes];
	var diaSemana = semana[now.getDay()];
	
	//Rotina para adicionar '0' á horas, minutos e segundos de um só algarismo
	if (String(segundo).length == 1){
		segundo = "0" + segundo;
	}
	if (String(minuto).length == 1){
		minuto = "0" + minuto;
	}	
	if (String(hora).length == 1){
		hora = "0" + hora;
	}
	
	//Rotina para saudação
	if ((hora >= 6) && (hora < 12)){
		var saudacao = "Bom dia";
	}
	else if ((hora >= 12) && (hora < 18)){
		saudacao = "Boa tarde";
	}
	else if (hora >= 18){
		saudacao = "Boa noite";
	}
	else if (hora >= 0){
		saudacao = "Boa noite";
	}
	
	var horaAtual = hora + ":" + minuto + ":" + segundo;
	
	//Atualiza valor do relógio
	document.getElementById("relogio").firstChild.nodeValue = saudacao + "! São " + horaAtual;
	//Atualiza valor da data
	if(dia == 1){
		document.getElementById("data").firstChild.nodeValue = diaSemana + ", " + dia + "º de " + nomeMes + " de " + ano;
	}
	else{
		document.getElementById("data").firstChild.nodeValue = diaSemana + ", " + dia + " de " + nomeMes + " de " + ano;
	}
}

function formata_campo(objeto, sMask, evtKeyPress){
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all){ //Internet Explorer
		nTecla = evtKeyPress.keyCode;
	}
	else if(document.layers){ //Netscape
		nTecla = evtKeyPress.which;
	}
	else{
		nTecla = evtKeyPress.which;
		if (nTecla == 8){
			return true;
		}
	}

    sValue = objeto.value;

    //Limpa todos os caracteres de formatação que já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen){
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
      	bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

      	if (bolMask){
			sCod += sMask.charAt(i);
			mskLen++;
		}
      	else {
			sCod += sValue.charAt(nCount);
			nCount++;
      	}

      	i++;
    }

    objeto.value = sCod;

    if (nTecla != 8){ //backspace
    	if (sMask.charAt(i-1) == "9"){ //apenas números...
        	return ((nTecla > 47) && (nTecla < 58));
		} 
      	else{ //qualquer caracter...
        	return true;
      	} 
    }
    else{
      	return true;
    }
}

function somenteNumero(e, param, valor){ //Função para aceitar apenas digitação de valores numericos
	// <input type='text' size='10' value='' onkeypress='return SomenteNumero(event)'>
	var tecla = (window.event)?event.keyCode:e.which;
	
	//só habilita digitar 2 caracteres após a vírgula
	if(tecla != 8 && tecla != 9){
		if(param != null){
			if(valor.match(',') == ','){
				var comma_pos = valor.indexOf(',');
				var after_comma = valor.substring(comma_pos);
				if(after_comma.length > 2){
					return false;
				}
			}
		}
	}
	
	if ((tecla > 47 && tecla < 58)) 
	{
		return true;
    }
	else if (tecla == 8) 
	{
		return true;
	}
	else if (tecla == 0)	
	{	
		return true;
	}
	else if (tecla == 44){
		if (param != null){
			if(valor == ""){
				return false;
			}			
			else if(valor.match(",") == ","){
				return false;
			}
			
			return true;
		}
		else{
			return false;
		}
	}
	else
	{
		return false; 	
	}
}

function getPageSizeWithScroll(){
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		xWithScroll = document.body.offsetWidth;
	}
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
	//alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );
	return arrayPageSizeWithScroll;
}
