// JavaScript Document

var terranova ={
	Main:{
		init:function(){
			var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1");
			var MenuBarVertical = new Spry.Widget.MenuBar("MenuBarVertical", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
		},
		goDetail:function(idPaquete,idTipo,idSub,idDestino){
			window.location.href="detalle_paquete.cfm?idPaquete="+idPaquete.toString()+"&idTipo="+idTipo.toString()+"&idSub="+idSub.toString()+"&idDestino="+idDestino.toString();
		},
		bgColor:function(obj,pviiColor){
			obj.style.backgroundColor=pviiColor;
		},
		setClassName:function(obj,sClass){
			obj.className=sClass;
		},
		f_SetImg:function(imgObjName,pathImg){
				document.getElementById(imgObjName).src=pathImg;
		},
		f_show:function(divName){
			if(document.getElementById(divName).style.display==""){
				document.getElementById(divName).style.display=="none";
			}else{
				document.getElementById(divName).style.display=="";
			}
		}
	},
	Wedding:{
		Register:{
			init:function(){
				document.getElementById("txtName").focus();
				Forms.objForm=document.getElementById("frmWeddingList");
				Forms.objForm.onsubmit=function(){return Forms.validity();};
				with(document.getElementById("txtDesc")){
					setAttribute("required","true");
					setAttribute("validity","text");
					setAttribute("message","Descripci&oacute;n es requerida");
				}
			}
		},
		Update:{
			init:function(){
				document.getElementById("txtEmail").focus();
				Forms.objForm=document.getElementById("frmWeddingList");
				Forms.objForm.onsubmit=function(){return Forms.validity();};
			}			
		}
	},
	FormCalidad:{
		init:function(){
			document.getElementById("txtComp").focus();
			document.getElementById("frmFormCalidad").onreset=function(){document.getElementById("txtComp").focus();};
			document.getElementById("frmFormCalidad").onsubmit=function(){return terranova.FormCalidad.Validity();};
		},
		Validity:function(){
				try{
					var mess="",sName="";
					var bSel=false;
					if(document.getElementById("txtComp").value==""){mess+="* Compa\u00f1\u00eda y Puesto es requerido.\n";}
					if(document.getElementById("txtName").value==""){mess+="* Nombre es requerido.\n";}
					if(document.getElementById("txtLastName").value==""){mess+="* Apellido es requerido.\n";}
					for(j=1;j<=9;j++){
						if(j!=7){
							sName="rgPreg"+j.toString();
							for(i=0;i<=document.getElementsByName(sName).length-1;i++){
								if(document.getElementsByName(sName).item(i).checked==true)	{bSel=true;}
							}
							if(!bSel){mess+="* Pregunta "+j.toString()+" es requerida.\n";bSel=false;}
						}else if(j==7){
							for(x=1;x<=3;x++){
								sName="rgPreg"+j.toString()+x.toString();
								for(i=0;i<=document.getElementsByName(sName).length-1;i++){
									if(document.getElementsByName(sName).item(i).checked==true)	{bSel=true;}
								}
								if(!bSel){mess+="* Pregunta "+j.toString()+"."+x.toString()+" es requerida.\n";bSel=false;}
							}
						}
					}
					if(mess!=""){alert(mess);}
					return (mess=="");
				}catch(e){return false;alert(e.message);}
		}
	},
	FormCalidad2:{
		init:function(){
			document.getElementById("txtNombre").focus();			
			document.getElementById("frmTraveler").onreset=function(){document.getElementById("txtNombre").focus();};
			document.getElementById("frmTraveler").onsubmit=function(){return terranova.FormCalidad2.Validity();};
		},
		Validity:function(){
				try{
					var mess="",sName="";
					var bSel=false;
					var bChk=false;
					var arPreg1=new Array("Tiempo de Respuesta","Amabilidad");
					var arPreg2=new Array("Tiempo de Respuesta","Amabilidad","Calidad de respuesta (cumple sus expectativas)","Flexibilidad ante cambios","Me brinda m\u00ednimo 2 opciones cuando solicito inf. de boletos","Me ofrece hotel y auto en mis cotizaciones","Me explica las regulaciones de la tarifa a\u00e9rea","Me entregan llenos los documentos de viaje como: impuestos de salida, y f\u00f3rmulas de entradada USA");
					if(document.getElementById("txtComp").value==""){mess+="* Compa\u00f1\u00eda y Puesto es requerido.\n";}
					if(document.getElementById("txtName").value==""){mess+="* Nombre es requerido.\n";}
					if(document.getElementById("txtLastName").value==""){mess+="* Apellido es requerido.\n";}
					for(i=1;i<=arPreg1.length;i++){
						sName="rgPreg1_"+i.toString();bChk=false;
						for(j=0;j<=document.getElementsByName(sName).length-1;j++){
							if(document.getElementsByName(sName).item(j).checked){bChk=true;j=document.getElementsByName(sName).length+1;}
						}
						if(!bChk){mess+="* Pregunta 1 ("+arPreg1[i-1].toString()+") es requerida. \n";}
					}
					bChk=false;
					for(i=1;i<=arPreg2.length;i++){
						sName="rgPreg2"+i.toString();bChk=false;
						for(j=0;j<=document.getElementsByName(sName).length-1;j++){
							if(document.getElementsByName(sName).item(j).checked){bChk=true;j=document.getElementsByName(sName).length+1;}
						}
						if(!bChk){mess+="* Pregunta 2 ("+arPreg2[i-1].toString()+") es requerida. \n";}
					}
					bChk=false;
					for(x=3;x<=11;x++){
						sName="rgPreg"+x.toString();bChk=false;
						for(j=0;j<=document.getElementsByName(sName).length-1;j++){
							if(document.getElementsByName(sName).item(j).checked){bChk=true;j=document.getElementsByName(sName).length+1;}
						}
						if(!bChk){mess+="* Pregunta "+x.toString()+" es requerida. \n";}						
					}
										
					if(mess!=""){alert(mess);}
					return (mess=="");
				}catch(e){return false;alert(e.message);}
		}
	},
	FormTraveler:{
		init:function(){
			Forms.objForm=document.getElementById("frmTraveler");
			document.getElementById("frmTraveler").onsubmit=function(){return Forms.validity();};			
			document.getElementById("txtNombre").focus();
		}
	},
	Sugerencias:{
		init:function(){
			document.getElementById("txtNombre").focus();
		},
		
		ValidationForm:function(frm){
			var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");
			var sMess="";
			if(frm.txtComentario.value.trim()==""){sMess+="&bull; Comentario es requerido.<br/>";}
			if(frm.txtNombre.value.trim()==""){sMess+="&bull; Nombre es requerido.<br/>";}
			if(frm.txtEmail.value.trim()==""){
					sMess+="&bull; Correo Electr&oacute;nico es requerido.<br/>";
			}else{
				if(!rx.test(frm.txtEmail.value)){sMess+="&bull; Formato de Correo Electr&oacute;nico es incorrecto.<br/>";}
			}
			if(frm.txtTelefono.value.trim()==""){sMess+="&bull; Tel&eacute;fono: es requerido.<br/>";}
			
			if(sMess.trim()!=""){					
				var mb=MessageBox;
				sMess="<strong>La informaci\u00f3n requerida est\u00e1 incompleta o contiene<br/>errores:</strong><br/><br/>"+sMess;
				mb.init();mb.porc_opacity=70;mb.colorBackContainer="#E5C99B";
				mb.PathBackImgMessage="images/base_mensaje.png";mb.url="mails/SendSugerencias.cfm";
				mb.showButtonOK=true;mb.showButtonCancel=false;
				mb.sIDButtonOK="btnOK";mb.TextButtonOK="Aceptar";
				mb.TypeButtonOK="button";mb.ClassNameOK="button";
				mb.NameForm="frmSugerencias";mb.SetTextButtonOK=true;mb.message=sMess.trim();
				mb.Align="left";mb.VerticalAlign="top";
				mb.ShowDialog();
			}
			return (sMess.trim()=="");
		}
	},
	
	Contactenos:{
			init:function(){
				document.getElementById("txtNombre").focus();
			}
	},
	
	Validation:{
		MM_findObj:function(n, d) {
			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=terranova.Validation.MM_findObj(n,d.layers[i].document);
			if(!x && d.getElementById) x=d.getElementById(n); return x;
		},
		
		showError:function() {
			var a=terranova.Validation.showError.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
			for (i=1; i<a.length;i=i+4){
				if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
				o=terranova.Validation.MM_findObj(a[i].replace(/\[\d+\]/ig,""));
				o1=terranova.Validation.MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
				v=o.value;t=a[i+2];
				if (o.type=='text'||o.type=='password'||o.type=='hidden'){
					if (r&&v.length==0){err=true}
					if (v.length>0)
					if (t==1){ //fromto
						ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
					} else if (t==2){
						rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
					} else if (t==3){ // date
						ma=a[i+1].split("#");at=v.match(ma[0]);
						if(at){
							cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
							dte=new Date(cy,cm,cd);
							if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
						}else{err=true}
					} else if (t==4){ // time
						ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
					} else if (t==5){ // check this 2
								if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
								if(!o1.checked){err=true}
					} else if (t==6){ // the same
								if(v!=terranova.Validation.MM_findObj(a[i+1]).value){err=true}
					}
				} else
				if (!o.type&&o.length>0&&o[0].type=='radio'){
							at = a[i].match(/(.*)\[(\d+)\].*/i);
							o2=(o.length>1)?o[at[2]]:o;
					if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
					if (t==2){
						oo=false;
						for(j=0;j<o.length;j++){oo=oo||o[j].checked}
						if(!oo){s+='* '+a[i+3]+'<br/>'}
					}
				} else if (o.type=='checkbox'){
					if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
				} else if (o.type=='select-one'||o.type=='select-multiple'){
					if(t==1&&o.selectedIndex/1==0){err=true}
				}else if (o.type=='textarea'){
					if(v.length<a[i+1]){err=true}
				}
				if (err){s+='* '+a[i+3]+'<br/>'; err=false}
			}

			if(s.trim()!=""){					
				var mb=MessageBox;
				s="<strong>La informaci&oacute;n requerida est&aacute; incompleta o contiene<br/>errores:</strong><br/><br/>"+s.trim();
				mb.init();mb.porc_opacity=70;mb.colorBackContainer="#E5C99B";
				mb.PathBackImgMessage="images/base_mensaje.png";mb.url="mails/SendSugerencias.cfm";
				mb.showButtonOK=true;mb.showButtonCancel=false;
				mb.sIDButtonOK="btnOK";mb.TextButtonOK="Aceptar";
				mb.TypeButtonOK="button";mb.ClassNameOK="button";
				mb.NameForm="frmSugerencias";mb.SetTextButtonOK=true;mb.message=s.trim();
				mb.Align="left";mb.VerticalAlign="top";
				mb.ShowDialog();
			}
			
			document.MM_returnValue = (s=='');
		},
		
		YY_checkform:function() {
			var a=terranova.Validation.YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
			for (i=1; i<a.length;i=i+4){
				if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
				o=terranova.Validation.MM_findObj(a[i].replace(/\[\d+\]/ig,""));
				o1=terranova.Validation.MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
				v=o.value;t=a[i+2];
				if (o.type=='text'||o.type=='password'||o.type=='hidden'){
					if (r&&v.length==0){err=true}
					if (v.length>0)
					if (t==1){ //fromto
						ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
					} else if (t==2){
						rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
					} else if (t==3){ // date
						ma=a[i+1].split("#");at=v.match(ma[0]);
						if(at){
							cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
							dte=new Date(cy,cm,cd);
							if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
						}else{err=true}
					} else if (t==4){ // time
						ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
					} else if (t==5){ // check this 2
								if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
								if(!o1.checked){err=true}
					} else if (t==6){ // the same
								if(v!=terranova.Validation.MM_findObj(a[i+1]).value){err=true}
					}
				} else
				if (!o.type&&o.length>0&&o[0].type=='radio'){
							at = a[i].match(/(.*)\[(\d+)\].*/i);
							o2=(o.length>1)?o[at[2]]:o;
					if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
					if (t==2){
						oo=false;
						for(j=0;j<o.length;j++){oo=oo||o[j].checked}
						if(!oo){s+='* '+a[i+3]+'\n'}
					}
				} else if (o.type=='checkbox'){
					if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
				} else if (o.type=='select-one'||o.type=='select-multiple'){
					if(t==1&&o.selectedIndex/1==0){err=true}
				}else if (o.type=='textarea'){
					if(v.length<a[i+1]){err=true}
				}
				if (err){s+='* '+a[i+3]+'\n'; err=false}
			}

			if (s!=''){ShowMessage.message='La informacion requerida es incompleta o contiene errores:\t\t\t\t\t\n\n'+s.trim();MessageBox.ShowMessage();}
			document.MM_returnValue = (s=='');
		}		
	},
	
	DetailPackage:{
		porc_opacity:null,
		colorBackContainer:null,
		ClassNameOK:null,
		TextButtonOK:null,
		SetTextButtonOK:null,
		TypeButtonOK:null,
			
		init:function(){
			terranova.DetailPackage.Cancel();
		},
		
		Cancel:function(){
			try{
				var div=document.getElementById("divDetailPackage");alert();
				document.body.removeChild(div);
			}catch(e){alert(e.message);}
			try{
				var div=document.getElementById("divHideDetail");
				document.body.removeChild(div);
			}catch(e){alert(e.message);}
		},
			
		Show:function(idPaquete){
				try{
					var str="";
					var dp=terranova.DetailPackage;
					var objBack=document.createElement("div"),objDet=document.createElement("div");
					var img=document.createElement("img"),btnOK=document.createElement("button");
					var pc=(dp.porc_opacity==null)?"0":dp.porc_opacity.toString();
					var cbc=(dp.colorBackContainer==null)?"#FFFFFF":dp.colorBackContainer.toString();
					var sclassnameOK=(dp.ClassNameOK==null)?"":dp.ClassNameOK;
					var stxtOK=(dp.TextButtonOK==null)?"":dp.TextButtonOK;
					var sSetTxtButtonOK=(dp.SetTextButtonOK==null)?false:dp.SetTextButtonOK;
					var sTypeButtonOK=(dp.TypeButtonOK==null)?"button":dp.TypeButtonOK;
					var carac=String.fromCharCode(34);
					
					objBack.setAttribute("id","divHideDetail");
					objBack.style.backgroundColor=cbc.toString();
					objBack.style.position="absolute";
					objBack.style.width="100%";
					objBack.style.height="100%";
					objBack.style.filter="alpha(opacity="+pc.toString()+")";
					objBack.style.MozOpacity="."+pc.toString();
					objBack.style.opacity="."+pc.toString();
					objBack.style.top="0";
					objBack.style.left="0";
					objBack.style.textAlign='center';
					objBack.style.verticalAlign='middle';
					objBack.style.zIndex="2";
					
					objDet.setAttribute("id","divDetailPackage");
					objDet.style.backgroundColor="#FCFAF6";
					objDet.style.width="600px";
					objDet.style.height="auto";
					objDet.style.top="50%";
					objDet.style.left="50%";
					objDet.style.marginLeft="-190px";
					objDet.style.marginTop="-470px";
					objDet.style.paddingLeft="20px";
					objDet.style.paddingBottom="20px";
					objDet.style.position="absolute";
					objDet.style.textAlign="left";
					objDet.style.verticalAlign='top';
					objDet.style.border='1px solid #000000';
					
					Ajax.getURL("detalle_paquete.cfm?idPaquete=" + idPaquete.toString(), {
						onSubmitSuccess: function (req) {
							objDet.innerHTML=req.responseText.trim();
						},
						onSubmitException: function (req) {
							MessageBox.message="DetailPackage->Show\n"+req.responseText.trim();MessageBox.ShowMessage();
						}
					});
					
					var obj=document.body;
					obj.appendChild(objBack);obj.appendChild(objDet);
				}catch(e){MessageBox.message="DetailPackage->Show\n"+e.message.trim();MessageBox.ShowMessage();}
		}
	}	
};