// JavaScript Document

function DoPop(popWin,instName,w,h,scrll,resz){
	//var site_w = 750;
	//var site_h = 500;
	var t = 0;
	var l = 0;
		if(window.screen.Width<=800){
			l = (window.screen.Width-w)/2;
		} else {
			l = (window.screen.Width-w)/2;
			t = (window.screen.Width-h)/4;
		}
	win = window.open(popWin,instName,'top='+t+',left='+l+',height='+h+',width='+w+',resizable='+resz+',scrollbars='+scrll+',toolbar=no,location=no,directories=no,status=yes,menubar=no,fullscreen=no');
}

function doPopMax(popWin,instName,scrll,resz){
	var wihe = 'width='+screen.availWidth+',height='+screen.availHeight; 
	win = window.open(popWin,instName,'resizable='+resz+',scrollbars='+scrll+',toolbar=no,location=no,directories=no,status=yes,menubar=no,fullscreen=no,screenX=1,screenY=1,left=1,top=1,' + wihe);
} 



function callCNS(){
if(event.ctrlKey)
	if (event.keyCode == 89){
		DoPop('apps/scp/','1232312312334',768,420,'yes','yes');
	} 
}


// 1 - AnalisaData
// Esta função recebe o parâmetro sData como string e o analisa, retornando true (verdadeiro)
//      se a data for válida para o formato DD/MM/AA ou DD/MM/AAAA, e false (false) cado contrário
function AnalisaData(sData)
	{  if ((sData.length==8)||(sData.length==10))
		  { Dia=sData.substring(0,2)
			Mes=sData.substring(3,5)
			Ano=sData.substring(6,10)
			if((Mes<"01")||(Mes>"12")||(Dia<"01")||(Dia>"31"))
			  {return false}
			else {if(((Mes=="04")||(Mes=="06")||(Mes=="09")||(Mes=="11"))&&(Dia>"30"))
			        {return false}
			      else{if((Mes=="02")&&(Dia>"29"))
  			              {return false}
						else {return true}
					  }
			     }
           }
 	  else {return false}
	}
function AnalisaCPFCNPJ(sNumero){
	sNumeroLimpo = LimpaNumero(sNumero)
	if (sNumeroLimpo.length>11) //É CNPJ
		{ 
		  if (sNumeroLimpo.length!=14)
			{return false}
		  xCGC = sNumeroLimpo
		  T1 = xCGC.substr(0,1)*5 + xCGC.substr(1,1)*4 + xCGC.substr(02,1)*3 + xCGC.substr(03,1)*2 + xCGC.substr(4,1)*9 + xCGC.substr(5,1)*8 + xCGC.substr(06,1)*7 + xCGC.substr(07,1)*6 + xCGC.substr(8,1)*5 + xCGC.substr(9,1)*4 + xCGC.substr(10,1)*3 + xCGC.substr(11,1)*2
		  r1 = t1 % 11
		  if (r1>1)
			 {d1 = 11 - r1}
			 else {d1=0}
		  T2 = xCGC.substr(0,1)*6 + xCGC.substr(1,1)*5 + xCGC.substr(2,1)*4 + xCGC.substr(3,1)*3 + xCGC.substr(4,1)*2 + xCGC.substr(5,1)*9 + xCGC.substr(6,1)*8 + xCGC.substr(7,1)*7 + xCGC.substr(8,1)*6 + xCGC.substr(9,1)*5 + xCGC.substr(10,1)*4 + xCGC.substr(11,1)*3 + d1*2
		  r2 = t2 % 11
		  if (r2 > 1)
			{d2 = 11 - r2}
			else {d2 = 0}
		  digito =  ( d1 * 10 ) + d2
		  if (digito != sCGC.substr(12,2))
			{ return false}
		  return false
		}
	else { // É CPF
			if (sNumeroLimpo.length!=11)
				{alert("O CPF informado não é um número válido"); return false}
			t1 = 0;
			for(i=1;i<=9;i++) {
				t1 = t1 + sNumeroLimpo.substr(i-1,1) * (11-i)
			}
			r1 = t1 % 11;
			if (r1 > 1) {
				r1 = 11 - r1
			}
			else {r1 = 0}
			t2 = 0;
			for(i=1;i<=9;i++){
				t2 = t2 + sNumeroLimpo.substr(i-1,1) * (12-i)
			}
			t2 = t2 + r1 * 2
			r2 = t2 % 11
			if (r2>1){
				r2 = 11 - r2
			}
			else {r2 = 0}
			if ((r1*10+r2)==sNumeroLimpo.substr(9,2)){
				return true
			}
			else {
				alert("O CPF informado não é um número válido"); return false
			}
		}
}

