// Funciones JavaScript Cengage Learning

function submitform()
{
  document.fcengage.submit();
}


function vsecu(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=0,width=760,height=600,left = 100,top = 50.5');");
}

var tab = false;
var sai = false;

	function separa(str,sep)
	{
		var ind= 0;
		var n= 0;	// tamanho do array
		for (i=0; i < str.length; i++) {
			C= str.substr(i,1);
			if (sep.indexOf(C,0) >= 0) {
				n++; }
		}
		var array = new initArray(n+1);
		for (i=0; i < str.length; i++) {
			C= str.substr(i,1);
			if (sep.indexOf(C,0) >= 0) {
				ind++; }
			else {
				array[ind] = array[ind] + C; }
		}
		return array;
	}
	
	function initArray(t) {
		this.length = t;
		for (var i=0; i<t; i++) {
			this[i] = '';
		}
	}

// Emite mensagem de erro na primeira vez.
	function erro(obj,msg) {
		if (!sai) {
			alert(msg);
			obj.focus(); }
		sai = true;
		return false;
	}
	
	
	// Retorna somente digitos.
	function sodigitos(str)
	{
		var digitos = "1234567890";
		var res= '';
		for (i=0; i < str.length; i++) {
			C= str.substr(i,1);
			if (digitos.indexOf(C,0) >= 0) {
				res = res + C; }
		}
		return res;
	}


// Elimina não-dígitos.
	function filtra(obj, code) {
		if(navigator.userAgent.indexOf("Opera") > 0) {
			return;
		}
		if(code == 9) {
			tab = true; }
		var vr = obj.value;
		tam = vr.length;
		var aux = vr.substr(tam-1, 1);
		var tecla1 = aux.charCodeAt(0);
		if(tecla1 < 48 || tecla1 > 57) {
			obj.value = vr.substr(0, tam-1); }
		aux = vr.substr(0, 1);
		if (aux != '(') {
			tecla1 = aux.charCodeAt(0);
			if(tecla1 < 48 || tecla1 > 57) {
				obj.value = vr.substr(1, tam-1); }
		}
	}

// Máscara de data.
	function formatadata(obj, tecla) {
		if(navigator.userAgent.indexOf("Opera") > 0) {
			return;
		}
		if(tab == true) {
			if(tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 || tecla == 8) {
				obj.value = ''; }
			tab = false;
		}
		var vr = sodigitos(obj.value);
		tam = vr.length;
		if(tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) {
			tam = tam+1; }
		else if(tecla == 8){
			tam = tam-1; }

		var aux= vr.substr(0,2);		
		if(tam > 2) {
		  aux+= '/';
		}
		aux+= vr.substr(2,2);
		if(tam > 4) {
		  aux+= '/';
	    }
		aux+= vr.substr(4);

		obj.value= aux;
		sai = false;
	}

// Verifica se tem campos data na página e se são válidas.
	function temdata() {
		if(datas.length != 0){
			//verificar se cada campo data presente no array datas tem uma data válida
			for(var i=0; i<datas.length; i++){
				return verdata(datas[i], '', '');
			}
		}else return true;
	}

// Verifica se data é válida.
	function verificadata(obj) {
		return verdata(obj,'',''); }

// Verifica se data é válida e maior que 'sdata'.
	function verificadataMaiorQue(obj,sdata) {
		return verdata(obj,'>',sdata); }

// Verifica se data é válida e menor que 'sdata'.
	function verificadataMenorQue(obj,sdata) {
		return verdata(obj,'<',sdata); }

// Verifica se data é válida, e se eh maior ou menor.
	function verdata(obj,tipo,sdata) {
		var ret= true;
		if(obj.value.length > 6) {
				var array= separa(obj.value,'/');
				var ano= array[2]*1;
				if(array[2].length <= 2) {
					if(ano < 10) { array[2]= 2000 + ano; }
					else { array[2]= 1900 + ano; }
					obj.value= array[0] + '/' + array[1] + '/' + array[2];
				}
				var data= new Date(array[2],array[1]-1,array[0]);
				if((data.getMonth()!= array[1]-1) || 
				   (((data.getYear()>=2000)?(data.getYear()-1900):(data.getYear()))!=array[2]-1900) || 
				   (data.getDate()!=array[0])) {
						ret= erro(obj,"Data inválida!"); }
				else { 
					obj.value= array[0] + '/' + array[1] + '/' + array[2];
				// Se tiver comparacao de datas
					if (tipo.length > 0) {
						array= separa(sdata,'/');
						ano= array[2]*1;
						if(array[2].length <= 2) {
							if(ano < 10) { array[2]= 2000 + ano; }
							else { array[2]= 1900 + ano; }
							sdata= array[0] + '/' + array[1] + '/' + array[2];
						}
						var data1= new Date(array[2],array[1]-1,array[0]);
						if((data1.getMonth()!= array[1]-1) || 
						   (((data1.getYear()>=2000)?(data1.getYear()-1900):(data1.getYear()))!=array[2]-1900) || 
						   (data1.getDate()!=array[0])) {
								ret= erro(obj,"Data relativa inválida!"); }
						else if ((tipo == ">") && (data < data1)) {
								ret= erro(obj,"Data deve ser maior ou igual que " + sdata + " !"); }
						else if ((tipo == "<") && (data > data1)) {
								ret= erro(obj,"Data deve ser menor ou igual que " + sdata + " !"); }
					}
				}
		}
		else if(obj.value.length > 0) { 
			ret= erro(obj,"Data incompleta!"); }
		return ret;
	}


