 function confirmaExclusao(ID, page, state){
	if(confirm("Deseja excluir este registro?")) {
		texto= page+'?'+state+ID;

		window.location=(texto);
	}
}

function isEmail(text){
   var 	arroba = "@",
       	ponto = ".",
	   	posponto = 0,
	   	posarroba = 0;

	 if (text =="") return false;

	 for (var indice = 0; indice < text.length; indice++){
	 	if (text.charAt(indice) == arroba) {
	 		posarroba = indice;
	      	break;
		 }
	 }

	for (var indice = posarroba; indice < text.length; indice++){
		if (text.charAt(indice) == ponto) {
			posponto = indice;
	     	break;
		}
	}
	if (posponto == 0 || posarroba == 0) return false;
	if (posponto == (posarroba + 1)) return false;
	if ((posponto + 1) == text.length) return false;
	return true;
}

(function($) {

	//Helper Function for Caret positioning
	$.fn.caret=function(begin,end){
		if(this.length==0) return;
		if (typeof begin == 'number') {
            end = (typeof end == 'number')?end:begin;
			return this.each(function(){
				if(this.setSelectionRange){
					this.focus();
					this.setSelectionRange(begin,end);
				}else if (this.createTextRange){
					var range = this.createTextRange();
					range.collapse(true);
					range.moveEnd('character', end);
					range.moveStart('character', begin);
					range.select();
				}
			});
        } else {
            if (this[0].setSelectionRange){
				begin = this[0].selectionStart;
				end = this[0].selectionEnd;
			}else if (document.selection && document.selection.createRange){
				var range = document.selection.createRange();
				begin = 0 - range.duplicate().moveStart('character', -100000);
				end = begin + range.text.length;
			}
			return {begin:begin,end:end};
        }
	};

	//Predefined character definitions
	var charMap={
		'9':"[0-9]",
		'a':"[A-Za-z]",
		'*':"[A-Za-z0-9]"
	};

	//Helper method to inject character definitions
	$.mask={
		addPlaceholder : function(c,r){
			charMap[c]=r;
		}
	};

	$.fn.unmask=function(){
		return this.trigger("unmask");
	};

	//Main Method
	$.fn.mask = function(mask,settings) {
		settings = $.extend({
			placeholder: "_",
			completed: null
		}, settings);

		//Build Regex for format validation
		var re = new RegExp("^"+
		$.map( mask.split(""), function(c,i){
		  return charMap[c]||((/[A-Za-z0-9]/.test(c)?"":"\\")+c);
		}).join('')+
		"$");

		return this.each(function(){
			var input=$(this);
			var buffer=new Array(mask.length);
			var locked=new Array(mask.length);
			var valid=false;
			var ignore=false;  			//Variable for ignoring control keys
			var firstNonMaskPos=null;

			//Build buffer layout from mask & determine the first non masked character
			$.each( mask.split(""), function(i,c){
				locked[i]=(charMap[c]==null);
				buffer[i]=locked[i]?c:settings.placeholder;
				if(!locked[i] && firstNonMaskPos==null)
					firstNonMaskPos=i;
			});

			function focusEvent(){
				checkVal();
				writeBuffer();
				setTimeout(function(){
					$(input[0]).caret(valid?mask.length:firstNonMaskPos);
				},0);
			};

			function keydownEvent(e){
				var pos=$(this).caret();
				var k = e.keyCode;
				ignore=(k < 16 || (k > 16 && k < 32 ) || (k > 32 && k < 41));

				//delete selection before proceeding
				if((pos.begin-pos.end)!=0 && (!ignore || k==8 || k==46)){
					clearBuffer(pos.begin,pos.end);
				}
				//backspace and delete get special treatment
				if(k==8){//backspace
					while(pos.begin-->=0){
						if(!locked[pos.begin]){
							buffer[pos.begin]=settings.placeholder;
							if($.browser.opera){
								//Opera won't let you cancel the backspace, so we'll let it backspace over a dummy character.
								s=writeBuffer();
								input.val(s.substring(0,pos.begin)+" "+s.substring(pos.begin));
								$(this).caret(pos.begin+1);
							}else{
								writeBuffer();
								$(this).caret(Math.max(firstNonMaskPos,pos.begin));
							}
							return false;
						}
					}
				}else if(k==46){//delete
					clearBuffer(pos.begin,pos.begin+1);
					writeBuffer();
					$(this).caret(Math.max(firstNonMaskPos,pos.begin));
					return false;
				}else if (k==27){//escape
					clearBuffer(0,mask.length);
					writeBuffer();
					$(this).caret(firstNonMaskPos);
					return false;
				}
			};

			function keypressEvent(e){
				if(ignore){
					ignore=false;
					//Fixes Mac FF bug on backspace
					return (e.keyCode == 8)? false: null;
				}
				e=e||window.event;
				var k=e.charCode||e.keyCode||e.which;
				var pos=$(this).caret();

				if(e.ctrlKey || e.altKey){//Ignore
					return true;
				}else if ((k>=41 && k<=122) ||k==32 || k>186){//typeable characters
					var p=seekNext(pos.begin-1);
					if(p<mask.length){
						if(new RegExp(charMap[mask.charAt(p)]).test(String.fromCharCode(k))){
							buffer[p]=String.fromCharCode(k);
							writeBuffer();
							var next=seekNext(p);
							$(this).caret(next);
							if(settings.completed && next == mask.length)
								settings.completed.call(input);
						}
					}
				}
				return false;
			};

			function clearBuffer(start,end){
				for(var i=start;i<end&&i<mask.length;i++){
					if(!locked[i])
						buffer[i]=settings.placeholder;
				}
			};

			function writeBuffer(){
				return input.val(buffer.join('')).val();
			};

			function checkVal(){
				//try to place charcters where they belong
				var test=input.val();
				var pos=0;
				for(var i=0;i<mask.length;i++){
					if(!locked[i]){
						buffer[i]=settings.placeholder;
						while(pos++<test.length){
							//Regex Test each char here.
							var reChar=new RegExp(charMap[mask.charAt(i)]);
							if(test.charAt(pos-1).match(reChar)){
								buffer[i]=test.charAt(pos-1);
								break;
							}
						}
					}
				}
				var s=writeBuffer();
				if(!s.match(re)){
					input.val("");
					clearBuffer(0,mask.length);
					valid=false;
				}else
					valid=true;
			};

			function seekNext(pos){
				while(++pos<mask.length){
					if(!locked[pos])
						return pos;
				}
				return mask.length;
			};

			input.one("unmask",function(){
				input.unbind("focus",focusEvent);
				input.unbind("blur",checkVal);
				input.unbind("keydown",keydownEvent);
				input.unbind("keypress",keypressEvent);
				if ($.browser.msie)
					this.onpaste= null;
				else if ($.browser.mozilla)
					this.removeEventListener('input',checkVal,false);
			});
			input.bind("focus",focusEvent);
			input.bind("blur",checkVal);
			input.bind("keydown",keydownEvent);
			input.bind("keypress",keypressEvent);
			//Paste events for IE and Mozilla thanks to Kristinn Sigmundsson
			if ($.browser.msie)
				this.onpaste= function(){setTimeout(checkVal,0);};
			else if ($.browser.mozilla)
				this.addEventListener('input',checkVal,false);

			checkVal();//Perform initial check for existing values
		});
	};
})(jQuery);

