//
// op_js.js
//
//
function MM_reloadPage(init) {	//reloads the window if Nav4 resized
	if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
		document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
	else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
if (navigator.appName=="Netscape")
	{
	window.scrollbars.visible=false;
	}

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 MM_findObj(n, d) { //v4.01
	var p,i,x;	if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
		obj.visibility=v; }
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function MM_goToURL() { //v3.0
	var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
	for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_callJS(jsStr) { //v2.0
	return eval(jsStr)
}

function MM_popupMsg(msg) { //v1.0
	alert(msg);
}

function MM_validateForm() { //v4.0
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
			} else if (test!='R') {
				if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
	} if (errors) alert('The following error(s) occurred:\n'+errors);
	document.MM_returnValue = (errors == '');
}

function EV_validCasForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validCasForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe ser dirección e-mail.\n';
			} else if (test!='R') { num = parseFloat(val);
				if (isNaN(val)) errors+='- '+nm+' debe ser numérico.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (num<min || max<num) errors+='- '+nm+' el numero debe estar entre '+min+' y '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; }
	} if (errors) alert('Hay los siguientes errores:\n'+errors);
	document.EV_valor = (errors == '');
}

function EV_validCatForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validCatForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' ha de ser adreça e-mail.\n';
			} else if (test!='R') { num = parseFloat(val);
				if (isNaN(val)) errors+='- '+nm+' ha de ser numèric.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (num<min || max<num) errors+='- '+nm+' el numero ha de estar entre '+min+' i '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' és obligatori.\n'; }
	} if (errors) alert('Hi han els següents errors:\n'+errors);
	document.EV_valor = (errors == '');
}

function EV_validEngForm() { //v4.0
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validEngForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
			} else if (test!='R') {
				if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
	} if (errors) alert('The following error(s) occurred:\n'+errors);
	document.EV_valor = (errors == '');
}

function EV_validFraForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validFraForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' il faut e-mail.\n';
			} else if (test!='R') { num = parseFloat(val);
				if (isNaN(val)) errors+='- '+nm+' il faut numero.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (num<min || max<num) errors+='- '+nm+' le numero il faut entre '+min+' et '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' obligatoire.\n'; }
	} if (errors) alert('Erreurs suivantes détectées:\n'+errors);
	document.EV_valor = (errors == '');
}


function EV_validItaForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validItaForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' indicare indirizzo di e-mail.\n';
			} else if (test!='R') { num = parseFloat(val);
				if (isNaN(val)) errors+='- '+nm+' introdurre un valore numerico.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (num<min || max<num) errors+='- '+nm+' el numero debe estar entre '+min+' y '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' è obbligatorio.\n'; }
	} if (errors) alert('Errori:\n'+errors);
	document.EV_valor = (errors == '');
}

function EV_validPorForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=EV_validPorForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve ser um correio e-mail.\n';
			} else if (test!='R') { num = parseFloat(val);
				if (isNaN(val)) errors+='- '+nm+' deve ser numérico.\n';
				if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (num<min || max<num) errors+='- '+nm+' o numero deve estar entre '+min+' y '+max+'.\n';
		} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n'; }
	} if (errors) alert('Há os seguintes erros:\n'+errors);
	else document.formu.submit();
	document.EV_valor = (errors == '');
}

function EV_aviso(msg)
	{
	alert(msg);
	}

function EV_foco(entrada)
	{
	entrada.focus()
	entrada.select()
	}

function EV_ventana(direc,nombre,parametros)
	{
	window.open(direc,nombre,parametros);
	}

function EV_iraURL()
	{
	var i, args=EV_iraURL.arguments; document.EV_valor = false;
	for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	}

function EV_ejecutaJS(jsStr)
	{
	return eval(jsStr)
	}

function EV_cierra()
	{
	window.close()
	}

function EV_imprime()
	{
	window.print()
	}

function EV_Imprimarco(marco)
	{
	var a=eval(marco);
	a.focus();
	parent.print();
	}

function EV_confirma(frase,lugar,url) {
	if (confirm(frase))
		{
		EV_iraURL(lugar,url); return document.EV_valor
		}
	}

