function abrirJanela(url,target,w,h) {
	abrirJanelaScroll(url,target,w,h,'no');
}

function abrirJanelaScroll(url,target,w,h,scrollbar) {
	l = parseInt((screen.width - w) / 2);
	t = parseInt((screen.height - h) / 2);
	window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',scrollbars='+scrollbar);
}
var checkflag ="false";
function check(field) {
	if (checkflag == "false") {
		for (i = 0; i < field.length; i++) {
			field[i].checked = true;
		}
		checkflag = "true";
		return true;
	}
	else
	{
		for (i = 0; i < field.length; i++) {
			field[i].checked = false;
		}
		checkflag = "false";
		return true;
	}
}

function checaSelCheck(field){
	if(field.length){
		for (i = 0; i < field.length; i++){
				if(field[i].checked)return true;
		}
	}else{
		if(field.checked)return true;
		else return false;
	}
	if(i==0){
		if(field.length)	return true;
		else return false;
	}
	return false;
}

function checaVazio(field){
	var vetor = field;
	
	for(i=0;i<vetor.length;i++) {
			if(vetor[i].value.length==0){
				alert('Este campo é obrigatório.');
				vetor[i].focus();
				return false;
			}
	}

	return true;
}

function checaCheckbox(fieldCheckbox,fieldSelect,fieldForm){
	var vlSelecao=fieldSelect.value;
	if(vlSelecao.substr((vlSelecao.length-8),8)=='.exc.php'){ 
		if(checaSelCheck(fieldCheckbox)){
			if(confirm(' Tem certeza que deseja excluir os itens selecionados?')){ 
    		fieldForm.action=vlSelecao;
				fieldForm.submit();
				return true;
     	}else{
				vlSelecao.value='';
				return false;
			}
		}else{
			alert('Nenhum item selecionado!');
			vlSelecao.value='';
			return false; 
		}
	}if(vlSelecao.substr((vlSelecao.length-8),8)=='.edt.php'){ 
		if(checaSelCheck(fieldCheckbox)){
    		fieldForm.action=vlSelecao;
				fieldForm.submit();
				return true;
		}else{
			alert('Nenhum item selecionado!');
			vlSelecao.value='';
			return false;
		}
	}else{
			fieldForm.action=vlSelecao;
			fieldForm.submit();
			return true;
	}
}

