Event.observe(window, 'load', foco);
Event.observe(window, 'load', setClassNameToMenu);
Event.observe(window, 'load', setFocusStyleToInput);
Event.observe(window, 'load', function() { formatadores(document) });

/*
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
*/

//Abre popUp do simulador Cabal Vale
function abrirPopUp() {
	var janela = window.open("https://web.sipag.com.br/multigestor/wrk/simulacaocabalvale/simulacao.jsp", "", "width=600, height=700, location=no, directories=no, scrollbars=yes, 	menubar=no,statusbar=no, resizable=no");
	if (!janela) {
		alert('O seu browser ou um programa bloqueador de pop-ups está impedindo a visualização de uma nova janela referente ao script 	de atendimento, autorize o uso de pop-ups para esse site.');
	} else {
		janela.focus();
	}
}

//Detecta browser
var detect = navigator.userAgent.toLowerCase(),
	OS,
	browser,
	version,
	total,
	thestring,
	pagURL = window.location;
	
function getBrowser() { 
	if (checkIt('konqueror')) {
		browser = "Konqueror";
		OS = "Linux";
	}
	else if (checkIt('safari')) browser 	= "Safari"
	else if (checkIt('omniweb')) browser 	= "OmniWeb"
	else if (checkIt('opera')) browser 		= "Opera"
	else if (checkIt('webtv')) browser 		= "WebTV";
	else if (checkIt('icab')) browser 		= "iCab"
	else if (checkIt('msie')) browser 		= "Internet Explorer"
	else if (!checkIt('compatible')) {
		browser = "Netscape Navigator"
		version = detect.charAt(8);
	}
	
	else browser = "An unknown browser";
	if (!version) version = detect.charAt(place + thestring.length);

	if (!OS) {
		if (checkIt('linux')) OS 		= "Linux";
		else if (checkIt('x11')) OS 	= "Unix";
		else if (checkIt('mac')) OS 	= "Mac"
		else if (checkIt('win')) OS 	= "Windows"
		else OS 						= "an unknown operating system";
	}	
	return browser;
}