function EV_cambio() {
		window.moveTo(0,0);
		if (document.all) {
		top.window.resizeTo(778,547); //800 x 600
		}
		else if (document.layers||document.getElementById) {
		if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){
		top.window.outerHeight = screen.availHeight;
		top.window.outerWidth = screen.availWidth;
		}
		}
	var i, args=EV_cambio.arguments; document.EV_valor = false;
	for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function EV_fecha() {
		var hoy = new Date();
		eldia = hoy.getDate();
		elmes = hoy.getMonth();
		elano = hoy.getYear();
		if (eldia < "10") dia = "0" + eldia;
		else dia = eldia;
		if (elmes < "9") mes = "0" + (elmes + 1);
		else mes = elmes + 1;
		ano = elano.toString();
		document.write (dia);
		document.write ("/");
		document.write (mes);
		document.write ("/");
		document.write (ano.substring(4,2));
}

function EV_vercapa(capa)
	// mostrar una capa si está oculta y ocultar si está visible
	{
	estado=document.getElementById(capa).style.visibility;
	if (estado=="visible") EV_oculta(capa);
	else EV_muestra(capa);
	}

function EV_muestra(capa){
document.getElementById(capa).style.visibility="visible";
}

function EV_oculta(capa){
document.getElementById(capa).style.visibility="hidden";
}

function EV_Redondea(valor, decimas)
	{
	valor = "" + valor //convertir valor a string
	decimas = parseInt(decimas);
	var whole = "" + Math.round(valor * Math.pow(10, decimas));
	var decPoint = whole.length - decimas;
	if(decPoint != 0)
		{
		result = whole.substring(0, decPoint);
		result += ".";
		result += whole.substring(decPoint, whole.length);
		}
	else
		{
		result = 0;
		result += ".";
		result += whole.substring(decPoint, whole.length);
		}
	return result;
}

function mailAnti()
{
var usua = "contact"
var domi = "orrideplanes.com"
document.write("<a href=\"mailto:"+usua+"@"+domi+"\"")
}

function mailGran()
{
var usua = "contact"
var domi = "orrideplanes.com"
document.write("<a href=\"mailto:"+usua+"@"+domi+"\">"+usua+"@"+domi+"</a>")
}

function mailLite()
{
var usua = "contact"
var domi = "orrideplanes.com"
document.write(usua+"@"+domi)
}

function Situa_Campo(campo,mensa)
	{
	alert(mensa);
	campo.focus();
	campo.select;
	}

function EV_Decimal(num,dec)
	{
	// convertir a numeros con 'dec' decimales fijos
	var a0 = "";
	for (i = 0; i < dec; i++)
		{
		var a0 = a0 + "0"
		}
	var a1 = String(num);
	var a2 = a1.indexOf('.',0);
	var a3 = Number(dec);
	//document.write ("inicio: (" +a1+") ");
	if (a2==-1)
		{
		a1 = a1 + '.'+ a0
		}
	else
		{
		var a0 = a1.substr(0,a2+1);
		var a4 = a1.substr(a2+1,a3);
		var a5 = a3-a4.length;
		for (i = 0; i < a5; i++)
			{
			var a4 = a4 + "0";
			}
		var a1 = a0 + a4;
		//document.write (" posicion decimales: ("+a2+") subcadena: (" +a4+") iteraciones: ("+a5+")  ");
		}
	//document.write ("resultado: (" +a1+")");
	return a1
	}

function EV_ComaPunto(num)
	{
	// convertir coma a punto (numeros decimales)
	var a0 = "";
	var a1 = String(num);
	var a2 = a1.indexOf(',',0);
	var a3 = a1.length;
	//document.write ("inicio: (" +a1+") ");
	if (a2 != -1)
		{
		var a0 = a1.substr(0,a2);
		var a4 = a1.substr(a2+1,(a3-(a2+1)));
		var a1 = a0 + "." + a4;
		}
	//document.write ("resultado a0: (" +a0+")");
	//document.write ("resultado a4: (" +a4+")");
	//document.write ("resultado: (" +a1+")");
	return a1
	}

