var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;

var toolTipSTYLE="";


// Dá alert ao dar CTRL+C ou CTRL+A em browsers não-IE
if ((document.getElementById || document.layers) && (!document.all)) {
  document.onkeypress = function (evt) {
    var r = '';
    var ctrl = 0;
    
    if (document.getElementById && (!document.all)) {
      ctrl = evt.ctrlKey;
    }
    else if (document.layers) {
      ctrl = Event.CONTROL_MASK;
    } 
    r = String.fromCharCode(evt.which).toUpperCase();    
    if (ctrl){
    	if (r=='C') alert('AVISO:\nCopyright Sicon - Todos Direitos Autorais Reservados.\nEm caso de reprodução parcial, a fonte deve ser expressamente mencionada no formato: \n"Fonte: Sicon - www.sicon.org.br"');
  	}
  }
}
//IE
function copyright (){
 alert('AVISO:\nCopyright Sicon - Todos Direitos Autorais Reservados.\nEm caso de reprodução parcial, a fonte deve ser expressamente mencionada no formato: \n"Fonte: Sicon - www.sicon.org.br"');
 }

function redimensiona(width, height) {
 var width_tela   = self.screen.width;
 var height_tela  = self.screen.height;
 var pos_esquerda  = (width_tela - width)/2;
 var pos_direita  = (height_tela - height)/2;
 
 self.moveTo(pos_esquerda,pos_direita); //centraliza
 self.resizeTo(width, height); //redimensiona
 
}

function formata_horario(obj) {
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
		}
	else{
		if(obj.value.length==2){
			obj.value = obj.value + ":";
		}
	}
}

function formata_data(obj) {
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
		}
	else{
		if(obj.value.length==2||obj.value.length==5){
			obj.value = obj.value + "/";
		}
	}
}