//Verifica dada string
function checkIt(string) {
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

/*
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
*/

var objeto;
var notWhitespace = /\S/;
function formatadores(node) {
	getBrowser();
	
	if (browser == 'Internet Explorer')
		evt = 'e';
	
	else
		evt = 'event';
		
	for(var i = 0; i < node.childNodes.length; i++) {
		var nodes = node.childNodes[i];
		
		if ((nodes.nodeType == 3)&&(!notWhitespace.test(nodes.nodeValue))) {
			node.removeChild(node.childNodes[i])
			i--
			
		}
			
		if (nodes.nodeType == 1)
			formatadores(nodes)
		
		if(/pressEnter/.test(nodes.className)) {
			objeto = nodes;
			Event.observe(nodes, 'keydown', function(event) {
				switch(event.keyCode) {
					case 13:
						var timer = 0;
						if (timer) clearTimeout(timer);
						timer = setTimeout( function() { new Function(evt, 'return ' + eval(objeto.accessKey)); }, 100);
						break;
						
				}
				
			});
			
		}

		if(/download/.test(nodes.className)) {
			var TR = nodes.getElementsByTagName('TBODY')[0].getElementsByTagName('TR')[0];
			for(var j = 0; j < TR.childNodes.length; j++) {
				if(TR.childNodes[j].tagName == 'TD')
					TR.childNodes[j].style.border = 'none';
				
			}
			
		}

		if(/sair/.test(nodes.className)) {
			Event.observe(nodes, 'click', function(event) {
				event.stop();
				document.forms[0].ctr.value = '003';
				document.forms[0].submit();
				
			});
			
		}
		
		if(/popup-rede-credenciada/.test(nodes.className)) {
			Event.observe(nodes, 'click', function(event) {
				event.stop();
				Popup.open(
					{
						url    : this.href,
						height : window.screen.height,
						width  : 600
					}
				);
				
			});
			
		}

		if(/cpf/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataTxt(this, \'999.999.999-99\', event);');

		if(/cnpj/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataTxt(this, \'99.999.999/9999-99\', event);');
			
		if(/cep/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataTxt(this, \'99.999-999\', event);');
			
		if(/data/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataTxt(this, \'99/99/9999\', event);');
			
		if(/telefone/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataTxt(this, \'(99) 9999-9999\', event);');
			
		if(/moeda/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return formataMoeda(this, 10, event);');
			
		if(/somenteNumeros/.test(nodes.className))
			nodes.onkeydown = new Function(evt, 'return somenteNumeros(event);');
			
		if(/upperCase/.test(nodes.className))
			nodes.onblur = new Function(evt, 'return trocaCaracteres_UpperCase(this);');
		
	}
	
}

var Popup = {
	open: function(options) {
	    this.options = {
	    	url       : '#',
	    	width     : 600,
	    	height    : 500,
	    	name      : "_blank",
	    	location  : "no",
	    	menubar   : "no",
	    	toolbar   : "no",
	    	status    : "yes",
	    	scrollbars: "yes",
	    	resizable : "yes",
	    	left      : "",
	    	top       : "",
	    	normal    : false
	    }
	    
	    Object.extend(this.options, options || {});

	    if (this.options.normal){
	        this.options.menubar  = "yes";
	        this.options.status   = "yes";
	        this.options.toolbar  = "yes";
	        this.options.location = "yes";
	    }

	    this.options.width = this.options.width < screen.availWidth?this.options.width:screen.availWidth;
	    this.options.height=this.options.height < screen.availHeight?this.options.height:screen.availHeight;
	    var openoptions = 'width='+this.options.width+',height='+this.options.height+',location='+this.options.location+',menubar='+this.options.menubar+',toolbar='+this.options.toolbar+',scrollbars='+this.options.scrollbars+',resizable='+this.options.resizable+',status='+this.options.status
	    if (this.options.top!="")openoptions+=",top="+this.options.top;
	    if (this.options.left!="")openoptions+=",left="+this.options.left;
	    window.open(this.options.url, this.options.name,openoptions );
	    
	    return false;
	    
  	}

}

var primeiroInput     = true;
var primeiroInputErro = true;
function foco(bool) {
	var input = document.getElementsByTagName('input');
	
	if(bool == true) 
		primeiroInput = bool;
	
	for(var i=0; i<input.length; i++) {
		if(input[i].type == 'text' || input[i].type == 'password') {
			if(primeiroInput == true) {
				try {
					input[i].focus();
					
				} catch (e) { }
				
				primeiroInput = false;
				
			}
			
		}
		
		if(/erro/.test(input[i].className)) {
			if(primeiroInputErro == true) {
				try {
					input[i].focus();
					
				} catch (e) { }
				
				primeiroInputErro = false;
				
			}
			
		}
		
	}
	
}

function setClassNameToMenu() {
	getBrowser();
	
	if(browser == 'Internet Explorer' && version < 7) {
		var nodes = $('menu').childElements();
		
		for(var i = 0; i < nodes.length; i++) {
			nodes[i] = $(nodes[i]).childElements();
			
			for(var j = 0; j < nodes[i].length; j++) {
				nodes[i][j] = $(nodes[i][j]).childElements();
				
				for(var k = 0; k < nodes[i][j].length; k++) {
					if($(nodes[i][j][k]).tagName == 'A') {
						$(nodes[i][j][k]).addClassName('first-child');
					
					}
					
				}
			
			}
				
		}
		
	}
	
}

function setFocusStyleToInput() {
	getBrowser();
	
	if(browser == 'Internet Explorer') {
		var input    = document.getElementsByTagName('input');
		var textarea = document.getElementsByTagName('textarea');
		var selects  = document.getElementsByTagName('select');
		
		for(var i = 0; i < input.length; i++) {
			if((input[i].type == 'text') || (input[i].type == 'password')) {
				input[i].onfocus = function() {
					this.style.backgroundColor = '#ffffff';
					this.style.borderStyle     = 'solid';
					this.style.borderWidth     = '2px';
					this.style.borderColor     = '#cbf0ff';
					this.style.color		   = '#636363';
				
				}
				
				input[i].onblur = function() {
					this.style.backgroundColor = '#eaf9ff';
					this.style.borderStyle     = 'solid';
					this.style.borderWidth     = '2px';
					this.style.borderColor     = '#eaf9ff';
					this.style.color		   = '#646361';
					
				}
				
			}
			
		}
		
		for(var i = 0; i < textarea.length; i++) {
			textarea[i].onfocus = function() {
				this.style.backgroundColor = '#ffffff';
				this.style.borderStyle     = 'solid';
				this.style.borderWidth     = '2px';
				this.style.borderColor     = '#cbf0ff';
				this.style.color		   = '#636363';
			
			}
			
			textarea[i].onblur = function() {
				this.style.backgroundColor = '#eaf9ff';
				this.style.borderStyle     = 'solid';
				this.style.borderWidth     = '2px';
				this.style.borderColor     = '#eaf9ff';
				this.style.color		   = '#646361';
				
			}
			
		}
		
		for(var i = 0; i < selects.length; i++) {
			selects[i].style.backgroundColor = '#eaf9ff';
			selects[i].style.borderStyle     = 'solid';
			selects[i].style.borderWidth     = '0px';
			selects[i].style.borderColor     = '#eaf9ff';
			selects[i].style.color		     = '#646361';
			selects[i].style.padding	     = '4px';
			
		}
		
	}
}