function EV_cancela(frase,lugar,url) {
if (confirm(frase))
	{
	EV_iraURL(lugar,url); return document.EV_valor
	}
}

function validaEmail(emailStr)
	{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|cat|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null)
		{
		return false;
		}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++)
		{
		if (user.charCodeAt(i)>127)
			{
			return false;
			}
		}
	for (i=0; i<domain.length; i++)
		{
		if (domain.charCodeAt(i)>127)
			{
			return false;
			}
		}
	if (user.match(userPat)==null)
		{
		return false;
		}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
		{
		for (var i=1;i<=4;i++)
			{
			if (IPArray[i]>255)
				{
				return false;
				}
			}
		return true;
		}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1)
			{
			return false;
			}
		}
	if (checkTLD && domArr[domArr.length-1].length!=2 &&
		domArr[domArr.length-1].search(knownDomsPat)==-1)
		{
		return false;
		}
	if (len<2)
		{
		return false;
		}
	return true;
	}

	function validaNumero(string)
		{
		for(i=0;i<string.length;i++)
			{
			valchar=string.substring(i,i+1);
			charCode=valchar.charCodeAt();
			if(charCode < 48 || charCode > 57)
				{
				return false;
				}
			}
			return true;
		}

	function trim(cadena)
		{
		cadena = cadena.replace(/^\s*/, '');
		cadena = cadena.replace(/\s*$/, '');
		return cadena
		}

	function roundNumber(num,dec)
		{
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
		}

	function redondeo2(numero)
		{
		var original=parseFloat(numero)
		var result=Math.round(original*100)/100
		return result
		}

	function EV_RoundExces(num1,div1)
		{
		var ent1,dec1;
		ent1 = parseInt(num1/div1);
		dec1 = parseFloat(num1/div1)-ent1;
		if (dec1 > 0) ent1 += 1;
		return ent1;
		}

	function Val_Cif(campo)
		{
		var cif = campo.value.toUpperCase();
		var par = 0;
		var non = 0;
		var cad = "ABCDEFGHJNPQRSUVW";
		var bis = "NPQRSW";
		var let = cif.charAt(0);
		if (!isNaN(let))
			{
			nif=cif;
			Val_Dni(campo);
			return false;
			}
		if (cif.length!=9)
			{
			Situa_Campo(campo,'El CIF ha de tener 9 dígitos');
			return false;
			}
		if (cad.indexOf(let)==-1)
			{
			Situa_Campo(campo,'El comienzo del CIF no es válido');
			return false;
			}
		// si el cif tiene letra final, pasarla a numero
		if (bis.indexOf(let)!=-1)
			{
			var fin = cif.charCodeAt(8);
			var lan = String.fromCharCode(fin-16)
			cif = cif.substring(0,8) + lan
			}
			//document.write("fin: "+fin+" lan: "+lan+" cif: "+cif)
		for (zz=2;zz<8;zz+=2)
			{
			par = par+parseInt(cif.charAt(zz));
			}
		for (zz=1;zz<9;zz+=2)
			{
			nn = 2*parseInt(cif.charAt(zz));
			if (nn > 9) nn = 1+(nn-10);
			non = non+nn;
			}
		var pac = par + non;
		var con = (10 - ( pac % 10));
		if (con == 10) con = 0;
		if (con != cif.charAt(8))
			{
			Situa_Campo(campo,'El código del CIF no es válido');
			return false;
			}
		return true;
		}

	function fecha(cadena )
		{
		//Separador para la introduccion de las fechas
		var separador = "/"

		//Separa por dia, mes y año
		if ( cadena.indexOf( separador ) != -1 )
			{
			var posi1 = 0
			var posi2 = cadena.indexOf( separador, posi1 + 1 )
			var posi3 = cadena.indexOf( separador, posi2 + 1 )
			this.dia = cadena.substring( posi1, posi2 )
			this.mes = cadena.substring( posi2 + 1, posi3 )
			this.anio = cadena.substring( posi3 + 1, cadena.length )
			}
		else
			{
			this.dia = 0
			this.mes = 0
			this.anio = 0
			}
		}