function abrir(url) {
	window.open(url, 'S','resizable=yes,scrollbars=no');
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function ampliar_foto(foto) {
	abrir('popup_fotos_produto.asp?foto='+foto);
}

function apaga_valor_campo(destino) {
	destino.value = '';
}

function apenasNumero(input) {
	if ((event.keyCode<46)||(event.keyCode>57)||(event.keyCode==47)) {
		event.returnValue = false;
	}
}

function carrega() {
	document.getElementById("carrega_mensagem").style.display = 'none';
	document.getElementById("corpo").style.display = 'inline';
}

function carrega_define_posicao() {
  var x,y;
  if (self.innerHeight)
  {// all except Explorer
    x = self.innerWidth;
    y = self.innerHeight;
  }
  else 
  if (document.documentElement && document.documentElement.clientHeight)
  {// Explorer 6 Strict Mode
   x = document.documentElement.clientWidth;
   y = document.documentElement.clientHeight;
  }
  else
  if (document.body)
  {// other Explorers
   x = document.body.clientWidth;
   y = document.body.clientHeight;
  }
	var el=document.getElementById('carrega_mensagem');
	if(null!=el)
	{
		var top = (y/2) - 50;
		var left = (x/2) - 200;
		if( left<=0 ) left = 10;

		el.style.left = left + "px"
		el.style.top = top + "px";
		el.style.zIndex = 2;
	}
}

function centraliza_janela(width, height) {
	var width_janela	= eval(width);
	var height_janela	= eval(height);
	var width_tela 		= self.screen.width;
	var height_tela 	= self.screen.height;
	var pos_esquerda 	= (width_tela - width_janela)/2;
	var pos_direita 	= (height_tela - height_janela)/2;

	self.moveTo(pos_esquerda,pos_direita); //centraliza
	self.resizeTo(width_janela, height_janela); //redimensiona
}

function checou(campo) {
	if(campo) {
		if(campo.length) {
			for (var i=0; i<campo.length; i++) {
				if( campo[i].checked ) return true;
			}
			return false;
		}
		else {
			if(campo.checked) return true;
			return false;
		}
	}
	else {
		return false;
	}
}

function conta_checado(campo) {
	var acum = 0;
	if(campo) {
		if(campo.length) {
			for (var i=0; i<campo.length; i++) {
				if( campo[i].checked ) acum++;
			}
		}
		else {
			if(campo.checked) acum++;
		}
	}
	return acum;
}

function valida_campos() {
	var f = document.formulario;
	if (isDate(f.data.value)) {
		return true;
	}
	else {
		alert('Data inválida');
		return false;
	}
}

function isDate(data) {

	if(!data) return false;
	
	var data_separada = data.split('/'); //separa as datas
	if(data_separada.length < 3) return false; //deve possuir a estrutura dd:mm:aaaa
	
	var dia = data_separada[0];
	var mes = data_separada[1];
	var ano = data_separada[2];
	
	//verificando se o dia, o mês e o ano são numéricos
	if( isNaN(dia) ) return false;
	if( isNaN(mes) ) return false;
	if( isNaN(ano) ) return false;
	
	//verificando se a faixa do mês está correta
	if( (mes<0)||(mes>12) ) return false;

	//verificando se o ano possui 4 dígitos
	if( ano.length!=4 ) return false;

	var dia_max;
	
	switch (mes)
	{
		case '1':
		case '01':
		case '3':
		case '03':
		case '5':
		case '05':
		case '7':
		case '07':
		case '8':
		case '08':
		case '10':
		case '12':
		{
			dia_max=31;
			break;
		}
		case '4':
		case '04':
		case '6':
		case '06':
		case '9':
		case '09':
		case '11':
		{
			dia_max=30;
			break;
		}
		case '2':
		case '02':
		{

			if (ano%4==0) {
			//Ano bissexto
				dia_max=29;
			}
			else {
			//Ano não bissexto
				dia_max=28;
			}
			break;
		}
	}
	if( parseInt(dia) > parseInt(dia_max) ) return false;
	
	return true;
}

function aparece()
{
	document.getElementById('foto').style.display='';
}

function some() 
{
	document.getElementById('foto').style.display='none';
}

function confirma_exclusao(area,codigo)
{
  if(confirm("Deseja realmente excluir?"))
  {
   window.location = area+'_excluir.asp?codigo='+codigo;
  }
  else
  {
   alert('Exclusão cancelada');
  }
}

function excluir(form, campo) {
	var campo= eval('document.'+form+'.'+campo);
	var form = eval('document.'+form);
	
	if(checou(campo)) {
		if(confirm("Deseja realmente excluir?")) {
			form.submit();
		}
	}
	else {
		alert('Selecione primeiro o que deseja excluir');
	}
}

function apenas_numero(e)
{
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	if ((key == 0) || (key == 8)) {
		return true
	}
	else {
		reg = /\d/;
		return reg.test(keychar);
	}  
}

function ajustar_data(Campo, teclapres)
{
	var retorno = apenas_numero(teclapres);

	if (retorno) {
		if(window.event) {
			var tecla = teclapres.keyCode;
		}
		else {
			var tecla = teclapres.which;
		}
	
		var vr = new String(Campo.value);
		vr = vr.replace("/", "");
		vr = vr.replace("/", "");
		
		tam = vr.length + 1;
		
		if (tecla != 9 && tecla != 8) {
			if (tam > 2 && tam < 5) {
				Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, tam);
			}
			if (tam >= 5 && tam <= 10) {
				Campo.value = vr.substr(0,2) + '/' + vr.substr(2,2) + '/' + vr.substr(4,tam-4);
			}
		}
	}
	
	return retorno;
}

function formata_telefone(obj){
   if (obj.value.length==4){
	   obj.value = obj.value + "-";
   }
}

function formata_cpf(obj) {
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
		}
	else{
		if((obj.value.length==3)||(obj.value.length==7)){
			obj.value = obj.value + ".";
		}
		else{
			if(obj.value.length==11){
				obj.value = obj.value + "-";
			}
		}
	}
}

function le_ementa(origem, destino) {
	var form    = origem.form;
	var destino = eval("document."+form.name+"."+destino);
	destino.value = ementas[origem.value];
}