function LimpaNumero(sNumero)
	{ sNumeroLimpo=""
	  for(var i=0;i<sNumero.length;i++)
	  	{ if ((sNumero.substring(i,i+1)>="0")&&(sNumero.substring(i,i+1)<="9"))
			{sNumeroLimpo+=sNumero.substring(i,i+1)}
		}
	  return sNumeroLimpo
	}
	
	
function doDate(obj){
	if (event.keyCode == 111 || event.keyCode == 8 || event.keyCode == 46){
		return true;
	} else {
		var valor = obj.value;
		if (valor.length == 2){
			obj.value = obj.value + "/";
		}
		if (valor.length == 5){
			obj.value = obj.value + "/";
		}
	}
}

document.onkeydown = callCNS;


var alytime = 0;
function doAjax(xtarget,xfile,xparam){ // ACIONA O AJAX

	var ajax = new JAjax();
	
	ajax.CallBack(null);	

	ajax.Request();
	ajax.SetFile(xfile);
	ajax.SetMetodo('POST');
	ajax.SetTarget(xtarget,false);
	ajax.SetStrLoading(" , , , ");
	ajax.SetMouseEFX(false);
	ajax.SetParam(xparam);
	ajax.Open();
		
	
}

function getFormValues(fobj) { // PEGA OS VALORES DOS FORMS
   var str = ""; 
   var valueArr = null; 
   var val = ""; 
   var cmd = ""; 
   for(var i = 0;i < fobj.elements.length;i++) { 
       switch(fobj.elements[i].type) { 
           case "text": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
                 break; 
           case "password": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
                 break; 
           case "hidden": 
		   		if (fobj.elements[i].name == "FCKe"){
					alert(typeof(FCKeditorAPI));
					var oEditor = FCKeditorAPI.GetInstance(fobj.elements[i].value);
					var fckhtml = oEditor.GetHTML();
					str += fobj.elements[i].value + "=" + Encrypt(fckhtml) + "&"; 					
				} else {
					str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
				}
                 break; 
           case "textarea": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
                 break; 
           case "checkbox": 
		   		if(fobj.elements[i].checked == true){
                	str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
				}
                 break; 
           case "radio": 
		   		if(fobj.elements[i].checked == true){
                	str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
				}
                 break; 
           case "select-one": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].options[fobj.elements[i].selectedIndex].value) + "&"; 
                break; 
           case "file": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; 
                break; 
       } 
   } 
   str = str.substr(0,(str.length - 1)); 
   return str; 
}



function initAly(){
	var start = new Date();
	alytime = start.getTime();
	//alert('tempo: '+alytime);
}
function endAly(s){
	var end = new Date();
	var ur = document.location.href;
	var ad = ur.split('/');
	var tm = (end.getTime() - alytime) / 1000;
	doAjax(null,'aly.php','local='+escape(s)+'&url='+escape(ad[4])+'&tempo='+tm);
}
function getBrowser(){
	var default_browser = navigator.appName;
	var b;
	b = default_browser.search(/microsoft/i);
	if (b != -1) {
		b = 'IE';
		return b;
	}
	b = default_browser.search(/netscape/i);
	if (b != -1) {
		b = 'NN';
		return b;
	}
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // %        note 1: For 1000.55 result with precision 1 in FF/Opera is 1,000.5, but in IE is 1,000.6
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}