
var tagErro = "SummaryError_lblErro";

if ( document.getElementById(tagErro) != null ) 
	document.getElementById(tagErro).innerHTML = "";


function CompareVal(Id, CompId, op, ErrorMessage)
{
	var result;
	var myVal;
	var CompVal;
		
	if (document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}	
	
	myVal = document.getElementById(Id).value; 
	
	myVal = myVal.replace(/\./g, "");
	myVal = myVal.replace("R$ ", "");
	myVal = myVal.replace(/\,/g, ".");
	
	CompVal = document.getElementById(CompId).value;
	
	CompVal = CompVal.replace(/\./g, "");
	CompVal = CompVal.replace("R$ ", "");
	CompVal = CompVal.replace(/\,/g, ".");
						
	switch(op)
	{
		case "==":
			result = (parseFloat(myVal) == parseFloat(CompVal) );
			break;
		case "!=":
			result = (parseFloat(myVal) != parseFloat(CompVal) );
			break;
		case ">":
			result = (parseFloat(myVal) > parseFloat(CompVal) );
			break;
		case "<":
			result = (parseFloat(myVal) < parseFloat(CompVal) );
			break;
		case ">=":
			result = (parseFloat(myVal) >= parseFloat(CompVal) );
			break;
		case "<=":
			result = (parseFloat(myVal) <= parseFloat(CompVal) );
			break;
	}	
	
	if ( ! result )
	{
		if( document.getElementById(tagErro) != null )
			InsertSummaryError(	ErrorMessage );		
		return false;	
	}
	else
	{
		if( document.getElementById(tagErro) != null )
			DeleteSummaryError(	ErrorMessage );		
		return true;
	}
	
}

function FormataIntDecimal(inteiro)
{	
	var counter = 0;
	var saida = "";
	var tmp = "";	
			
	for( i = inteiro.length - 1; i >= 0 ; i-- )
	{		
		if( counter == 3 )
		{
			tmp += ".";
			counter = 0;		
		}
		tmp += inteiro.charAt(i);		
		counter++;
	}
	for( i = tmp.length - 1; i >= 0 ; i-- )
		saida += tmp.charAt(i);
	
	saida += ",00";
	
	return saida;	
}