function limpa_se_igual(obj, msg) {
	if(obj.value==msg) {
		obj.value='';
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
 
function move(index,to) {
	var list = document.form_ordenar.list;
	var total = list.options.length-1;
	if (index == -1) return false;
	if (to == +1 && index == total) return false;
	if (to == -1 && index == 0) return false;
	var items = new Array;
	var values = new Array;
	for (i = total; i >= 0; i--) {
		items[i] = list.options[i].text;
		values[i] = list.options[i].value;
	}
	for (i = total; i >= 0; i--) {
		if (index == i) {
			list.options[i + to] = new Option(items[i],values[i + to], 0, 1);
			list.options[i] = new Option(items[i + to], values[i]);
			i--;
		}
		else {
			list.options[i] = new Option(items[i], values[i]);
		}
	}
	list.focus();
}


function move_submit() {
	var list = document.form_ordenar.list;
	var theList = "?";
	// start with a "?" to make it look like a real query-string
	for (i = 0; i <= list.options.length-1; i++) { 
		cod = list.options[i].text.split(',');
		theList += "tL" + "=" + parseInt(cod[0]);
		// a "&" only BETWEEN the items, so not at the end
		if (i != list.options.length-1) theList += "&";
	}
	//alert(theList);
	//alert(theList.length);
	location.href = document.form_ordenar.action + theList;
}

function muda_estilo(destino, estilo) {
	var obj = document.getElementById(destino);
	obj.className = estilo;
}
	
function MudaFilho(formulario, Pai, Filho, Vetor)	{
	var f=formulario.elements;
	var N=Vetor.length-1;
	var indice=f[Pai].options[f[Pai].selectedIndex].value;
	f[Filho].length=1;
	f[Filho].options[0].text='Selecione';
	f[Filho].options[0].value='';
	if (indice!=0) {  
	  for (var i = 0; i<=N; i++) {
	    if (Vetor[i][0]==indice){
				f[Filho].length=f[Filho].length+1;
				f[Filho].options[f[Filho].length-1] = new Option(Vetor[i][2],Vetor[i][1]);
	    }
	  }
	}
}

function retorna_valor_select(campo) {
	var retorno = "";
	if(campo) {
		if(campo.length) {
			for (var i=0; i<campo.length; i++) {
				if( campo[i].selected ) retorno = campo[i].value;
			}
		}
		else {
			if(campo.selected) retorno = campo.checked;
		}
	}
	else {
		retorno = "";
	}
	return retorno;
}

function suja_se_vazio(obj, msg) {
	if(obj.value=='') {
		obj.value=msg;
	}
}

function valida_submit(area)
{	
	var f = document.formulario;
	if(area == 'noticias')
	{
		if(f.data.value == "" || isDate(f.data.value) == false || f.data.value == "00/00/0000") 
		{
			alert("Digite uma data válida");
			return false;
		}
		if(f.titulo.value == "") 
		{
			alert("Digite um título");
			return false;
		}
		if(f.chamada.value == "") 
		{
			alert("Digite uma chamada");
			return false;
		}
		return true;	
	}
	if(area == "entrevistas")
	{
		if(f.data.value == "" || isDate(f.data.value) == false || f.data.value == "00/00/0000") 
		{
			alert("Digite uma data válida");
			return false;
		}
		if(f.titulo.value == "") 
		{
			alert("Digite um título");
			return false;
		}
		if(f.chamada.value == "") 
		{
			alert("Digite uma chamada");
			return false;
		}
		return true;	
	}
	if(area == "artigos")
	{
		if(f.data.value == "" || isDate(f.data.value) == false || f.data.value == "00/00/0000") 
		{
			alert("Digite uma data válida");
			return false;
		}
		if(f.titulo.value == "") 
		{
			alert("Digite um título");
			return false;
		}
		if(f.chamada.value == "") 
		{
			alert("Digite uma chamada");
			return false;
		}
		return true;	
	}
	if(area == "eventos")
	{
		if(f.data.value == "" || isDate(f.data.value) == false || f.data.value == "00/00/0000") 
		{
			alert("Digite uma data válida");
			return false;
		}
		if(f.titulo.value == "") 
		{
			alert("Digite um título");
			return false;
		}
		if(f.chamada.value == "") 
		{
			alert("Digite uma chamada");
			return false;
		}
		return true;	
	}
}
function verifica_form_tipo() {
	var f = document.form_tipo;
	if(f.tipo_nome.value==0) {
		alert('Por favor, informe o nome!');
		f.tipo_nome.focus();
		return false;
	}
	if(f.tipo_abreviacao.value==0) {
		alert('Por favor, informe a abreviação!');
		f.tipo_abreviacao.focus();
		return false;
	}
	return true;
}

function verifica_form_cidade() {
	var f = document.form_cidade;
	if(f.estado_codigo.value==0) {
		alert('Por favor, selecione o estado!');
		f.estado_codigo.focus();
		return false;
	}
	if(f.cidade_nome.value==0) {
		alert('Por favor, informe o nome!');
		f.cidade_nome.focus();
		return false;
	}
	if(f.cidade_abreviacao.value==0) {
		alert('Por favor, informe a abreviação!');
		f.cidade_abreviacao.focus();
		return false;
	}
	return true;
}

function verifica_form_empresa() {
	var f = document.form_empresa;
	if(f.razao_social.value==0) {
		alert('Por favor, informe a razão social!');
		f.razao_social.focus();
		return false;
	}
	if(f.nome_fantasia.value==0) {
		alert('Por favor, informe o nome fantasia!');
		f.nome_fantasia.focus();
		return false;
	}
	if(f.cnpj.value==0) {
		alert('Por favor, informe o CNPJ!');
		f.cnpj.focus();
		return false;
	}
	if(f.ddd_telefone.value==0) {
		alert('Por favor, informe o telefone!');
		f.ddd_telefone.focus();
		return false;
	}
	if(f.telefone.value==0) {
		alert('Por favor, informe o telefone!');
		f.telefone.focus();
		return false;
	}
	if(f.email.value==0) {
		alert('Por favor, informe o email!');
		f.email.focus();
		return false;
	}
	if(!checou(f.tipo)) {
		alert('Por favor, selecione o tipo!');	
		return false;
	}
	return true;
}

function verifica_form_area_campo(url, tira_validacao) {
	var f = document.form_area_campo;
	if(!tira_validacao) {
		if(f.area_campo_nome.value==0) {
			alert('Por favor, informe a Área / Campo!');
			f.area_campo_nome.focus();
		}
		else {
			f.action = url;
			f.submit();
		}
	}
	else {
		f.action = url;
		f.submit();
	}
}

function verifica_form_corporativa() {
	var f = document.form_corporativa;
	var competencia = retorna_valor_select(f.competencia_codigo);
	if(f.corporativa_numero.value==0) {
		alert('Por favor, preencha o nº!');
		f.corporativa_numero.focus();
		return false;
	}
	if(f.corporativa_ano.value==0) {
		alert('Por favor, preencha o ano!');
		f.corporativa_ano.focus();
		return false;
	}
	if(f.tipo_codigo.value==0) {
		alert('Por favor, escolha o tipo!');
		f.tipo_codigo.focus();
		return false;
	}
	if(f.area_campo_codigo.value==0) {
		alert('Por favor, escolha a área / campo!');
		f.area_campo_codigo.focus();
		return false;
	}
	if(f.competencia_codigo.value==0) {
		alert('Por favor, escolha a competência!');
		f.competencia_codigo.focus();
		return false;
	}
	if(f.orgao_codigo.value==0) {
		alert('Por favor, escolha o órgão!');
		f.orgao_codigo.focus();
		return false;
	}
	if( competencia!=2 ) {
		if(f.estado_codigo.value==0) {
			alert('Por favor, escolha o estado!');
			f.estado_codigo.focus();
			return false;
		}
		if( competencia==3 ) {
			if(f.cidade_codigo.value==0) {
				alert('Por favor, escolha a cidade!');
				f.cidade_codigo.focus();
				return false;
			}
		}
	}
	if(f.corporativa_requisito.value==0) {
		alert('Por favor, preencha o requisito!');
		f.corporativa_requisito.focus();
		return false;
	}
	if(f.tema_codigo.value==0) {
		alert('Por favor, escolha o tema!');
		f.tema_codigo.focus();
		return false;
	}
	if(f.corporativa_ementa.value==0) {
		alert('Por favor, preencha a ementa!');
		f.corporativa_ementa.focus();
		return false;
	}
	if(f.cd_corporativa.value==0) {
		if(f.arquivo.value==0) {
			alert('Por favor, escolha o arquivo!');
			f.arquivo.focus();
			return false;
		}
	}
	if(f.corporativa_dt_expedicao.value==0) {
		alert('Por favor, preencha a data da expedição!');
		f.corporativa_dt_expedicao.focus();
		return false;
	}
	if(f.corporativa_dt_validade.value==0) {
		alert('Por favor, preencha a data da validade!');
		f.corporativa_dt_validade.focus();
		return false;
	}
	return true;
}

function verifica_form_legislacao() {
	var f = document.form_legislacao;
	var competencia = retorna_valor_select(f.competencia_codigo);
	if(f.legislacao_numero.value==0) {
		alert('Por favor, preencha o nº!');
		f.legislacao_numero.focus();
		return false;
	}
	if(f.legislacao_ano.value==0) {
		alert('Por favor, preencha o ano!');
		f.legislacao_ano.focus();
		return false;
	}
	if(f.tipo_codigo.value==0) {
		alert('Por favor, escolha o tipo!');
		f.tipo_codigo.focus();
		return false;
	}
	if(f.area_campo_codigo.value==0) {
		alert('Por favor, escolha a área / campo!');
		f.area_campo_codigo.focus();
		return false;
	}
	if(f.competencia_codigo.value==0) {
		alert('Por favor, escolha a competência!');
		f.competencia_codigo.focus();
		return false;
	}
	if(f.orgao_codigo.value==0) {
		alert('Por favor, escolha o órgão!');
		f.orgao_codigo.focus();
		return false;
	}
	if( competencia!=2 ) {
		if(f.estado_codigo.value==0) {
			alert('Por favor, escolha o estado!');
			f.estado_codigo.focus();
			return false;
		}
		if( competencia==3 ) {
			if(f.cidade_codigo.value==0) {
				alert('Por favor, escolha a cidade!');
				f.cidade_codigo.focus();
				return false;
			}
		}
	}
	if(f.legislacao_requisito.value==0) {
		alert('Por favor, preencha o requisito!');
		f.legislacao_requisito.focus();
		return false;
	}
	if(f.tema_codigo.value==0) {
		alert('Por favor, escolha o tema!');
		f.tema_codigo.focus();
		return false;
	}
	if(f.legislacao_ementa.value==0) {
		alert('Por favor, preencha a ementa!');
		f.legislacao_ementa.focus();
		return false;
	}
	if(f.cd_legislacao.value==0) {
		if(f.arquivo.value==0) {
			alert('Por favor, escolha o arquivo!');
			f.arquivo.focus();
			return false;
		}
	}
	return true;
}

function verifica_form_usuario() {
	var f = document.form_usuario;	
	if(f.empresa_codigo.value==0) {
		alert('Por favor, escolha a empresa!');
		f.empresa_codigo.focus();
		return false;
	}
	if(f.usuario_nome.value==0) {
		alert('Por favor, informe o nome!');
		f.usuario_nome.focus();
		return false;
	}
	if(f.usuario_email.value==0) {
		alert('Por favor, informe o email!');
		f.usuario_email.focus();
		return false;
	}
	if(f.usuario_login.value==0) {
		alert('Por favor, informe o login!');
		f.usuario_login.focus();
		return false;
	}
	if(f.usuario_senha.value==0) {
		alert('Por favor, informe a senha!');
		f.usuario_senha.focus();
		return false;
	}
	if(f.usuario_senha.value!=f.usuario_senha_confirmacao.value) {
		alert('Por favor, confirme a senha!');
		f.usuario_senha_confirmacao.select();
		return false;
	}
	if(!checou(f.master)) {
		alert('Por favor, informe o nível do usuário!');
		return false;
	}
	return true;
}

function verifica_form_orgao(url, tira_validacao) {
	var f = document.form_orgao;
	if(!tira_validacao) {
		if(f.orgao_nome.value==0) {
			alert('Por favor, informe o Órgão!');
			f.orgao_nome.focus();
		}
		else {
			f.action = url;
			f.submit();
		}
	}
	else {
		f.action = url;
		f.submit();
	}
}

function verifica_form_tema(url, tira_validacao) {
	var f = document.form_tema;
	if(!tira_validacao) {
		if(f.tema_nome.value==0) {
			alert('Por favor, informe o Tema!');
			f.tema_nome.focus();
		}
		else {
			f.action = url;
			f.submit();
		}
	}
	else {
		f.action = url;
		f.submit();
	}
}

function verifica_upload_sansouth(lang) {
	var f = document.form_upload_sansouth;
	if(lang=='en') {
		var msg = 'Please, select the file!';
	}
	else {
		var msg = 'Por favor, selecione o arquivo!';
	}
	if(f.arquivo.value==0) {
		alert(msg);
		f.arquivo.focus();
		return false;
	}
	return true;
}

	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
	function containsElement(arr, ele) {
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
	found = true;
	else
	index++;
	return found;
	}
	function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
	if (input.form[i] == input)index = i;
	else i++;
	return index;
	}
	return true;
	}