function verificarMascara(tecla,m) {
	if (m == '?') {
		return ('0123456789ABCDEFGHIJKLMNOPQRSTUVXWYZÇÁÀÉÈÃÕÏÖÜÄ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else if (m == '#') {
		return ('0123456789'.indexOf(tecla) > -1);
	} else if (m == '$') {
		return ('ABCDEFGHIJKLMNOPQRSTUVXWYZÇÁÀÉÈÃÕÏÖÜÄ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else return false;
}

function mascaraCampo(elemento, mascara, event){
	if (navigator.appName.toLowerCase().indexOf("netscape") > -1)
	ntecla=event.which;
	else
	ntecla=event.keyCode;

	tecla = String.fromCharCode(ntecla);

	var m = mascara.charAt(elemento.value.length);

	var teclas = new Array(0, 8, 9, 13, 16, 17, 18, 20, 27, 28, 29, 30, 31);

	for (var i = 0; i < teclas.length; i ++) {
		if (teclas[i] == ntecla) {
			return true;
		}
	}

	if ((m == '?') || (m == '#') || (m == '$')) {
		return verificarMascara(tecla,m);
	} else {
		elemento.value += mascara.charAt(elemento.value.length);
		m = mascara.charAt(elemento.value.length);
		if (mascara.charAt(elemento.value.length-1) == tecla) return false;
		else return verificarMascara(tecla,m);
	}
}

function isOneChecked(doc,form) {
	for (i = 0;i < doc.forms[form].elements.length;i++) {
		if (doc.forms[form].elements[i].type == 'checkbox') {
			if (doc.forms[form].elements[i].checked) {
				return true;
			}
		}
	}
	return false;
}

function inverterCheckBox(doc,form) {
	for (i = 0;i < doc.forms[form].elements.length;i++) {
		if (doc.forms[form].elements[i].type == 'checkbox') {
			doc.forms[form].elements[i].checked = !doc.forms[form].elements[i].checked;
		}
	}
}

function getSelectionInput (input) {
	var url = prompt("Digite o endereço:", 'http://');
	var Nv = window.navigator.appName;
	if(url != null){
		if(Nv != "Microsoft Internet Explorer"){
			if (typeof input.selectionStart != 'undefined'){
				var Ci = input.selectionStart;
				var Cf = input.selectionEnd;
				var x = input.value.substring(Ci, Cf);
				var Ii = input.value.substring(0, (Ci));
				var If = input.value.substring((Cf), input.value.length);
				input.value = Ii+"<a href=\""+url+"\" target=\"_blank\">"+x+"</a>"+If;
			}}else{
				var element = input;//document.getElementById( 'my_textarea' );
				if( document.selection ){
					var range = document.selection.createRange();
					var stored_range = range.duplicate();
					stored_range.moveToElementText(element);
					stored_range.setEndPoint('EndToEnd', range );
					element.selectionStart = stored_range.text.length - range.text.length;
					element.selectionEnd = element.selectionStart + range.text.length;
				}

				var x = input.value.substring(element.selectionStart,element.selectionEnd);
				var Ii = input.value.substring(0, (element.selectionStart));
				var If = input.value.substring((element.selectionEnd), input.value.length);
				element.value = Ii+"<a href=\""+url+"\" target=\"_blank\">"+x+"</a>"+If;
			}
	}
}

// JavaScript Document

function imprimirFlash(arquivo,w,h,transparente,params) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
	document.write('<param name="movie" value="'+arquivo+'">');
	document.write('<param name=quality value=high>');
	document.write('<param name="menu" value="false">');
	if (typeof params != 'undefined') {
		var p = '';
		for (var i in params) {
			p += i + '="' + params[i] + '" ';
			document.write('<param name="'+i+'" value="'+params[i]+'">');
		}
	}
	if (transparente) {
		document.write('<param name="wmode" value="transparent">');
	}
	document.write('<embed src="'+arquivo+'" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'" ');
	if (transparente) {
		document.write('wmode="transparent" ');
	}
	document.write(p);
	document.write('menu="false"></embed>');
	document.write('</object>');
}

function emitirAlerta(msg,obj) {
	if (msg != '') alert(msg);
	if (obj) obj.focus();
}


function inputOnFocus(obj,padrao) {
	if (obj.value == padrao) {
		obj.value = '';
	}
}

function inputOnBlur(obj,padrao) {
	if (obj.value == '') {
		obj.value = padrao;
	}
}

function setFieldCookie(obj) {
	if (obj) {
		setCookie(obj.name,obj.value);
	}
}

function setCheckCookie(obj) {
	if (obj) {
		setCookie(obj.name,(obj.checked)?(obj.value):(null))
	}
}

function getFieldCookie(name) {
	return getCookie(name);
}

/**
* Realiza a comparação dos valores dos objetos (TextField) com os valores especificados, Caso sejam iguais, exibe a mensagem especificada e retorna false
* Exemplo de autilizaçao:
* arr = new Array({obj:document.getElementById('campo1'),valor:'teste',msg:'Preencha o valor de campo1'},{obj:document.getElementById('campo2'),valor:'',msg:'Preencha o valor de campo2'});
* validacaoFormulario(arr);
*/
function validacaoFormulario(arr) {
	for (i = 0;i < arr.length;i++) {
		if (arr[i]['obj']) {
			if (arr[i]['obj'].value == arr[i]['valor']) {
				emitirAlerta(arr[i]['msg'],arr[i]['obj']);
				return false;
			}
		}
	}
	return true;
}


function attachEvent(obj, evt, fnc) {
	if (obj.attachEvent) {
		obj.detachEvent('on'+evt, fnc);
		obj.attachEvent('on'+evt, fnc);
	} else {
		obj.removeEventListener(evt, fnc, true);
		obj.addEventListener(evt, fnc, true);
	}
}

function detachEvent(obj, evt, fnc) {
	if (obj.detachEvent) {
		obj.detachEvent('on'+evt, fnc);
	} else {
		obj.removeEventListener(evt, fnc, true);
	}
}

function realTop (obj) {
	var _o = obj;
	var r = 0;
	while (_o) {
		r += _o.offsetTop;
		_o = _o.offsetParent;
	}
	return r;
}

function realLeft (obj) {
	var _o = obj;
	var r = 0;
	while (_o) {
		r += _o.offsetLeft;
		_o = _o.offsetParent;
	}
	return r;
}

/* 
Essas funções foram testadas no Mozilla FireFox 1.5, Internet explorer 6, Opera 9
Navegadores inferiores a estas versões pode executar o script de maneira errada
*/

// função pega versão do navegador
function versaoNav(){
	var ns4=(document.layers)? true:false;
	var ns6=document.getElementById&&!document.all
	var ie=(document.all)? true:false;
	if(ns4)	return "ns4";
	if(ns6)	return "ns6";
	else if(ie) return "ie";

}

//função pega posição do cursor
function posCursor(e) {
  if (versaoNav()=="ie") { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
  resultado = tempX+"|"+tempY;
  return resultado;
}

//função que mostra layer
function mostraLay(cmp,msg,e){
	var strxy=posCursor(e);
  var possep = strxy.indexOf('|');

  if(msg!=""){
  if (versaoNav()=="ie") document.all(cmp).innerHTML=msg;
  else  document.getElementById(cmp).innerHTML=msg;
  }
  document.getElementById(cmp).style.visibility='visible';
  document.getElementById(cmp).style.left=strxy.substring(0,possep);
  document.getElementById(cmp).style.top=strxy.substring(possep+1);	
}

function mostraLay2(cmp,e){
	var strxy=posCursor(e);
  var possep = strxy.indexOf('|');

	 document.getElementById(cmp).style.visibility='visible';
  document.getElementById(cmp).style.left=strxy.substring(0,possep)-245;
  document.getElementById(cmp).style.top=strxy.substring(possep+1);
}

//Função fecha a layer
function fechaLay(cmp){
   	document.getElementById(cmp).style.visibility='hidden';
}