/*jQuery(function($){
   $("#telefone").mask("(99) 9999-9999");
   $("#cep").mask("99999-999");

});*/





function mascara(o,f){
    v_obj=o
    v_fun=f

    setTimeout("execmascara()",1)
}


function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function CamposObrigatorios()
{
	alert('Campos em vermelho são obrigatórios.');
	return false;
}

function MensagemDependencia()
{
 alert('Não é possivel excluir, pois existe algum registro relacionado.');	
 return false;
}

function geraCalendario(field,trigger)
{
	if(document.getElementById(field))
	{
	Calendar.setup({
	inputField     :    field,     // id of the input field
	ifFormat       :    "%d/%m/%Y",      // format of the input field
	button         :    trigger,  // trigger for the calendar (button ID)
	align          :    "Bl",           // alignment (defaults to "Bl")
	singleClick    :    true});
	}
}

 function ValidarCPF (ObjCPF)
{	numcpf = new String(ObjCPF.value);
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1 = new String();
	numcpf = numcpf.replace('.','');
	numcpf = numcpf.replace('.','');
	numcpf =  numcpf.replace('-','');
	len = numcpf.length;

	if( (numcpf == '00000000000') || (numcpf == '11111111111') || (numcpf == '12345678909') || (len < 11 ))
	{
	 return false;
	}
	else
	{

	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {

		return true;
	}

	return false;
}
 }


 function ValidarCNPJ(ObjCnpj){
    var cnpj = ObjCnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    ret = true;
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" );
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
        dig2 += cnpj.charAt(i)*valida[i];
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

    if(((dig1*10)+dig2) != digito)
    {
     ret = false;
    }
    return ret;

}

 function AbreFlutuante()
 {
	document.getElementById('fundoDiv').style.display = 'block';
	document.getElementById('ConteudoDiv').style.display = 'block';
	document.getElementById('ConteudoDiv').style.zIndex = '500';
	document.body.style.overflow='hidden';
 }

 function FechaFlutuante()
 {
	document.getElementById('fundoDiv').style.display = 'none';
	document.getElementById('ConteudoDiv').style.display = 'none';
	document.body.style.overflow='auto';
	document.getElementById('ConteudoDiv').style.top = '0px';
	document.getElementById('ConteudoDiv').style.left = '0px';
	document.getElementById('ConteudoDiv').style.zIndex = '-10';
 }