function verifica_motoboy(obj) {
	var f = eval('document.'+obj.form.name);
	var iframe = document.getElementById('iframe_verifica_motoboy');
	verificou_motoboy = false;
	
	if( (f.cep1.value.length<5)||(f.cep2.value.length<3) ) {
		alert('Preencha corretamente o CEP!');
		f.cep1.focus();
		obj.checked = false;
	}
	else {
		iframe.src = 'iframe_verifica_motoboy.asp?cep1='+f.cep1.value+'&cep2='+f.cep2.value;		
	}
	
}

function initToolTips()
{
  if(ns4||ns6||ie4)
  {
    if(ns4) toolTipSTYLE = document.toolTipLayer;
    else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style;
    else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
    if(ns4) document.captureEvents(Event.MOUSEMOVE);
    else
    {
      toolTipSTYLE.visibility = "visible";
      toolTipSTYLE.display = "none";
    }
    document.onmousemove = moveToMouseLoc;
  }
}
function toolTip(msg, fg, bg)
{
  if(toolTip.arguments.length < 1) // hide
  {
    if(ns4) toolTipSTYLE.visibility = "hidden";
    else toolTipSTYLE.display = "none";
  }
  else // show
  {
    if(!fg) fg = "#204373";
    if(!bg) bg = "#D7DBE7";
    var content =
    '<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg + '"><td>' +
    '<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + bg + 
    '"><td align="center" style="font-family:Verdana; font-size:9px;"><font color="' + fg +
    '">&nbsp\;' + msg +
    '&nbsp\;</font></td></table></td></table>';
    if(ns4)
    {
      toolTipSTYLE.document.write(content);
      toolTipSTYLE.document.close();
      toolTipSTYLE.visibility = "visible";
    }
    if(ns6)
    {
      document.getElementById("toolTipLayer").innerHTML = content;
      toolTipSTYLE.display='block'
    }
    if(ie4)
    {
      document.all("toolTipLayer").innerHTML=content;
      toolTipSTYLE.display='block'
    }
  }
}
function moveToMouseLoc(e)
{
  if(ns4||ns6)
  {
    x = e.pageX;
    y = e.pageY;
  }
  else
  {
    x = event.x + document.body.scrollLeft;
    y = event.y + document.body.scrollTop;
  }
  toolTipSTYLE.left = x + offsetX;
  toolTipSTYLE.top = y + offsetY;
  return true;
}

