// JavaScript Document

// Valida uma data no formato dd/mm/yyyy.
function checkdate(input){
	var dayfield=input.split("/")[0]
	var monthfield=input.split("/")[1]
	var yearfield=input.split("/")[2]
	var dayobj = new Date(yearfield, monthfield-1, dayfield)
	if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		returnval=false
	else
		returnval=true
	return returnval
}

// Formata uma data ddmmyyyy para dd/mm/yyyy no evento onKeyUp do campo do formulario.
function maskdate(dt){
	var ret='';
	if(dt.value.length==2 || dt.value.length==5){
		ret = String(dt.value) + '/';
		}
		else{
			ret = String(dt.value);
			}
	dt.value = ret;
	return;
}

// Limita o tamanho do conteudo de um textarea de acordo com o parametro <size> informado.
function forceMaxLength(field, size){
	if(field.value.length > size){
		alert('Este campo aceita até '+ size +' caracteres.');
		field.value = field.value.substring(0,size);
		field.focus();
	}
	return;
}

// Limpa os campos de um form.
function clearForm(formId){ 
  var form, elements, i, elm; 
  form = document.getElementById ? document.getElementById(formId) : document.forms[formId]; 
	if (document.getElementsByTagName){
		elements = form.getElementsByTagName('input');
		for(i=0,elm; elm=elements.item(i++); ){
			if (elm.getAttribute('type') == "text" || elm.getAttribute('type') == "password"){
				elm.value = "";
			}
		}
		elements = form.getElementsByTagName('textarea');
		for(i=0,elm; elm=elements.item(i++); ){
			elm.value = "";
		}
		elements = form.getElementsByTagName('select');
		for(i=0,elm; elm=elements.item(i++); ){
			elm.selectedIndex = '';
		}
	}
	else{
		elements = form.elements;
		for( i=0, elm; elm=elements[i++]; ){
			if (elm.type == "text" || elm.type == 'password'){
				elm.value = 0;
			}
			else{
				if(elm.type == "select"){
					elm.selectedIndex = 0;
					}
				}
		}
	}
}

// Retorna uma string sem espaços à esquerda e à direita.
function trim(value){
	var str = value;
	while(str.charCodeAt(0)==32){
		str=str.substring(1,str.length-1);
	}
	while(str.charCodeAt(str.length-1)==32){
		str=str.substring(0,str.length-1);
	}
	return str;
}

// Retorna o valor do radiobuttom selecionado
function checkedRadioValue(radioObj){
	for(var i=0;i<radioObj.length;i++){
		if(radioObj[i].checked){
			return radioObj[i].value;
			}
		}
		return;
}

// Retorna a porção de texto selecionada em um input ou textarea
function get_selection(obj){
    if(obj.constructor == String){obj = document.getElementById(obj);}
    var selected_text = "";
    if(document.selection){selected_text = document.selection.createRange().text;}
    else{selected_text = obj.value.substring(obj.selectionStart, obj.selectionEnd);}
    return selected_text;
}

// AJAX Functions -----------------------------------------
var Ajax = false;
var id;

function Executa(url,idj) {
	id= idj;
	document.getElementById(id).innerHTML="<center><img src='img/loading.gif'></center>";
	AjaxRequest();
	Ajax.open('GET', url, true);
	Ajax.onreadystatechange = processaResposta;
	Ajax.send(null);
}

function AjaxRequest() {
	Ajax = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		Ajax = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		try {
			Ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				Ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}		
}

function processaResposta() {
	if (Ajax.readyState == 4) {
		if(Ajax.status==200) {
			divConteudo(id,Ajax.responseText);
			return false;					
		} 
	}
}

function divConteudo(idd,cont){
	if(idd!=''){
		document.getElementById(idd).innerHTML= cont;	
		return true;
	} else {
		return false;	
		}
}
// End AJAX Functions -------------------------------------

// Overlay Functions --------------------------------------
var para = "";
function openMarrow(source, w, h){
	if(source != ''){
		Executa(source, "marrow");
		if(parseInt(w))
			document.getElementById("marrow").style.width=w;
		if(parseInt(h))
			document.getElementById("marrow").style.height=h;
		}
	document.getElementById("backgrounddiv").style.width= document.body.clientWidth;
	document.getElementById("backgrounddiv").style.height=document.body.clientHeight;
	document.getElementById("backgrounddiv").style.display="block";
	document.getElementById("marrow").style.marginLeft = (document.body.clientWidth/2)-(w*0.95);
	document.getElementById("marrow").style.marginTop = (document.body.clientHeight/2)-(h*0.825);
	document.getElementById("marrow").style.display="block";
	para = "1";
	refreshScreen();
}
		
function closeMarrow() {
	para = "";
	document.getElementById("backgrounddiv").style.display="none";
	document.getElementById("marrow").style.display="none";
}

function refreshScreen(){
	if(para != ""){
		var yScrolltop;
		var xScrollleft;
		if (self.pageYOffset || self.pageXOffset) {
			yScrolltop = self.pageYOffset;
			xScrollleft = self.pageXOffset;
		} else if (document.documentElement && document.documentElement.scrollTop || document.documentElement.scrollLeft ){	 
			yScrolltop = document.documentElement.scrollTop;
			xScrollleft = document.documentElement.scrollLeft;
		} else if (document.body) {
			yScrolltop = document.body.scrollTop;
			xScrollleft = document.body.scrollLeft;}			
		document.getElementById("marrow").style.top=yScrolltop +(document.body.clientHeight/2) - 150;
		document.getElementById("marrow").style.left=xScrollleft+(document.body.clientWidth/2) - 230;
		document.getElementById("backgrounddiv").style.top=yScrolltop;
		document.getElementById("backgrounddiv").style.left=xScrollleft;
		window.setTimeout("refreshScreen()",0);
	}
}
// End Overlay Functions ----------------------------------
