// JavaScript Document
function modelesswin(url,w,h) {
	if (document.all&&window.print) {
		rv=window.showModalDialog(url,null,"dialogWidth:"+w+"px;dialogHeight:"+h+"px;center:1;scroll:0;help:0;status:0");
	} else {
		rv=window.open(url,null,"width="+w+"px,height="+h+"px,center=1,resizable=0,scrollbars=0,status=0")
	}
}


function centrar(url,largura,altura) {
	var win = null
	posx = (screen.width) ? (screen.width-largura)/2 : 0;
	posy = (screen.height) ? (screen.height-altura)/2 : 0;

// configurações da janela
	features = 'height='+altura+',width='+largura+',top='+posy+',left='+posx+'';
	win = window.open(url,'dados',features)
}

function centrar_jan(url,jan,largura,altura) {
	var win = null
	largura = largura + 0
	altura = altura + 50

	posx = (screen.width/2)-(largura/2)
	posy = (screen.height/2)-(altura/2)

// configurações da janela
	features="help=0,width=" + largura + " height=" + altura + " top=" + posy + " left=" + posx
	win = window.open(url,jan,features)
}

function centrar_bars(url,largura,altura) {
	var win = null
	largura = largura + 0
	altura = altura + 50

	posx = (screen.width/2)-(largura/2)
	posy = (screen.height/2)-(altura/2)

// configurações da janela
	features="scrollbars=yes, width=" + largura + " height=" + altura + " top=" + posy + " left=" + posx
	win = window.open(url,"jan",features)
}
function enviarForm() {
	document.frm.submit();
}
function resetForms() {
	document.frm.reset();
}

function excluir(id,url){
	if(confirm('Deseja excluir este registro?')) { 
		centrar(url+'?op=exc&id='+id,350,120);
		return true;
	} else { 
		return false;
	}
}

function excMsg(id,url,msg){
	if(confirm(msg)) { 
		centrar(url+'?op=exc&id='+id,350,120);
		return true;
	} else { 
		return false;
	}
}
function excluir_msg(id,url,msg){
	if(confirm(msg)) { 
		centrar(url+'?op=exc&id='+id,350,120);
		return true;
	} else { 
		return false;
	}
}

function verificarCPF(c){
	var i; 
	s = c;
	var c = s.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){ 
		alert("CPF Inválido")
		v = true; 
		return false; 
	} 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
		if (dv.charAt(0) != d1){ 
			alert("CPF Inválido") 
			v = true;
			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) { 
			alert("CPF Inválido") 
			v = true;
			return false; 
	} 
	if (!v) {
		//alert(c + "\nCPF Válido") 
		return true;
	}
}

function validar(Form) {
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;

	var s;


// inicio de verificacao de cnpj ou cpf
	if (Form.cnpj.value.length == 0) {
		alert("O CNPJ/CPF é um campo obrigatório !");
		Form.cnpj.focus();
		return false;	}
		
	s = limpa_string(Form.cnpj.value);
	
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(Form.cnpj.value) == false ) {
			alert("O CPF não é válido !");
			Form.cnpj.focus();
			return false;	}
     }
     
     // checa se é cgc
	else if (s.length == 14) {
		if (valida_CGC(Form.cnpj.value) == false ) {
			alert("O CNPJ não é válido !");
			Form.cnpj.focus();
			return false;	}
			}
		else {
			alert("O CPF/CNPJ não é válido !");
			Form.cnpj.focus();
			return false;
		}

// final da verificacao de cnpj ou cpf
	return true;
}
// fim da funcao validar()


function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	}
	} //for

	return temp
}
// fim da funcao


function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	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;
	}
        return true;
}

function valida_CGC(s)
{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
        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 < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
	return true;
}

function mOvr(src,clrOver,under) {
	isIE = ((navigator.appVersion.indexOf('MSIE')>=0));
        src2 = src.firstChild;

	if (isIE){
        	src.style.cursor = 'hand';
	}
	else {
		src.style.cursor = 'pointer';
	}

    if (clrOver) {
         src.bgColor = clrOver;
    }

    if (under){
	  src2.style.textDecoration = 'none';
    }
}

function mOut(src,clrIn)
{
        src2 = src.firstChild;
        src.style.cursor = 'default';

        if (clrIn)
        {
                src.bgColor = clrIn;
        }

        src2.style.textDecoration = 'none';
}

function mClk(id)
{
        src = id.firstChild;
	target = src.target;
	
	if (target == '_blank')
	{
		window.open (src.href);
	}
	else
	{
        	top.location = src.href;
	}
}

function calcularSubTotal(vlrUnitario,posCampo,vlrQtde) {
	vlrUnitario = vlrUnitario.replace(",",".");
	pos = (posCampo - 1); k = 0;
	subTotal = (vlrUnitario * vlrQtde);
	if(subTotal <= 0) {
			return false;
	} else {
		document.forms[0].elements[pos].value = Number(vlrUnitario).toFixed(2);	
		document.forms[0].elements[posCampo].value =  subTotal.toFixed(2);
		calcularTotal();
		if(k == document.forms[0].contador.value) {
			document.forms[0].extra[4].focus();		
		} else {
			p = (pos + 4)
			//alert(p);
			document.forms[0].elements[p].focus();
			k = (k+1);
		}
	}
	return true;
}