MaskInput = function(f, m){
    function mask(e){
        var patterns = {"1": /[A-Z]/i, "2": /[0-9]/, "4": /[\xC0-\xFF]/i, "8": /./ },
            rules = { "a": 3, "A": 7, "9": 2, "C":5, "c": 1, "*": 8};
        function accept(c, rule){
            for(var i = 1, r = rules[rule] || 0; i <= r; i<<=1)
                if(r & i && patterns[i].test(c))
                    break;
                return i <= r || c == rule;
        }
        var k, mC, r, c = String.fromCharCode(k = e.key), l = f.value.length;
        (!k || k == 8 ? 1 : (r = /^(.)\^(.*)$/.exec(m)) && (r[0] = r[2].indexOf(c) + 1) + 1 ?
            r[1] == "O" ? r[0] : r[1] == "E" ? !r[0] : accept(c, r[1]) || r[0]
            : (l = (f.value += m.substr(l, (r = /[A|9|C|\*]/i.exec(m.substr(l))) ?
            r.index : l)).length) < m.length && accept(c, m.charAt(l))) || e.preventDefault();
    }
    for(var i in !/^(.)\^(.*)$/.test(m) && (f.maxLength = m.length), {keypress: 0, keyup: 1})
        addEvent(f, i, mask);
};

addEvent = function(o, e, f, s){
    var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
    r[r.length] = [f, s || o], o[e] = function(e){
        try{
            (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
            e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
            e.target || (e.target = e.srcElement || null);
            e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
        }catch(f){}
        for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
        return e = null, !!d;
    }
};

removeEvent = function(o, e, f, s){
    for(var i = (e = o["_on" + e] || []).length; i;)
        if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
            return delete e[i];
    return false;
};
