// JavaScript Document

function mostraFlash(src, larg, alt, wmode){
	var flash = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ larg +'" height="'+ alt +'">';
	flash += '<param name="movie" value="'+ src +'" />';
	flash += '<param name="allowScriptAccess" value="always" />';
	flash += '<param name="menu" value="false" />';	
	flash += '<param name="wmode" value="'+ wmode +'" />';	
	flash += '<embed src="'+ src +'" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always" type="application/x-shockwave-flash" width="'+ larg +'" height="'+ alt +'" menu = "false" wmode = "'+ wmode +'"></embed>';
	flash += '</object>';	
	
	document.write(flash);
}


function showImg(src)
{
  //criando um link falso, para o LightBox captar as informações
  var a_false = document.createElement("A");
  a_false.rel = "lightbox";
  a_false.href = src;
  //chamando a função do lightbox responsável pelo início das ações
  myLightbox.start(a_false);
  //anulando o link
  a_false = null;
}

function mudaSrc (id, src) {
	document.getElementById(id).src = src;
	return;
}

var mostrandoMenu = false;
function showHide(id) {
	style = document.getElementById(id).style;
	if (style.display=='none') {
		style.display='';
		mostrandoMenu = true;
	} else {
		style.display='none';
		mostrandoMenu = false;
	}
	return;
}


function show(id) {
	style = document.getElementById(id).style;
	style.display='';
	mostrandoMenu = true;
	return;
}
function hide(id) {
	style = document.getElementById(id).style;
	style.display='none';
	mostrandoMenu = false;
	return;
}

var tempo;
function timeOut(funcao, tempo){
	tempo = setTimeout(funcao, parseFloat(tempo));
	clearTimeout(tempo);
}

function isVisible(obj){  //verifica se o elemento está visivel
	if(!obj.parentNode){return false;}
	while(obj.parentNode!=null){
		if(obj.style.display.toLowerCase()=='none' || obj.style.visibility.toLowerCase()=='hidden'){return false;}
		obj=obj.parentNode;
	}
	return true;
}

function checkEmail(valor){
	if(valor==''){return true;}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){return (true);}
	return (false);
}

function checkdate(d,m,y)
{
	if(!IsNumeric(d) || !IsNumeric(m) || !IsNumeric(y) || d.length<2 || m.length<2 || y.length<4){return false;}
	var yl=1900; // least year to consider
	var ym=2500; // most year to consider
	if (m<1 || m>12) return(false);
	if (d<1 || d>31) return(false);
	if (y<yl || y>ym) return(false);
	if (m==4 || m==6 || m==9 || m==11)
	if (d==31) return(false);
	if (m==2)
	{
		var b=parseInt(y/4);
		if (isNaN(b)) return(false);
		if (d>29) return(false);
		if (d==29 && ((y/4)!=parseInt(y/4))) return(false);
	}
	return(true);
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function isHour(value){
	if(value==''){alert('Favor digite uma hora válida.');return false;}
	var splitted=value.split(':');
	var hora=splitted[0];
	var minuto=splitted[1];
	if(!IsNumeric(hora) || !IsNumeric(minuto) || (hora==0 || hora>=24) || (minuto==0 || minuto>=60)){return false;}
	return true;
}

function hideValidateError() {
	if ($("#validateFormError")) {
		$("#validateFormError").hide("fast");
	}
}
function returnValidateError(element)
{
	if (document.getElementById('validateFormError')!=null)
	{
		$("#validateFormError").html("<p style=\"text-align:center; color:#990000; font-weight:bold;\">"+element.title+"</p>");
		$("#validateFormError").show('normal');
		element.focus();
	} else {
		$("#validateFormError").html("<p style=\"text-align:center; color:#990000; font-weight:bold;\">Atenção - Há campos necessarios em branco ou inválidos.</p>");
		element.focus();
	}
}

function validateForm(form){
	if(!form)
	{
		return false;
		}
	hideValidateError();
	var element,enviar=true;
	 for(var i=0;i<form.elements.length;i++){
		element=form.elements[i];
		if(element.className.indexOf('required')>=0){  //campo requerido
		  if(!isVisible(element)){continue;}
			if(element.type.toUpperCase()=='CHECKBOX'){  //se for um checkbox
				checkboxes=document.getElementsByName(element.name);
				for(var c=0;c<checkboxes.length;c++){
					if(checkboxes[c].checked){break;}
				}
				if(c<checkboxes.length){continue;}
				returnValidateError(element);
				return false;
			}
			if(element.value.length<=0){  //nao preenchido
				if(element.type.toUpperCase().indexOf('SELECT')>=0){
					returnValidateError(element);
				}else{
					if(!isVisible(element)){continue;}
					returnValidateError(element);
				}
				enviar=false;
				break;
			}
			if(element.type.toUpperCase()=='RADIO'){  //se for um checkbox
				radios=document.getElementsByName(element.name);
				for(var c=0;c<radios.length;c++){
					if(radios[c].checked){break;}
				}
				if(c<radios.length){continue;}
				returnValidateError(element);
				return false;
			}
		}
		if(element.className.indexOf('email')>=0){  //campo tipo email
			if(!checkEmail(element.value.trim())){
				returnValidateError(element);
				enviar=false;
				break;
				
			}
		}
		if(element.className.indexOf('hour')>=0){  //campo tipo hora HH:mm:ss
			if(!isHour(element.value.trim())){
				returnValidateError(element);
				enviar=false;
				break;
			}
		}
		if(element.className.indexOf('number')>=0){  //campo tipo numero
			if(!IsNumeric(element.value.trim())){
				returnValidateError(element);
				enviar=false;
				break;
			}
		}
		if(element.className.indexOf('cpf')>=0){  //campo tipo cpf
			if(!validarCPF(element.value.trim())){
				returnValidateError(element);
				enviar=false;
				break;
			}
		}
		if(element.className.indexOf('day')>=0){  //campo tipo dia
			if(!IsNumeric(element.value.trim())&&!isDay(element.value.trim())){
				returnValidateError(element);

				enviar=false;
				break;
			}
		}
		if(element.className.indexOf('senha')>=0){  //campo tipo senha
			if(form.pwd1.value!=form.pwd2.value){
			alert('Senhas não conferem, favor digite-as novamente.');
			form.pwd1.value='';
			form.pwd2.value='';
			form.pwd1.focus();
			returnValidateError(element);
			enviar=false;
			break;
			}
		}
	}
	return enviar;
}