function float2moeda(n) {
   x = 0;

    num = new String(n);
	if(num.indexOf(',') != -1)
	{
	while(num.indexOf('.') != -1)
		{
		num = num.replace('.','');
		}
		num = num.replace(',','.');
	}
   if(num<0) {
      num = Math.abs(num);
      x = 1;
   }

   if(isNaN(num)) {num = "0"};
   cents = Math.floor((num*100+0.5)%100);
   num = Math.floor((num*100+0.5)/100).toString();
   if(cents < 10) cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
		 ret = num + ',' + cents;
		 if (x == 1) ret = ' - ' + ret;
		 return ret;
}


function daysLastMonth(mes,ano)
{
// Verifica se o ano é bissexto, para definir a quantidade de dias do mês Fevereiro
	bissexto=(((ano%4)==0&&(ano%100)!=0)||(ano%400)==0)?29:28;
// Array das quantidades de dias de cada mês
	meses=new Array(31,bissexto,31,30,31,30,31,31,30,31,30,31);
// Quantidade de dias do mês atual
	return meses[mes];

}

function monthsBetween(data1, data2){

   if(data2 < data1)
   {
	 return false;
   }
	var A1 = data1.getFullYear();
	var A2 = data2.getFullYear();
	var M1 = data1.getMonth();
	var M2 = data2.getMonth();;
    var D1 = data1.getDate();
    var D2 = data2.getDate();

    var D = 0;
    var M = 0;
    var A = 0;
	A = (A2) - (A1);

	if(M2 < M1)
	{
		A = A-1;
		M = (12-M1)+M2;
		if(D2 < D1)
		{
			M = M -1;

			D = (daysLastMonth(M2,A2)-1)-(D1-D2);

		}
		else
		{
			D = D2-D1;
		}
	}
	else
	{
		M = M2-M1;
		if(D2 < D1)
		{
			M = M -1;
			D = (daysLastMonth(M2,A2)-1)-(D1-D2);

		}
		else
		{
			D = D2-D1;
		}

	}
		D = ((D/daysLastMonth(M2,A2)));
        A = (A*12);
		dias_totais = parseFloat(D+M+A);
		return dias_totais;
  }
  
  
  var modalWindow = {
	parent:"body",
	windowId:null,
	content:null,
	width:null,
	height:null,
	close:function()
	{	

		$(".modal-window").remove();
		$(".modal-overlay").remove();
	},
	open:function()
	{
		var modal = "";
		modal += "<div class=\"modal-overlay\"></div>";
		modal += "<div id=\"" + this.windowId + "\" class=\"modal-window\" style=\"width:" + this.width + "px; height:" + this.height + "px; margin-top:-" + (this.height / 2) + "px; margin-left:-" + (this.width / 2) + "px;\">";
		modal += this.content;
		modal += "</div>";	

		$(this.parent).append(modal);
		$(".modal-window").append("<a class=\"close-window\"></a>");
		$(".close-window").click(function(){modalWindow.close();});

		//$(".modal-overlay").click(function(){modalWindow.close();});
	}
};