function RequiredVal(Id, ReqVal, ErrorMessage)
{
	if ( document.getElementById(Id).value == "" )
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{	
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function IsNumber(Id, ErrorMessage)
{
	if (document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}	
	var reDigits = /^\d+$/;
	if( ! reDigits.test(document.getElementById(Id).value) )
	{		
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{		
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function IsDecimal(Id, ErrorMessage)
{
	if (document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
	
	if ( IsNumber(Id, "") )
	{
		DeleteSummaryError(	ErrorMessage );		
		return true;
	}
		
	var reDecimalPt = /^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/;
	if( ! reDecimalPt.test(document.getElementById(Id).value) )
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function IsFinanc(Id, ErrorMessage)
{
	if (document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
	
	if ( IsNumber(Id, "") )
	{
		DeleteSummaryError(	ErrorMessage );
		document.getElementById(Id).value = FormataIntDecimal(document.getElementById(Id).value);
		return true;
	}
		
	var reMoeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
	if( ! reMoeda.test(document.getElementById(Id).value) )
	{		
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{		
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function IsEmail(Id, ErrorMessage)
{
	if ( document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
	
	var reEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	if( ! reEmail.test(document.getElementById(Id).value) )
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function IsDate(Id, ErrorMessage)
{
	if ( document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}	
	
	var reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;

	if( ! reDate.test(document.getElementById(Id).value) )
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}


function IsCPF(Id, ErrorMessage)
{	
	if ( document.getElementById(Id).value == "")
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}	
	
	if( ! verificarCPF(document.getElementById(Id).value) )
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			InsertSummaryError(	ErrorMessage );
		return false;	
	}
	else
	{
		if( document.getElementById(tagErro) != null && ErrorMessage != "" )
			DeleteSummaryError(	ErrorMessage );	
		return true;
	}
}

function DeleteSummaryError(Message)
{
	tmp = "<LI>" + Message + "</LI>"; 	
	if( document.getElementById(tagErro).innerHTML.indexOf(tmp) > -1 )
	{
		document.getElementById(tagErro).innerHTML = document.getElementById(tagErro).innerHTML.replace(tmp, "");
	}
	else
	{
		tmp = "<li>" + Message + "</li>";
		if( document.getElementById(tagErro).innerHTML.indexOf(tmp) > -1 )
		{
			document.getElementById(tagErro).innerHTML = document.getElementById(tagErro).innerHTML.replace(tmp, "");
		}
	}		
}

function InsertSummaryError(Message)
{
	if( document.getElementById(tagErro).innerHTML.indexOf(Message) < 0 )
	{
		tmp = "<li>" + Message + "</li>";
		document.getElementById(tagErro).innerHTML += tmp;	
	}
}

 function verificarCPF(c)
 {
	var i; 
	
	//retira possiveis pontos e tracos	
	c = c.replace(/\./g, "");
	c = c.replace(/\-/g,"");	
	
	s = c;	
	var c = c.substr(0,9); 
	var dv = s.substr(9,2); 
	var d1 = 0; 
	var v = false;
	for (i = 0; i < 9; i++) 
		d1 += c.charAt(i)*(10-i); 
	 
	if (d1 == 0) 
		return false; 
	 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	
	if (dv.charAt(0) != d1) 
		return false; 
	
	d1 *= 2; 
	for (i = 0; i < 9; i++) 
		d1 += c.charAt(i)*(11-i); 
	 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(1) != d1)	
		return false; 
	
	if (!v) 	
		return true;	
}

function Mascara(formato, Id)
{
	campo = document.getElementById(Id);
	
	//TELEFONE
	if(formato=='TELEFONE'){
		if(campo.value.length == 0)
			campo.value += "(";
		else if(campo.value.length == 3)
			campo.value += ") ";
	}	
	
	//DATA
	if(formato=='DATA'){
		if(campo.value.length==2)
			campo.value += '/';
		if(campo.value.length==5)
			campo.value += '/';	
	}
		
	//CEP
	if(formato=='CEP')
	{
		if(campo.value.length==5)
			campo.value += '-';
	}
	
	//CPF
	if(formato=='CPF')
	{
		if(campo.value.length==3)
			campo.value += '.';
		if(campo.value.length==7)
			campo.value += '.';
		if(campo.value.length==11)
			campo.value += '-';
	}
	
	//CNPJ
	if(formato=='CNPJ')
	{
		if(campo.value.length==2)
			campo.value += '.';
		if(campo.value.length==6)
			campo.value += '.';
		if(campo.value.length==10)
			campo.value += '/';
		if(campo.value.length==15)
			campo.value += '-';
	}	
	
	//PLACA
	if(formato=='PLACA')
	{
		if(campo.value.length==3)
			campo.value += '-';
	}
}


/*
function MascaraCPF(Id, e)
{
	campo = document.getElementById(Id);
	var tecla;
	
	if (document.all) // Internet Explorer
		tecla = String.fromCharCode(window.event.keyCode);
	else
		tecla = String.fromCharCode(e.which);	
		
	caracteres = '01234567890';
	separacoes = 3;
	separacao1 = '.';
	separacao2 = '-';
	conjuntos = 4;
	conjunto1 = 3;
	conjunto2 = 7;
	conjunto3 = 11;
	conjunto4 = 14;
	if (  (caracteres.indexOf(tecla) > -1) && campo.value.length < (conjunto4) )
	{		
		if (campo.value.length == conjunto1)
		campo.value = campo.value + separacao1;
		else if (campo.value.length == conjunto2)
			campo.value = campo.value + separacao1;
		else if (campo.value.length == conjunto3)
		campo.value = campo.value + separacao2;
	}
	else
		event.returnValue = false;
}
*/