//Extends jQuery+
jQuery.fn.extend({
	exists:function(){return $(this).size()>0},
	trim:function(){$(this).val(jQuery.trim($(this).val()))}
})
//End Extends jQuery

/*IBDAUS*/
var ibdaus01={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required,
					nameSpanish:ErrorMsgs.nameSpanish,
					alphanumeric:ErrorMsgs.alphanumeric,
					email:ErrorMsgs.email,
					equalTo:ErrorMsgs.equalTo,
					date:ErrorMsgs.date,
					repeatChars:ErrorMsgs.repeatChars,
					nif:ErrorMsgs.nif,
					residentCard:ErrorMsgs.residentCard,
					equalEMail:ErrorMsgs.equalEMail,
					cp:ErrorMsgs.cp,
					minlength:jQuery.format(ErrorMsgs.minlength),
					noLadderNumbers:ErrorMsgs.noLadderNumbers,
					noLadderLetters:ErrorMsgs.noLadderLetters,
					noRepeatChars:ErrorMsgs.noRepeatChars,
					equalPin:ErrorMsgs.equalPin,
					rangelength:jQuery.format(ErrorMsgs.rangelength)
				});
				
				
				//Hide layers and fields
				$("#telemp").css("display","none");
				$("#lEmp").css("display","none");
				
				
				/*--- Actions ---*/
					//Show/Hide correct address
						//OnLoad
						setAddress.init($("#dcia_0511").val(),1);
						//OnChange
						$("#dcia_0511").change(function(){setAddress.init($(this).val(),1);})
				
					//Trim at Name
					$("#dpes_02, #dpes_03, #dpes_04, #dcia_02, #dcto_03, #spin_01, #spin_02, #spin_04").bind("blur",function(){
						$(this).val(jQuery.trim($(this).val()))
						return false;
					})
					//Disabled Enter button in form
					$("#registroForm, #registroForm input").keypress(function(event){
						var evt = (evt) ? evt : ((event) ? event : null);
						var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
						if ((evt.keyCode == 13) && (node.type!="submit") && (node.type!="button")) {return false;}
					});
				
					//Disabled select in Email Field
					$("#dcto_01").bind("mousemove",function(){
						selec.disable(document.body)
					}).bind("mouseout",function(){
						selec.enable(document.body)
					})
					
					//Disabled Ctrl+V in Confirm Email Field.
					$("#emailConf").bind("paste",function(){return false;})
					
					//Set 'cp' validation
						//OnLoad
						if($("#dcia_0511").val()=="ES/0/0"){$("#addr_041").addClass("cp");}
						if($("#dcia_052").val()=="ES/0/0"){$("#addr_042").addClass("cp");}
						
						//OnChange
						$("#dcia_0511").bind("change",function(){
							if($(this).val()=="ES/0/0"){
								$("#addr_041").addClass("cp");
							}else{
								$("#addr_041").removeClass("cp");
							}
						})
						
						$("#dcia_052").bind("change",function(){
							if($(this).val()=="ES/0/0"){
								$("#addr_042").addClass("cp");
							}else{
								$("#addr_042").removeClass("cp");
							}
						})
					
					if($("#r03:checked").size()>0){$("#dcia_0511").addClass("requiredselect");}
					if($("#r04:checked").size()>0){$("#dcia_0511").addClass("requiredselect");}
					
					//Show / Hide 'Particular' or 'Empresa'
					$("input#r03, input#r04").click(function(){
						$("#dcia_0511").addClass("requiredselect");
						if($(this).val()==1){
							$("#lEmp").css("display","block");
							$("#telemp").css("display","block");
							$("#telpart").css("display","none");
						}else if($(this).val()==0){
							$("#lEmp").css("display","none");
							$("#telemp").css("display","none");
							$("#telpart").css("display","block");
						}
					})
					
					//Set 'cp' validation
						//OnLoad
						if($("#dcia_0511").val()=="ES/0/0"){
							$("#addr_041").addClass("cp");
							zipCounty.init($("#addr_041"),$("#addr_0610"))
						}
						//OnChange
						$("#dcia_0511").bind("change",function(){
							if($(this).val()=="ES/0/0"){
								$("#addr_041").addClass("cp");
								zipCounty.init($("#addr_041"),$("#addr_0610"))
							}else{
								$("#addr_041").removeClass("cp");
							}
						})
					
					//Disabled 'Comunications Language'
						//OnLoad
						if($("#dcia_0511").val()=="ES/0/0"){
							$("#cnes_10").val("es")
							$("#cnes_10").attr("disabled","disabled");
							$("#addr_041").attr("maxlength",5);
						}else{
							$("#cnes_10").removeAttr("disabled");
							$("#addr_041").attr("maxlength",10);
						}
						//OnChange
						$("#dcia_0511").bind("change",function(){
							if($(this).val()=="-1"){
								$("#cnes_10").removeAttr("disabled");
								$("#addr_041").attr("maxlength",10);
							}else if($(this).val()=="ES/0/0"){
								$("#cnes_10").val("es")
								$("#cnes_10").attr("disabled","disabled");
								$("#addr_041").attr("maxlength",5);
							}else{
								$("#cnes_10").removeAttr("disabled");
								$("#addr_041").attr("maxlength",10);
							}
						})
						
						//Play captcha if exists
						if($("a#playCaptcha").size()>0){
								$("a#playCaptcha").removeAttr("title").click(function(){
									var url=$("a#playCaptcha").attr("href");
									var embedCode='<embed src="'+url+'" hidden="true" autostart="true" id="sound"></embed>';
									$("div#playAudio").html(embedCode)
									return false;
								})
						}
						if( $("#reloadCaptcha").length>0 ){
							var img = '<a href="#"><img height="17" width="17" src="/ibcomv3/images/robot_act.gif"/></a>';
							$("#reloadCaptcha").hide().before($(img).click( function(){ $("#reloadCaptcha").click(); return false; } ))	
						}
						
					documentId.type01.init('dpes_05','dpes_06')
					
				ibdaus01.validate()
			},
			validate:function(){
				
				$("#registroForm input[type='submit']").bind("click",function(){
					$("#registroForm").validate({
						rules:{
							businessName:{required:"#r04:checked"},
							pin:{minlength:6},
							secretAnswer:{rangelength:[5,15]},
							//Business
							businessName:{required:"#r04:checked"},
							companyPhone:{required:"#r04:checked"}
						}
					});
				})
				
				$("#registroForm input[type='reset']").click(function(){
					alert('reset')
				})
				
			}
}
var ibdaus11={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required,
					nameSpanish:ErrorMsgs.nameSpanish,
					alphanumeric:ErrorMsgs.alphanumeric,
					email:ErrorMsgs.email,
					equalTo:ErrorMsgs.equalTo,
					date:ErrorMsgs.date,
					repeatChars:ErrorMsgs.repeatChars,
					nif:ErrorMsgs.nif,
					residentCard:ErrorMsgs.residentCard,
					equalEMail:ErrorMsgs.equalEMail,
					cp:ErrorMsgs.cp,
					minlength:jQuery.format(ErrorMsgs.minlength),
					noLadderNumbers:ErrorMsgs.noLadderNumbers,
					noLadderLetters:ErrorMsgs.noLadderLetters,
					noRepeatChars:ErrorMsgs.noRepeatChars,
					equalPin:ErrorMsgs.equalPin,
					rangelength:jQuery.format(ErrorMsgs.rangelength)
				});
				
				/*--- Actions ---*/
									
				
					//Show/Hide correct address
						//OnLoad
						setAddress.init($("#dcia_0511").val(),1);
						if($("#r03:checked").size()==0) $("#addr_0610, #addr_0611").removeClass("requiredselect error")
						
						setAddress.init($("#dcia_052").val(),2);
						if($("#r04:checked").size()==0) $("#addr_0620, #addr_0621").removeClass("requiredselect error")
						//OnChange
						$("#dcia_0511").change(function(){
							setAddress.init($(this).val(),1);
							if($("#r03:checked").size()==0) $("#addr_0610, #addr_0611").removeClass("requiredselect error")
						})
						$("#dcia_052").change(function(){
							setAddress.init($(this).val(),2);
							if($("#r04:checked").size()==0) $("#addr_0620, #addr_0621").removeClass("requiredselect error")
						})
					
					if($("#r03:checked").size()>0){$("#dcia_0511").addClass("requiredselect");}
					if($("#r04:checked").size()>0){$("#dcia_052").addClass("requiredselect");}
					
					//Remove others requiredselects
					$("#r03").click(function(){
						$("#dcia_0511").addClass("requiredselect");
						$("#dcia_052").removeClass("error requiredselect");
						
						$("#addr_0620, #addr_0621").removeClass("requiredselect error")
						var code=$("#dcia_0511").val().split("/")[1]+"/"+$("#dcia_0511").val().split("/")[2];
						switch(code){
							case "0/1":
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
							case "0/0":
								$("#addr_0611").removeClass("requiredselect error")
								$("#addr_0610").addClass("requiredselect")
							break;
							case "1/0":
								$("#addr_0610").removeClass("requiredselect error")
								$("#addr_0611").addClass("requiredselect")
							break;
							case "1/1":
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
							default:
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
						}
					})
					$("#r04").click(function(){
						$("#dcia_052").addClass("requiredselect");
						$("#dcia_0511").removeClass("error requiredselect");
						$("label.error[for='dcia_0511']").remove();
						
						$("#addr_0610, #addr_0611").removeClass("requiredselect error")
						var code=$("#dcia_052").val().split("/")[1]+"/"+$("#dcia_052").val().split("/")[2];
						switch(code){
							case "0/1":
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
							case "0/0":
								$("#addr_0621").removeClass("requiredselect error")
								$("#addr_0620").addClass("requiredselect")
							break;
							case "1/0":
								$("#addr_0620").removeClass("requiredselect error")
								$("#addr_0621").addClass("requiredselect")
							break;
							case "1/1":
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
							default:
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
						}
					})
					
					
					//Trim at Name
					$("#dpes_02, #dpes_03, #dpes_04, #dcia_02, #dcto_03, #spin_01, #spin_02, #spin_04").bind("blur",function(){
						$(this).val(jQuery.trim($(this).val()))
						return false;
					})
					//Disabled Enter button in form
					$("#registroForm, #registroForm input").keypress(function(event){
						var evt = (evt) ? evt : ((event) ? event : null);
						var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
						if ((evt.keyCode == 13) && (node.type!="submit") && (node.type!="button")) {return false;}
					});
				
					//Disabled select in Email Field
					$("#dcto_01").bind("mousemove",function(){
						selec.disable(document.body)
					}).bind("mouseout",function(){
						selec.enable(document.body)
					})
					
					//Disabled Ctrl+V in Confirm Email Field.
					$("#emailConf").bind("paste",function(){return false;})
					
					//Set 'cp' validation
						//OnLoad
						if($("#dcia_0511").val()=="ES/0/0"){$("#addr_041").addClass("cp");}
						//OnChange
						$("#dcia_0511").bind("change",function(){
							if($(this).val()=="ES/0/0"){
								$("#addr_041").addClass("cp");
							}else{
								$("#addr_041").removeClass("cp");
							}
						})
					
					//Set 'cp' validation
						//OnLoad
							//Particular
							if($("#dcia_0511").val()=="ES/0/0"){
								$("#addr_041").addClass("cp");
								zipCounty.init($("#addr_041"),$("#addr_0610"))
							}
							//Business
							if($("#dcia_052").val()=="ES/0/0"){
								$("#addr_042").addClass("cp");
								zipCounty.init($("#addr_042"),$("#addr_0620"))
							}
						//OnChange
							//Particular
							$("#dcia_0511").bind("change",function(){
								if($(this).val()=="ES/0/0"){
									$("#addr_041").addClass("cp");
									zipCounty.init($("#addr_041"),$("#addr_0610"))
								}else{
									$("#addr_041").removeClass("cp");
								}
							})
							//Business
							$("#dcia_052").bind("change",function(){
								if($(this).val()=="ES/0/0"){
									$("#addr_042").addClass("cp");
									zipCounty.init($("#addr_042"),$("#addr_0620"))
								}else{
									$("#addr_042").removeClass("cp");
								}
							})
					
					//Disabled 'Comunications Language'
						//OnLoad
						if($("#r03:checked").size()>0){
							if($("#dcia_0511").val()=="ES/0/0"){
								$("#cnes_10").val("es")
								$("#cnes_10").attr("disabled","disabled");
								$("#addr_041").attr("maxlength",5);
							}else{
								$("#cnes_10").removeAttr("disabled");
								$("#addr_041").attr("maxlength",10);
							}		
						}else if($("#r04:checked").size()>0){
							if($("#dcia_052").val()=="ES/0/0"){
								$("#cnes_10").val("es")
								$("#cnes_10").attr("disabled","disabled");
								$("#addr_042").attr("maxlength",5);
							}else{
								$("#cnes_10").removeAttr("disabled");
								$("#addr_042").attr("maxlength",10);
							}
						}						
						//OnChange
						if($("#r03:checked").size()>0){
							$("#dcia_0511").bind("change",function(){
								if($(this).val()=="-1"){
									$("#cnes_10").removeAttr("disabled");
									$("#addr_041").attr("maxlength",10);
								}else if($(this).val()=="ES/0/0"){
									$("#cnes_10").val("es")
									$("#cnes_10").attr("disabled","disabled");
									$("#addr_041").attr("maxlength",5);
								}else{
									$("#cnes_10").removeAttr("disabled");
									$("#addr_041").attr("maxlength",10);
								}
							})
						}else if($("#r04:checked").size()>0){
							$("#dcia_0511").bind("change",function(){
								if($(this).val()=="-1"){
									$("#cnes_10").removeAttr("disabled");
									$("#addr_042").attr("maxlength",10);
								}else if($(this).val()=="ES/0/0"){
									$("#cnes_10").val("es")
									$("#cnes_10").attr("disabled","disabled");
									$("#addr_042").attr("maxlength",5);
								}else{
									$("#cnes_10").removeAttr("disabled");
									$("#addr_042").attr("maxlength",10);
								}
							})
						}
						
											
						//Play captcha if exists
						if($("a#playCaptcha").size()>0){
								$("a#playCaptcha").removeAttr("title").click(function(){
									var url=$("a#playCaptcha").attr("href");
									var embedCode='<embed src="'+url+'" hidden="true" autostart="true" id="sound"></embed>';
									$("div#playAudio").html(embedCode)
									return false;
								})
						}
						if( $("#reloadCaptcha").length>0 ){
							var img = '<a href="#"><img height="17" width="17" src="/ibcomv3/images/robot_act.gif"/></a>';
							$("#reloadCaptcha").hide().before($(img).click( function(){ $("#reloadCaptcha").click(); return false; } ))	
						}
						
					documentId.type01.init('dpes_05','dpes_06')
					
				ibdaus11.validate()
			},
			validate:function(){
				$("#registroForm input[type='submit']").bind("click",function(){
					$("#registroForm").validate({
						rules:{
							secretAnswer:{rangelength:[5,15]},
							//Personal
							//country:{requiredselect:"#r03:checked"},
							street:{required:"#r03:checked"},
							streetNumber:{required:"#r03:checked"},
							zip:{required:"#r03:checked"},
							city:{required:"#r03:checked"},
							//provincia:{requiredselect:"#r03:checked"},
							//state:{requiredselect:"#r03:checked"},
							//region:{required:"#r03:checked"},
							phone:{required:"#r03:checked"},
							//Business
							businessName:{required:"#r04:checked"},
							//companyCountry:{requiredselect:"#r04:checked"},
							companyStreet:{required:"#r04:checked"},
							companyStreetNumber:{required:"#r04:checked"},
							companyZip:{required:"#r04:checked"},
							companyCity:{required:"#r04:checked"},
							//companyProvincia:{requiredselect:"#r04:checked"},
							companyPhone:{required:"#r04:checked"}
						}
					});
				})
				
				$("#registroForm input[type='reset']").click(function(){
					alert('reset')
				})
			}
}
var ibdaus02={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					maxlength:jQuery.format(ErrorMsgs.maxlength)
				});
				ibdaus02.validate();
			},
			validate:function(){
				
				//Create label error for checkbuttons group
				var msg=(ErrorMsgs.maxlength).replace('{0}',5)
				$("#c01").parent().parent().append('<label for="selectedTravelZones" class="error">'+msg+'</label>')
				$("#c11").parent().parent().append('<label for="selectedFavoriteSports" class="error">'+msg+'</label>')
				$("#c21").parent().parent().append('<label for="selectedCulturalActivities" class="error">'+msg+'</label>')
				$("#c31").parent().parent().append('<label for="selectedOtherInterests" class="error">'+msg+'</label>')
				
				$("#registroForm").validate({
					rules:{
						selectedTravelZones:{maxlength:5},
						selectedFavoriteSports:{maxlength:5},
						selectedCulturalActivities:{maxlength:5},
						selectedOtherInterests:{maxlength:5}
					}
				});
				
				$("#registroForm input[type='submit']").bind("click",function(){
	 				if(!$("#registroForm").valid()){
	 					return false;
	 				}else{
	 					//Accept Conditions
	 					if($("#cuso_01:checked").size()==0){
							alert(ErrorMsgs.acceptConditions);
							return false;
						}
	 					return true;
	 				}
				})
			}
}

/*IBOLPS*/
var ibolps={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				digits:ErrorMsgs.digits,
				fqtv:ErrorMsgs.fqtv
				
			});
			ibolps.validate();
		},
		validate:function(){
			$("#formForgetPin input[type='submit']").bind("click",function(){
 				if(!$("#formForgetPin").valid()){
 					return false;
 				}else{
 					return true;
 				}
			})
				
			$("#formForgetPin").validate();
		}
}

/*IBPRSE*/
var ibprse={
		secretQuestion:{
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					rangelength:jQuery.format(ErrorMsgs.rangelength),
					alphanumeric:ErrorMsgs.alphanumeric
				});
				ibprse.secretQuestion.validate();
			},
			validate:function(){
				$("#formSecretQuestion input[type='submit']").bind("click",function(){
	 				if(!$("#formSecretQuestion").valid()){
	 					return false;
	 				}else{
	 					return true;
	 				}
				})
					
				$("#formSecretQuestion").validate({
					rules:{
						secretAnswer:{rangelength:[5,15]}
					}
				});
			}	
		},
		newPin:{
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					email:ErrorMsgs.email
				});
				ibprse.newPin.validate();
			},
			validate:function(){
				//Create and set label error
				//$("#correo").parent().parent().append('<label for="correo" class="error"></label>')
				
				$("#emailForm input[type='submit']").bind("click",function(){
	 				if(!$("#emailForm").valid()){
	 					return false;
	 				}else{
	 					return true;
	 				}
				})
					
				$("#emailForm").validate({
					rules:{
						email:{
							required:true,
							email:true
						}
					}
				});
			}
		}
}

/*IBVADS*/
var ibvads={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				digits:ErrorMsgs.digits,
				nif:ErrorMsgs.nif,
				residentCard:ErrorMsgs.residentCard,
				minlength:jQuery.format(ErrorMsgs.minlength)
			});
			documentId.type01.init('documentType','documentNumber');
			ibvads.validate();
		},
		validate:function(){
			$("#formValidIBplus input[type='submit']").bind("click",function(){
	 			if(!$("#formValidIBplus").valid()){
	 				return false;
	 			}else{
	 				return true;
	 			}
			})
					
			$("#formValidIBplus").validate({
				rules:{
					phone:{
						minlength:4
					}
				}
			});
		}
}

/*IBCAPS*/
var ibcaps={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required,
					digits:ErrorMsgs.digits,
					minlength:jQuery.format(ErrorMsgs.minlength),
					rangelength:jQuery.format(ErrorMsgs.rangelength),
					noLadderNumbers:ErrorMsgs.noLadderNumbers,
					noLadderLetters:ErrorMsgs.noLadderLetters,
					noRepeatChars:ErrorMsgs.noRepeatChars,
					equalPin:ErrorMsgs.equalPin,
					noIbplus:ErrorMsgs.noIbplus
				});
				ibcaps.validate();
			},
			validate:function(){
				$("#formChangePin input[type='submit']").bind("click",function(){
		 			$("#formChangePin").validate({
						rules:{
							newPin:{minlength:6},
							secretAnswer:{rangelength:[5,15]}
						}
					});
				})				
			}
}
/*IBDAPE*/
var ibdape={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				nif:ErrorMsgs.nif,
				residentCard:ErrorMsgs.residentCard,
				alphanumStrict:ErrorMsgs.alphanumStrict
			});
				
			//Show/Hide correct address
				//OnLoad
				setChildNums.init($("#NCHD_1").val())
				documentId.type02.init('MODACRE_1','NUMACRE_1')
				//OnChange
				$("#NCHD_1").change(function(){setChildNums.init($("#NCHD_1").val())})
				$("#MODACRE_1").change(function(){documentId.type02.init('MODACRE_1','NUMACRE_1')})
			
			//Load village list from Canarias / Baleares / Ceuta / Melilla.
				//OnLoad
					//residentVillage.init($("#PROV_1"),$("#TMUN_1"))
				//OnChange
				$("#PROV_1").change(function(){residentVillage.init($(this),$("#TMUN_1"))})
				
			//Enable/Disable certificate number field
				
				if($("#certificateNumber").exists()){
					//OnLoad
					if($("#MODACRE_1").val()=="DN" || $("#MODACRE_1").val()=="TR"){
						$("#certificateNumber").attr("disabled","disabled");
					}else{$("#certificateNumber").removeAttr("disabled");}
					//OnChange
					$("#MODACRE_1").change(function(){
						if($(this).val()=="DN" || $(this).val()=="TR"){
							$("#certificateNumber").attr("disabled","disabled");
						}else{$("#certificateNumber").removeAttr("disabled");}
					})
				}
				
				
			
			ibdape.validate();
		},
		validate:function(){
			$("#IBDAPE input[type='submit']").bind("click",function(){
	 			$("#IBDAPE").validate();
			})
		}
}

/*IBDIRE*/
var ibdire={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				email:ErrorMsgs.email,
				equalTo:ErrorMsgs.equalTo,
				equalEMail:ErrorMsgs.equalEMail,
				cp:ErrorMsgs.cp,
				phone:ErrorMsgs.phone,
				companyPhone:ErrorMsgs.companyPhone
				
				
			});
			
			/*--- Actions ---*/
				//Show/Hide correct personal address
				//OnLoad
				setAddress.init($("#dcia_0511").val(),1);
				if($("#dcia_01:checked").size()==0) $("#addr_0610, #addr_0611").removeClass("requiredselect error")
				//OnChange
				$("#dcia_0511").change(function(){
					setAddress.init($(this).val(),1);
					if($("#dcia_01:checked").size()==0) $("#addr_0610, #addr_0611").removeClass("requiredselect error")
				})
				
				//Show/Hide correct job address
				//OnLoad
				setAddress.init($("#dcia_052").val(),2);
				if($("#dcia_001:checked").size()==0) $("#addr_0610, #addr_0611").removeClass("requiredselect error")
				//OnChange
				$("#dcia_052").change(function(){
					setAddress.init($(this).val(),2);
					if($("#dcia_001:checked").size()==0) $("#addr_0620, #addr_0621").removeClass("requiredselect error")
				})
			
				//Disabled Ctrl+V in Confirm Email Field.
				$("#emailConf").bind("paste",function(){return false;})
				
				//Remove others requiredselects
					$("#dcia_01").click(function(){
						$("#addr_0620, #addr_0621").removeClass("requiredselect error")
						var code=$("#dcia_0511").val().split("/")[1]+"/"+$("#dcia_0511").val().split("/")[2];
						switch(code){
							case "0/1":
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
							case "0/0":
								$("#addr_0611").removeClass("requiredselect error")
								$("#addr_0610").addClass("requiredselect")
							break;
							case "1/0":
								$("#addr_0610").removeClass("requiredselect error")
								$("#addr_0611").addClass("requiredselect")
							break;
							case "1/1":
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
							default:
								$("#addr_0610, #addr_0611").removeClass("requiredselect error")
							break;
						}
					})
					$("#dcia_001").click(function(){
						$("#addr_0610, #addr_0611").removeClass("requiredselect error")
						var code=$("#dcia_052").val().split("/")[1]+"/"+$("#dcia_052").val().split("/")[2];
						switch(code){
							case "0/1":
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
							case "0/0":
								$("#addr_0621").removeClass("requiredselect error")
								$("#addr_0620").addClass("requiredselect")
							break;
							case "1/0":
								$("#addr_0620").removeClass("requiredselect error")
								$("#addr_0621").addClass("requiredselect")
							break;
							case "1/1":
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
							default:
								$("#addr_0620, #addr_0621").removeClass("requiredselect error")
							break;
						}
					})
				
				//Set 'cp' validation
				//OnLoad
				if($("#dcia_0511").val()=="ES/0/0"){
					$("#addr_041").addClass("cp");
					//Codigo Postal <-> Provincia
					zipCounty.init($("#addr_041"),$("#addr_0610"))
				}
				if($("#dcia_052").val()=="ES/0/0"){
					$("#addr_042").addClass("cp");
					//Codigo Postal <-> Provincia
					zipCounty.init($("#addr_042"),$("#addr_0620"))
				}
				//OnChange
				$("#dcia_0511").bind("change",function(){
					if($(this).val()=="ES/0/0"){
						$("#addr_041").addClass("cp");
						//Codigo Postal <-> Provincia
						zipCounty.init($("#addr_041"),$("#addr_0610"))
					}else{
						$("#addr_041").removeClass("cp");
					}
				})
				$("#dcia_052").bind("change",function(){
					if($(this).val()=="ES/0/0"){
						$("#addr_042").addClass("cp");
						//Codigo Postal <-> Provincia
						zipCounty.init($("#addr_042"),$("#addr_0620"))
					}else{
						$("#addr_042").removeClass("cp");
					}
				})
				
				//OnLoad
				if($("#dcia_01:checked").size()>0){$("#dcia_052").removeClass("requiredselect")}
				if($("#dcia_001:checked").size()>0){$("#dcia_052").addClass("requiredselect")}
				//OnChange
				$("#dcia_01").bind("click",function(){
					$("#dcia_052").removeClass("requiredselect")
				})
				$("#dcia_001").bind("click",function(){
					$("#dcia_052").addClass("requiredselect")
				})
				
				
			
			ibdire.validate();
		},
		validate:function(){
			$("#IBDIRE input[type='submit']").bind("click",function(){
				$("#IBDIRE").validate({
					rules:{
						//Particular
						country:{requiredselect:"#dcia_01:checked"},
						street:{required:"#dcia_01:checked"},
						streetNumber:{required:"#dcia_01:checked"},
						zip:{required:"#dcia_01:checked"},
						phone:{required:"#dcia_01:checked"},
						//Business
						companyName:{required:"#dcia_001:checked"},
						//companyCountry:{requiredselect:"#dcia_001:checked"},
						companyStreet:{required:"#dcia_001:checked"},
						companyStreetNumber:{required:"#dcia_001:checked"},
						companyZip:{required:"#dcia_001:checked"},
						companyCity:{required:"#dcia_001:checked"},
						companyPhone:{required:"#dcia_001:checked"}
					}
				});
			})
					
			
		}
}

/*IBSUBS*/
var ibsubs={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required,
					email:ErrorMsgs.email,
					equalEMail:ErrorMsgs.equalEMail
				});
				
				//Disabled select in Email Field
					$("#EMAIL_1").bind("mousemove",function(){
						selec.disable(document.body)
					}).bind("mouseout",function(){
						selec.enable(document.body)
					})
				
				//Disabled Ctrl+V in Confirm Email Field.
					$("#emailConf").bind("paste",function(){return false;})
				
				
				ibsubs.validate();
			},
			validate:function(){
				
				$("#IBSUBS input[type='submit']").bind("click",function(){
					$("#IBSUBS").validate();
		 		})
			}
}

/*IBMINT*/
var ibmint={
			init:function(ind){
				switch (ind){
					case 1:ibmint.validate.ibmin1();break;
					case 2:ibmint.validate.ibmin2();break;
					case 3:ibmint.validate.ibmin3();break;
					case 4:ibmint.validate.ibmin4();break;
					case 5:ibmint.validate.ibmin5();break;
				}
			},
			validate:{
				ibmin1:function(){
					//Create label error for checkbuttons group
					var msg=(ErrorMsgs.maxlength).replace('{0}',5)
					$("#index02").parent().parent().parent().append('<label for="selectedOtherProgramsFF" class="error">'+msg+'</label>')
					$("#IBMIN1 input[type='submit']").bind("click",function(){
		 				if(!$("#IBMIN1").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					})
					$("#IBMIN1").validate({rules:{selectedOtherProgramsFF:{maxlength:5}}});
				},
				ibmin2:function(){
					//Create label error for checkbuttons group
					var msg=(ErrorMsgs.maxlength).replace('{0}',5)
					$("#index_1_01").parent().parent().parent().append('<label for="selectedFavouriteHotels" class="error">'+msg+'</label>')
					$("#index_2_01").parent().parent().parent().append('<label for="selectedCarRentalCompanies" class="error">'+msg+'</label>')	
					$("#IBMIN2 input[type='submit']").bind("click",function(){
		 				if(!$("#IBMIN2").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					})
					$("#IBMIN2").validate({
						rules:{
							selectedFavouriteHotels:{maxlength:5},
							selectedCarRentalCompanies:{maxlength:5}
						}
					});
				},
				ibmin3:function(){
					//Create label error for checkbuttons group
					var msg=(ErrorMsgs.maxlength).replace('{0}',5)
					$("#index1").parent().parent().parent().append('<label for="selectedCreditCards" class="error">'+msg+'</label>')
					$("#IBMIN3 input[type='submit']").bind("click",function(){
		 				if(!$("#IBMIN3").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					})
					$("#IBMIN3").validate({rules:{selectedCreditCards:{maxlength:5}}});
				},
				ibmin4:function(){
					//Create label error for checkbuttons group
					var msg=(ErrorMsgs.maxlength).replace('{0}',5)
					$("#index_1_01").parent().parent().parent().append('<label for="selectedCreditCards" class="error">'+msg+'</label>')
					$("#index_2_01").parent().parent().parent().append('<label for="selectedTravelTime" class="error">'+msg+'</label>')
					$("#IBMIN4").find("h3").each(function(i){$(this).addClass("head"+i)})
					$("h3.head1").before('<label for="selectedNationalFlights" class="error">'+msg+'</label>')
					$("h3.head2").before('<label for="selectedInternationalFlights" class="error">'+msg+'</label>')
					$("#index_5_AU").parent().parent().parent().append('<label for="selectedOtherFlights" class="error">'+msg+'</label>')
					
					$("#IBMIN4 input[type='submit']").bind("click",function(){
		 				if(!$("#IBMIN4").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					})
					$("#IBMIN4").validate({
						rules:{
							selectedCreditCards:{maxlength:5},
							selectedTravelTime:{maxlength:5},
							selectedNationalFlights:{maxlength:5},
							selectedInternationalFlights:{maxlength:5},
							selectedOtherFlights:{maxlength:5}
						}
					});
				
				},
				ibmin5:function(){
					//Create label error for checkbuttons group
					var msg=(ErrorMsgs.maxlength).replace('{0}',5)
					$("#index_1_01").parent().parent().parent().append('<label for="selectedCulturalActivities" class="error">'+msg+'</label>')
					$("#index_2_01").parent().parent().parent().append('<label for="selectedFavoriteSports" class="error">'+msg+'</label>')
					$("#index_3_01").parent().parent().parent().append('<label for="selectedOtherInterests" class="error">'+msg+'</label>')
					$("#IBMIN5 input[type='submit']").bind("click",function(){
		 				if(!$("#IBMIN5").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					})
					$("#IBMIN5").validate({
						rules:{
							selectedCulturalActivities:{maxlength:5},
							selectedFavoriteSports:{maxlength:5},
							selectedOtherInterests:{maxlength:5}
						}
					});
				}
			}
}

/*IBATJC*/
var ibatjc={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required,
					cp:ErrorMsgs.cp,
					ibcreditcard:ErrorMsgs.ibcreditcard
				});				
				$("form#IBATJC label.invisible").removeClass("invisible");
				
				$("#WORK_1").change(function(){
					//0 -> Particular //1 -> Empresa
					if($(this).val()==0){
						$("#dcia_0511").val(particularChain[0])
						$("#addr_041").val(particularChain[4]);
					}else if($(this).val()==1){
						$("#dcia_0511").val(empresaChain[0])
						$("#addr_041").val(empresaChain[4])
					}else{
						$("#dcia_0511").val("-1")
						$("#addr_041").val("")
					}
				})
				
				//Country - state
					//OnLoad
					setState.init($("#dcia_0511").val(),1)
					//OnChange
					$("#dcia_0511").change(function(){setState.init($(this).val(),1)})
					
				ibatjc.validate();
			},
			validate:function(){
				$("#IBATJC input[type='submit']").bind("click",function(){
	 				$("#IBATJC").validate();
				})
			}
}

/*IBMIST*/
var ibmist={
		init:function(){
			
			$("a.popUp").each(function(i){
				$(this).bind("click",function(){
					window.open($(this).attr("href"),"popUp","width=725,height=444,scrollbars=no");
					return false;
				})
			})
			
			ibmist.validate();
		},
		validate:function(){
				
				$("#IBMIST input[type='submit']").bind("click",function(){
					if($("input[name='paymentCard']:checked").size()==0){
						alert(ErrorMsgs.requiredCard)
						return false;
					}else{
						return true;
					}
					
				})
				$("#IBMIST").validate();
				
		},
		handPopup:function(){
			$("a#no").click(function(){ibmist.closePopUp();})
			$("a#yes").click(function(){ibmist.closePopUp($(this).attr("href"));})
		},
		redirect:function(_url){window.open(_url,"_self");},
		closePopUp:function(_url){
			if(_url==undefined){window.close();}else{window.close();window.opener.ibmist.redirect(_url);}
		}
}

/*IBMDBI*/
var ibmdbi={
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					requiredselect:ErrorMsgs.required
				});
				
				//Show/Hide correct address
					//OnLoad
					if($("#TYPE_BILL:checked").size()){
						setAddress.init($("#dcia_0511").val(),1);
						setCif.init($("#WORK_1").val());
					}
					
					//OnChange
					$("#dcia_0511").change(function(){setAddress.init($(this).val(),1);})
					$("#WORK_1").change(function(){setCif.init($(this).val());})
				
				//Fill Doc Number
					//OnLoad
					fillFields.docNumber.fill($("#TIPD_1").val(),"NDOC_1")
					//OnChange
					$("#TIPD_1").change(function(){fillFields.docNumber.fill($(this).val(),"NDOC_1")})
					
				//Show/Hide Express Shipping Data
					//OnLoad
					$("#express").removeClass("invisible")
					//OnChange
					$("#TYPE_BILL1").click(function(){
						
						
					})
					$("#TYPE_BILL2").click(function(){
						
						$("#TYPE_BILL1 select").removeClass("error");
						ibmdbi.validate();
					})
					$("#TYPE_BILL").click(function(){
						
						$("#TYPE_BILL1 select").removeClass("error");
						ibmdbi.validate();
					})
					
				//Destination Place
					//OnChange
					$("#WORK_1").change(function(){fillFields.courier.init("WORK_1");})
					
				ibmdbi.validate();
			},
			validate:function(){
				
				
				
				$("#IBMDBI input[type='submit']").bind("click",function(){
					//Checks RadioButtons
					if ($("input[name='deliveryType']:checked").size()>0){
												
						$("#IBMDBI").validate({
							rules:{
								ciberticketDocType:{requiredselect:($("#TYPE_BILL1:checked").size()>0)},
								ciberticketDocNumber:{required:($("#TYPE_BILL1:checked").size()>0)},
								
								addressType:{requiredselect:($("#TYPE_BILL:checked").size()>0)},
								attentionTo:{required:($("#TYPE_BILL:checked").size()>0)},
								country:{requiredselect:($("#TYPE_BILL:checked").size()>0)},
								addr_041:{required:($("#TYPE_BILL:checked").size()>0)},
								addr_051:{required:($("#TYPE_BILL:checked").size()>0)}
								
								
							}
						});
						
						if(!$("#IBMDBI").valid()){
		 					return false;
		 				}else{
		 					return true;
		 				}
					}else{
						alert(ErrorMsgs.typeBill);
						return false;
					}
				})
				
			}
}

/*MIPEFA*/
var mipefa={
		init:function(){
				$("form.MIPEFA input[type='submit']").bind("click",function(){
					if($("input[name='defaultBookmarkId']:checked").size()==0)
						$("input[name='defaultBookmarkId']:last").attr("checked",true)
				})
		}
}

/*IBPTOS*/
var ibptos={
		init:function(){
			//Enable 'Print' Link
			if($("ul.tools li.invisible").size()>0)
				$("ul.tools li.invisible").removeClass("invisible");
		}
}

/*IBSPT1*/
var ibspt1={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				digits:ErrorMsgs.digits,
				date:ErrorMsgs.date
			});
			ibspt1.validate()
		},
		validate:function(){
			$("#IBSPT1 input[type='submit']").bind("click",function(){
				$("#IBCSPT").validate();
				if(!$("#IBSPT1").valid()){
 					return false;
 				}else{
 					//Check num chars of TKT
 					var tktNum01=$("#numBillete_1").val().length
 					var tktNum02=$("#numBillete_2").val().length
 					if(tktNum01+tktNum02==13){
 						return true;
 					}else{
 						var msg=(ErrorMsgs.tktNumChars).replace('{0}',13)
 						alert(msg);
 						return false;
 					}
 				}
			})
			
		},
		setCallAirport:function(){
			$("div.airportList div.item li").each(function(i){
				var objLink=$(this).find("a");
				objLink.bind("click",function(){
					window.opener.ibspt1.setAirport($(this).attr("rel"),FormAirport.type)
					window.close()
				})
						
			})
		},
		setAirport:function(val,origenDestino){
			if(origenDestino=='origen'){
				$("#origen").val(val).focus()
			}else if(origenDestino=='destino'){
				$("#destino").val(val).focus()
			}
		}
}

/*IBSPT3*/
var ibspt3={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				email:ErrorMsgs.email
			});
			ibspt3.validate()
		},
		validate:function(){
			$("#IBCSPT input[type='submit']").bind("click",function(){
				if(!$("#IBCSPT").valid()){
 					return false;
 				}else{
 					return true;
 				}			
			})
			$("#IBCSPT").validate({
				rules:{
					email:{required:"#INFO_1:checked",email:"#INFO_1:checked"}
				}
			});
		}
}

/*EQFARE*/
var eqfare={
		searchFlight:{
			init:function(){
				
				if($("form.EQFAREDEP").size()>0) $("#maletas_ida").focus();
				
				//$("form.EQFARE").css("float","left")
				
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					requiredselect:ErrorMsgs.required
				});
				eqfare.searchFlight.validate()
			},
			validate:function(){
				$("#frm_eqfare input[type='submit']").click(function(){
					$("#frm_eqfare").validate();			
				})
				
			}
		},
		departureFlightBaggage:{
			init:function(){
				//Replace form Action
				var oldAction=$("#frm_purchase_ida").attr("action")
				var newAction=oldAction.replace('excessLuggagePrePurchase.do','excessLuggageSecuredPrePurchase.do')
				$("#frm_purchase_ida").attr("action",newAction)
				eqfare.departureFlightBaggage.validate()
			},
			validate:function(){
				$("#frm_purchase_ida input[type='submit']").bind("click",function(){
	 				if(!$("#frm_purchase_ida").valid()){
	 					return false;
	 				}else{
	 					//Accept Conditions
	 					if($("#consentimiento_1:checked").size()==0){
							alert(ErrorMsgs.excessBaggageDeparture);
							return false;
						}
						return true;
	 				}
				})
				$("#frm_purchase_ida").validate();
			}
		},
		arrivalFlightBaggage:{
			init:function(){
				var oldAction=$("#frm_purchase_vuelta").attr("action")
				var newAction=oldAction.replace('excessLuggagePrePurchase.do','excessLuggageSecuredPrePurchase.do')
				$("#frm_purchase_vuelta").attr("action",newAction)
				eqfare.arrivalFlightBaggage.validate()
			},
			validate:function(){
				$("#frm_purchase_vuelta input[type='submit']").bind("click",function(){
	 				if(!$("#frm_purchase_vuelta").valid()){
	 					return false;
	 				}else{
	 					//Accept Conditions
	 					if($("#consentimiento_2:checked").size()==0){
							alert(ErrorMsgs.excessBaggageArrival);
							return false;
						}
						return true;
	 				}
				})
				$("#frm_purchase_vuelta").validate();
			}
		}
}

/*EQPURC*/
var eqpurc={
		showConfirm:false,
		init:function() {
		    var oldAction=$("#eqpurc").attr("action");
			var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do');
			$("#eqpurc").attr("action",newAction);
			
		    //No permitido pegar en comprobacion email
			$("#email_repetir").bind("paste",function(){return false;});
			
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				date:ErrorMsgs.date,
				nif:ErrorMsgs.nif,
				residentCard:ErrorMsgs.residentCard,
				creditcard:ErrorMsgs.creditCard,
				digits:ErrorMsgs.digits,
				email:ErrorMsgs.email,
				equalEMail:ErrorMsgs.equalEMail,
				cp:ErrorMsgs.cp
			});
			//Set required CVV
				//OnLoad
				//(Validations.obligaCVV)? $("#cvv").addClass("required"):$("#cvv").removeClass("required")
			
			
			//Set document type
				//OnLoad
				documentId.type01.init('tipoDocumento','numeroDocumento')
				//OnChange
				$("#tipoDocumento").change(function(){documentId.type01.init('tipoDocumento','numeroDocumento');})
			
			
			//Validate CP
				//OnLoad
				if($("#pais").val()=="ES/0/0") $("#codpos").addClass("cp");
				//OnChange
				
				$("#pais").bind("change",function(){
					if($(this).val()=="ES/0/0") $("#codpos").addClass("cp");
				})
				
			
			
			//Replace form Action
			var oldAction=$("#eqpurc").attr("action");
			var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
			$("#eqpurc").attr("action",newAction)
			
			if($("#misTarjets").size()>0) $("#misTarjets").css("display","block");
			
			//Set CreditCards Data
				//OnChange
			$("#descTarjeta").bind("change",function(){
				var _value=$(this).val()
				$("#descTarjeta").find("option").each(function(i){
					if($(this).val()==_value){eqpurc.dataCard.fillDataCard(i);}
				})
			})
			
			$("#tipoTarjeta").change(changeCvv).each(changeCvv)
			eqpurc.validate()
			

			//Show msg PCC
			// checkPcc (CWT)
			/*
			if(Validations.obligaPCC && Validations.condicionPCC && Validations.numerrores==0 && !Validations.obligaCVV){
				var auxCvv=$("#cvv").val();
				if(auxCvv.length==0){
					if(confirm(Validations.mensajeObligaPCC)){
						$("#consentimiento").attr("checked",true)
						Validations.rellamada=true;
						//$("form#eqpurc").attr("action","/OneToOne/v3/whileExcessBaggagePurchase.do")
						var oldAction=$("#eqpurc").attr("action");
						var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
						$("#eqpurc").attr("action",newAction)
						$("#eqpurc").submit() 
						return true;
					}else{
						eqpurc.showConfirm=true;
						return false;
					}
				}else{
					Validations.rellamada=true;
					//$("form#eqpurc").attr("action","/OneToOne/v3/whileExcessBaggagePurchase.do")
					var oldAction=$("#eqpurc").attr("action");
					var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
					$("#eqpurc").attr("action",newAction)
					$("#eqpurc").submit()
					return true;
				}
			}else{ 
				if(Validations.obligaPCC && !Validations.condicionPCC && Validations.numerrores==0 && !Validations.obligaCVV){//PCC siempre obligatorio					
					
					if(confirm(Validations.mensajeObligaPCC)){
						$("#consentimiento").attr("checked",true)
						Validations.rellamada=true;
						//$("form#eqpurc").attr("action","/OneToOne/v3/whileExcessBaggagePurchase.do")
						var oldAction=$("#eqpurc").attr("action");
						var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
						$("#eqpurc").attr("action",newAction)
						$("#eqpurc").submit()
						return true;
					}else{
						eqpurc.showConfirm=true;
						return false;
					}
					
				} else { */
					/*if(Validations.obligaPCC && Validations.alertPCC && Validations.numerrores==0 && !Validations.obligaCVV){//Tratar la primera vez que metemos bien tarjeta y CVV
						if(confirm(Validations.mensajeObligaPCC)){
							$("#consentimiento").attr("checked",true)
							Validations.rellamada=true;
							//$("form#eqpurc").attr("action","/OneToOne/v3/whileExcessBaggagePurchase.do")
							var oldAction=$("#eqpurc").attr("action");
							var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
							$("#eqpurc").attr("action",newAction)
							$("#eqpurc").submit()
							return true;
						}else{
							eqpurc.showConfirm=true;
							return false;
						}
					} */
					if(Validations.obligaPCC && Validations.alertPCC && Validations.numerrores==0 && Validations.numwarnings==0 && Validations.obligaCVV){//Tratar la primera vez que metemos bien tarjeta y CVV //para caso 4
						if(confirm(Validations.mensajeObligaPCC)){
							$("#consentimiento").attr("checked",true)
							Validations.rellamada=true;
							//$("form#eqpurc").attr("action","/OneToOne/v3/whileExcessBaggagePurchase.do")
							var oldAction=$("#eqpurc").attr("action");
							var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
							$("#eqpurc").attr("action",newAction)
							$("#eqpurc").submit()
							return true;
						}else{
							eqpurc.showConfirm=true;
							return false;
						}
					}
			/*	}
			}*/
			
			
			
		},
		dataCard:{
			fillDataCard:function(ind){	
				
				var _value=$("#descTarjeta").val()
				if(_value!="-1" && _value!="new"){		
					
					//Set CreditCard Type
					$("#tipoTarjeta").val(EntTarjetas[ind][0])
					
					//Set CreditCard Number
					$("#numeroTarjeta").val(EntTarjetas[ind][1])
					
					//Set CreditCard CaducityDate 
					$("#caducidadtarjetamonth").val(EntTarjetas[ind][2])
					$("#caducidadtarjetayear").val(EntTarjetas[ind][3])
							
					//Set CreditCard Name
					$("#nombre_completo_pagador").val(EntTarjetas[ind][4])
					
					//Set Country
					$("#pais").val(EntTarjetas[ind][5])
							
					//Set ZIP/CP
					$("#codpos").val(EntTarjetas[ind][9])
					
					//Load description in hidden field
					$("#descripcionTarjeta").val(EntTarjetas[ind][15])
				}else{
					eqpurc.dataCard.cleanDataCard()
				}
			},
			cleanDataCard:function(){
				$("#tipoTarjeta").val(0);
				$("#numeroTarjeta").val("");
				$("#caducidadtarjetamonth").val(0);
				$("#caducidadtarjetayear").val(0);
				$("#nombre_completo_pagador").val("");		
				$("#pais").val(0);		
				$("#codpos").val("");				
				$("#descripcionTarjeta").val("");	
			}
		},
		validate:function(){
			$("#eqpurc input[type='submit']").bind("click",function(){
				$("#eqpurc").validate({
                          groups: {
                            caducidadtarjeta: "mesCaducidadTarjeta anioCaducidadTarjeta"
                          },
                          errorPlacement: function(error, element) {
                             if (element.attr("name") == "mesCaducidadTarjeta" 
                                         || element.attr("name") == "anioCaducidadTarjeta" )
                               error.appendTo("#caducidadtarjeta_label");
                             else
                               error.insertAfter(element);
                           }
                         });
			
				if(!$("#eqpurc").valid()){
 					return false;
 				}else{ 					
 					//Accept Conditions
 					if($("#consentimiento:checked").size()==0){
						alert(ErrorMsgs.acceptConditions);
						return false;
					}else{
						if(eqpurc.showConfirm){
							if(confirm(Validations.mensajeObligaPCC)){
								Validations.rellamada=true;
								var oldAction=$("#eqpurc").attr("action");
								var newAction=oldAction.replace('excessLuggagePurchase.do','whileExcessBaggagePurchase.do')
								$("#eqpurc").attr("action",newAction)
								return true;
							}else{
								return false;
							}
						}
 					}
 				}
			})
			
		}
}

var eBulletin={
		ibalbo:{
			init:function(){
				
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					email:ErrorMsgs.email
				});
				
				eBulletin.ibalbo.validate()
			},
			validate:function(){
				if($("#formAltaBoletin").size()>0){
					$("#formAltaBoletin input[type='submit']").bind("click",function(){
		 				if(!$("#formAltaBoletin").valid()){
		 					return false;
		 				}else{
		 					//Accept Conditions if exists
		 					if($("#dpes_06").size()>0){
			 					if($("#dpes_06:checked").size()==0){
									alert(ErrorMsgs.acceptConditions);
									return false;
								}
							}
							return true;
		 				}
					})
					$("#formAltaBoletin").validate();
				}else if($("#newsletter").size()>0){
					$("#newsletter input[type='submit']").bind("click",function(){
		 				if(!$("#newsletter").valid()){
		 					return false;
		 				}else{	 					
		 					return true;
		 				}
					})
					$("#newsletter").validate();
				}
			}
		},
		ibdepr:{
			init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					required:ErrorMsgs.required,
					email:ErrorMsgs.email
				});
				
				eBulletin.ibdepr.validate()
			},
			validate:function(){
				$("#newsletter input[type='submit']").bind("click",function(){
	 				if(!$("#newsletter").valid()){
	 					return false;
	 				}else{
	 					return true;
	 				}
				})
				$("#newsletter").validate();
			}
		}
}

/*IBBILL*/
var ibbill={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required
			});
			
			//Show/Hide ETKT
				//OnLoad
				ticket.init($("input[name='billeteElectronico']:checked").attr("id"))
				//OnChange (RadioBtn)
				$("input[name='billeteElectronico']").bind("click",function(){ticket.init($(this).attr("id"))})
				
			//Play captcha if exists
			if($("a#playCaptcha").size()>0){
					$("a#playCaptcha").removeAttr("title").click(function(){
						var url=$("a#playCaptcha").attr("href");
						var embedCode='<embed src="'+url+'" hidden="true" autostart="true" id="sound"></embed>';
						$("div#playAudio").html(embedCode)
						return false;
					})
			}
			if( $("#reloadCaptcha").length>0 ){
				var img = '<a href="#"><img height="17" width="17" src="/ibcomv3/images/robot_act.gif"/></a>';
				$("#reloadCaptcha").hide().before($(img).click( function(){ $("#reloadCaptcha").click(); return false; } ))	
			}
			
			ibbill.validate();
		},
		validate:function(){
			$("#frm_ibbill input#btnContinuar").bind("click",function(){
 				if(!$("#frm_ibbill").valid()){
 					return false;
 				}else{
 					//Valida la suma de caracteres
 					//ETKT --> 13
 					//Normal --> 14
 					if($("input[name='billeteElectronico']").attr("checked")==true){
 						var TicketVal=($("#num_billete_1").val()).length + ($("#num_billete_2").val()).length
 						var msg1=(ErrorMsgs.ticketLength).replace('{0}',13)
 						if(TicketVal==13){
 							return true;
 						}else{
 							alert(msg1);
 							return false;
 						}
 					}else{
 						var TicketVal=($("#num_billete_1").val()).length + ($("#num_billete_2").val()).length + ($("#num_billete_3").val()).length
 						var msg2=(ErrorMsgs.ticketLength).replace('{0}',14)
 						if(TicketVal==14){
 							return true;
 						}else{
 							alert(msg2);
 							return false;
 						}
 					}
 				}
			})
			$("#frm_ibbill").validate();
		}
}
/*IBBIFE*/
var ibbife={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required
			});
			
			
			
			//Show/Hide correct address
				//OnLoad
				setAddress.init($("#dcia_0511").val(),1);
				setCif.init($("#WORK_1").val());
				//OnChange
				$("#dcia_0511").change(function(){setAddress.init($(this).val(),1);})
				$("#WORK_1").change(function(){setCif.init($(this).val());})
			
			
			$("#invoiceForm input[type='submit']").bind("click",function(){
				if($(this).attr("id")=='btnCancelar'){
					ibbife.cancel();
				}else{
					ibbife.validate();
				}
				return false;
			})
			
		},
		cancel:function(){
			if(confirm('¿Seguro que desea cancelar la operación?')){
				if(multiples){
					$("#invoiceForm").attr("action","/web/v3/pnrSearchDispatchCancelRebill.do")
					$("#invoiceForm").submit()
				}else{
					$("#invoiceForm").attr("action","/web/v3/invoicePreSearch.do?prgOid=536886780&tabId=0&menuId=27000000000000&isPopup=false")
					$("#invoiceForm").submit()
				}
			}else{
				return false;
			}	
		},
		validate:function(){
			if(!$("#invoiceForm").valid()){
 				return false;
 			}else{
 				return true;
 			}
			$("#invoiceForm").validate();
		}
}

/*REBILL*/
var REBILL={
			recall:false,
  		allChecked:false,
  		msgShowed:false,
		  init:function(){
		  	//
		    REBILL.validate()
		    
		    if($("#checkAll").size()>=0){$("#checkAll").click(function(){REBILL.checkAllBills();})}
		  },    
		  validate:function(){
		  	
		  	$("#btnEnvio").bind("click",function(){
		    	if($("input.dummy:checked").size()==0){
		    		alert(ErrorMsgs.errorFacturaVacia)
		    		return false;
		  		}
		  		return true;
		    })
		    
		    $("input.submit_enlace").each(function(){
		    	$(this).click(function(e){
					if ($(this).parents("TR").find("input.dummy:checked, input.ver:checked").size() == 0) {
						alert(ErrorMsgs.errorFacturaVacia)
						return false;
					}else{
						if ($(this).is("[id^=btnVer]")) {
							alert(ErrorMsgs.errorFacturaNoDisponible)
							return false;
						}
					}
		  			return true;
		    	})
		    })
		  	
		  	 
		    
		  },
		  checkAllBills:function(){
		    if(!REBILL.msgShowed){alert(ErrorMsgs.mensajeEmisionFacturasMultiples);REBILL.msgShowed=true;}    
		    (REBILL.allChecked)? $("input.dummy").each(function(){$(this).removeAttr("checked");REBILL.allChecked=false;}):$("input.dummy").each(function(){$(this).attr("checked",true);REBILL.allChecked=true;})    
			}
}

/*RETFLI*/
var retfli={
		init:function(){
			//Assign error messages.
			jQuery.extend(jQuery.validator.messages,{
				required:ErrorMsgs.required,
				requiredselect:ErrorMsgs.required,
				digits:ErrorMsgs.digits,
				email:ErrorMsgs.email
			});
			
			//Filter Searching Results
			
			retfli.tabs.load();
			retfli.flightList.filter();
			retfli.validate();
		},
		tabs:{
			all:[],
			pestWidth:217,
			contentHolder:"tab-1",
			load:function(){
				if(page.$("shadowpest")){ var shadow = page.$("shadowpest")
				}else{
		 			var shadow = document.createElement("div");
					shadow.id="shadowpest";
					page.$("main").appendChild(shadow)
				}
				shadow.style.height="35px"
				var pest=document.getElementById("tabUl") 
				//pest.style.background="transparent url(/ibcomv3/images/fnd_allpest.gif) repeat-x 0 -1px"
				pest.style.zIndex=0
				retfli.tabs.all=dom.onlyThisElement("LI",pest);			
				for(var xx=0;xx<retfli.tabs.all.length;xx++){
					retfli.tabs.all[xx].cont=xx			
					if(	retfli.tabs.all[xx].className=="active" || 
						retfli.tabs.all[xx].className=="first active"){
							var x=xy.getX(retfli.tabs.all[parseInt(xx)])
							var y=xy.getY(retfli.tabs.all[parseInt(xx)])	
							retfli.tabs.setShadowPosition(x,y,retfli.tabs.pestWidth)	
							//retfli.tabs.changePest(retfli.tabs.all[xx])
					}
					
					if(retfli.tabs.all[xx].getElementsByTagName("a")[0])
						retfli.tabs.initAjax(retfli.tabs.all[xx])
		
				}
				//retfli.tabs.shadowModule("lDegraded");
				//retfli.tabs.shadowModule("rDegraded");
			},
			initAjax:function(obj){
				obj.getElementsByTagName("a")[0].onclick=function() {
				 	retfli.tabs.changePest(obj)
				 	peticiones.tabs(obj.getElementsByTagName("a")[0],retfli.tabs.contentHolder)
				 	
					//retfli.tabs.shadowModule("lDegraded");
				 	//retfli.tabs.shadowModule("rDegraded");
					return false
				}
			},
			changePest:function(obj){
				var typeClass=""		
				//for(var xx=0;xx<retfli.tabs.all.length;xx++){retfli.tabs.all[xx].style.border = "none"}//limpio todos los bordes    
		    	for(var xx=0;xx<retfli.tabs.all.length;xx++){
					if(xx==obj.cont) {
						if(obj.className!="last" && obj.className!="last active") typeClass="first active"
						else typeClass="last active"
						var x=xy.getX(retfli.tabs.all[parseInt(xx)])
						var y=xy.getY(retfli.tabs.all[parseInt(xx)])			
		                
		        		//retfli.tabs.all[xx].style.borderBottom="none"		
						//seteo bordes segun pestanya
						switch(xx){
						  case 0:           
							//retfli.tabs.all[xx].style.borderRight="1px solid #c6c6c4"
							typeClass="first active"
							retfli.tabs.setShadowPosition(x,y,retfli.tabs.pestWidth)
							break;
						  case 1:            
							//retfli.tabs.all[xx].style.borderLeft="1px solid #c6c6c4"
							//retfli.tabs.all[xx].style.borderRight="1px solid #c6c6c4"
							typeClass="active"
							retfli.tabs.setShadowPosition(x,y,retfli.tabs.pestWidth)
							break;
						  case retfli.tabs.all.length-1:            
							//retfli.tabs.all[xx].style.borderLeft="1px solid #c6c6c4"
							typeClass="last active"
							page.$("shadowpest").className = "transparente"            
							break;
						}				
					}
					else {			 
						typeClass= "last"//(xx==retfli.tabs.all.length-1)? "last":"sig"
						//retfli.tabs.all[xx].style.borderBottom="1px solid #c6c6c4"				
					}
					retfli.tabs.all[xx].className=typeClass
					
				}
				//retfli.tabs.shadowModule("lDegraded");
				//retfli.tabs.shadowModule("rDegraded");
				return false;
			}, 
			setShadowPosition:function(x,y,dif){
				var difx=(dif==null)? 0:dif
				page.$("shadowpest").style.left=parseInt(x +dif) +"px"
				page.$("shadowpest").style.top=parseInt(y+1)+"px"
				if (difx > -1) page.$("shadowpest").className = ""
				else  page.$("shadowpest").className = "last"
				
			},
			shadowModule:function(classe){
				 var parent="tabUl";
				 if(page.$(classe)) var cp =page.$(classe);
				 else{
					 var cp=document.createElement("div");
					 cp.className=classe;
					 cp.id=classe;
					 page.$(parent).parentNode.insertBefore(cp,page.$(parent));
				 }
				 if (classe=="lDegraded"){cp.style.opacity = 4/10; cp.style.filter = 'alpha(opacity=' + 4*10 + ')';}
				 else{cp.style.opacity = 4/10;cp.style.filter = 'alpha(opacity=' + 4*10 + ')';}
		
				 
				 var pests=page.$(parent).getElementsByTagName("LI");
				 if (pests[pests.length-1].className=="last active" && classe=="rDegraded"){
					 cp.className="rDegraded";
					 cp.style.marginTop="1.9em";
					 cp.style.height=(page.$("tabs").clientHeight)-22 + "px";
				 }else{
					 cp.style.height = page.$("tabs").clientHeight-2 + "px";
					 cp.style.marginTop="0";
					 cp.className=classe;
				 }
				
				 if (pests[0].className=="first active" && classe=="lDegraded"){
					 cp.className="lDegraded";
					 cp.style.marginTop="1em";
					 cp.style.height=(page.$("tabs").clientHeight)-12 + "px";
				 }
				 cp.style.top=xy.getY(page.$("tabs"))+1 + "px";
			}
		},
		flightList:{
			filter:function(){
				$("#filtroTipo").change(function(){$("#searchBooking").submit()})
				$("td.celdaVueloHorario a").bind("click",function(){
					retfli.flightList.launchPopup($(this).attr("href"));
					return false;
				})
				
				var classElements = dom.getElementsByClassName(document,"A","flightPopup")
				for(i=0;i<classElements.length;i++){
					classElements[i].onclick=function(){PopUp.open(this);return false;}
				}
	
			},
			launchPopup:function(_url,_width,_height){
					var w=(_width==null)? 800:_width;
					var h=(_height==null)? 600:_height;
					window.open(_url,'flightDetail','width='+w+',height='+h+',toolbar=no,resizable=no,scrollbars=yes,status=no');
			}
		},
		validate:function(){
			$("#infoSalidasLlegadas input[type='submit']").bind("click",function(){
				$("#infoSalidasLlegadas").validate();
				
				if(!$("#infoSalidasLlegadas").valid()){
 					return false;
 				}else{ 					
 					if($("form#infoSalidasLlegadas").hasClass("departureArrival")){
 						//Origen - Llegada
 						if($("#origen").val()==$("#destino").val()){
 							alert(ErrorMsgs.sameArrival)
 							return false;
 						}
 					}else{
 						return true;
 					}
				}
			})	
		}
}
//Hay que reincluir esto
var peticiones = {
	tabs:function(obj,IDInner) {
		//cambio las pestanias
		aux_href = obj.href.split("/");
		href = aux_href[(aux_href.length)-1];
		//Se hace la llamada al codigo HTML
		sendData.sData(obj.href,IDInner);
	}
}



function parseResponse(request,canvasId) {
    var canvas = document.getElementById(canvasId);
	if (request.readyState == 4) {
			if(request.responseXML!=null){
				if(request.responseXML.getElementsByTagName("errors").length==0){
					canvas.style.display="block";
					if (page.$("loader")) page.$("loader").parentNode.removeChild(page.$("loader"));
					var txt=request.responseXML.getElementsByTagName("data")[0].childNodes[0].nodeValue
					canvas.innerHTML = txt;
					if($("form#infoSalidasLlegadas").hasClass("departureArrival")){retfli.flightList.filter();;}
					//Llama de nuevo para que valide
					if($("form#infoSalidasLlegadas").hasClass("flightNumber")){
						$("#flightNo").parent().parent().append('<label for="flightNo" class="error" generated="true"></label>')
					}
					retfli.validate();
				}
				else location.href="/"
			}
			else location.href="/"
    }else{
        if (!page.$('loader')){
            var padre = page.$(retfli.tabs.contentHolder); 
            var img_src = "/ibcomv3/images/loading.gif"
            var image=document.createElement('img');
            image.setAttribute('alt','loading');
            image.id = 'loader';
            image.setAttribute('src',img_src);
            image.style.margin ="40px 0 40px 315px";
            image.style.left ="0";
            image.style.position ="relative";
            image.style.display ="block";
            padre.innerHTML="";
					padre.appendChild(image);
        }
   }

}

var sendData = {
	sData:function(file,canvasId) {
		var request = objAjax.create() 
		if (request) {
				sendData.makePetitionByPost(file,canvasId,request);
			} else { return false;}
	},
	makePetitionByPost: function(file,canvasId,request){
		if (file.indexOf("?") != -1)
		var url=file.split("?");
		request.onreadystatechange = function() {parseResponse(request,canvasId);		}	
		request.open("post", file, true);	
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		request.send(url[1] + "&ajax=true");
		return true;
	}
}



function paginar(pageNumber) {
	formulario = document.getElementById('buscaVuelo');
	formulario.paginaActual.value = (pageNumber*1)-1;
	formulario.operation.value = 'paginar';
	formulario.submit();
}
/*End RETFLI*/

/*IBCRRJ*/
var ibcrrj={
		init:function(){
				//Assign error messages.
				jQuery.extend(jQuery.validator.messages,{
					notZero:ErrorMsgs.notZero,
					digits:ErrorMsgs.digits,
					moreThanZero:ErrorMsgs.moreThanZero,
					lessThanAllPoints:ErrorMsgs.lessThanAllPoints
				});
			if($("#puntos").size()>0) $("#puntos").focus()
			ibcrrj.validate()
		},
		validate:function(){
			$("input[type='image']#sendForm").bind("click",function(){
				//Validación
				if($("#puntos").val()!=""){
					if(/^-?[0-9]+$/.test($("#puntos").val())){
						var total=parseInt($("#PTOS").val(),10);
						var cesion=parseInt($("#puntos").val(),10);
						var errors="";
						var ok=false;
						
						if(cesion==0){
							errors=ErrorMsgs.notZero+'\n';
						}else if(cesion<0){
							errors=ErrorMsgs.moreThanZero+'\n';
						}else if(cesion>total){
							errors=ErrorMsgs.lessThanAllPoints+'\n';
						}else{
							ok=true;
						}
					}else{
						errors=ErrorMsgs.notZero+'\n';
					}
				}else{
					errors=ErrorMsgs.notZero+'\n';
				}
				if(!ok){
					alert(errors);
					return false;
				}else{
					return true;
				}
				
			})
		}
}

/*IBTIMT*/
var IBTIMT={
			init:function(){
				if($("#TXT_DAY_WEEK_01").size()>0 && $("#TXT_DAY_WEEK_02").size()>0){
					_cl.load(
						["calendar1",[page.$("BEGINDAY_01"), page.$("BEGINMONTH_01"),page.$("BEGINHOUR_01"),page.$("TXT_DAY_WEEK_01")]],
						["calendar2",[page.$("BEGINDAY_02"), page.$("BEGINMONTH_02"),page.$("BEGINHOUR_02"),page.$("TXT_DAY_WEEK_02")]]
					)
					$("#TXT_DAY_WEEK_01").addClass("bkg")
					$("#TXT_DAY_WEEK_02").addClass("bkg")
				}else if($("#TXT_DAY_WEEK_01").size()>0){
					_cl.load(
							["calendar1",[page.$("BEGINDAY_01"), page.$("BEGINMONTH_01"),page.$("BEGINHOUR_01"),page.$("TXT_DAY_WEEK_01")]]
					)
					$("#TXT_DAY_WEEK_01").addClass("bkg")
					$("#TXT_DAY_WEEK_02").addClass("bkg")
				}else{
					_cl.load(
						["calendar1",[page.$("vueltaBeginDay"), page.$("vueltaBeginMonth"),page.$("vueltaBeginHour"),null]]
					)
				}
				
				
				IBTIMT.validate();
				
				if ($("#searchBookingPA").size()>0)
					$("#searchBookingPA").submit(function(){
						if(!Variables.submitFirstPA){
							Variables.submitFirstPA=true;
							return true;
						}else{
							return false;
						}
					})
			
				if($("#BEGIN_PA_01").size()>0 && $("#BEGIN_PA_02").size()>0 && $("#destino").size()>0){		
					if($("#BEGIN_PA_01:checked").size()>0){$("#destino").html(Variables.BCN);};
					if($("#BEGIN_PA_02:checked").size()>0){$("#destino").html(Variables.MAD);};
					$("#BEGIN_PA_01").click(function(){$("#destino").html(Variables.BCN);});
					$("#BEGIN_PA_02").click(function(){$("#destino").html(Variables.MAD);});
				}
				
				var classElements = dom.getElementsByClassName(document,"A","flightPopup")
				for(i=0;i<classElements.length;i++){
					classElements[i].onclick=function(){PopUp.open(this);return false;}
				}
			},

			validate:function(){
				
				$("#searchBooking input[type='submit']").click(function(){
					var errors="";
					//Compare Departure & Arrival
					var departure=$("#N_BEGIN_CITY_01").val();
					var arrival=$("#N_END_CITY_01").val();
					if(arrival==""){
						alert(ErrorMsgs.arrivalRequired);
						return false;
					}else{
						if(departure==arrival){
							alert(ErrorMsgs.departureArrival)
							return false;
						}else{
								if(!Variables.submitFirst){
									Variables.submitFirst=true;
									return true;
								}
	 					}
	 				}				
				})	
			}
}

/*### COMMONS VALIDATION METHODS ###*/
//Fill Resident Village list
var residentVillage={
			init:function(elemOrig,elemDest){
				//villageList --> It's the array with village names list. Defined at IBDAPE_header.jsp
				switch(parseInt($(elemOrig).val())){
					case 2:
						//Canarian Islands
						residentVillage.parseList(0,elemDest)
					break;
					case 3:
						//Baleares Islands
						residentVillage.parseList(2,elemDest)
					break;
					case 4:
						//Ceuta or Melilla
						residentVillage.parseList(3,elemDest)
					break;
					default:
						//Not selected.
						residentVillage.parseList(null,elemDest)
					break;					
				}
			},
			parseList:function(val,elemDest){
				if(val!=null)
					var firstElem=$(elemDest).find("option:first").html()
					$(elemDest).html('<option value="">Cargando...</option>')
					
					var ln=villageList[val].length;
					for(var i=0;i<ln;i++){
						var _value=villageList[val][i][0]
						var _name=villageList[val][i][1]
						$(elemDest).append('<option value="'+_value+'">'+_name+'</option>')
					}
					$(elemDest).find("option:first").html(firstElem)
					
					
			}
}


//Fill Fields 'Courier'

var fillFields={
		courier:{
			arrayData:"",
			init:function(elem){
				var str;
				if($("#"+elem).val()==3){
					fillFields.courier.arrayData=EntDomicilio[0];
				}else{
					fillFields.courier.arrayData=EntDomicilio[$("#"+elem).val()];
				}
				fillFields.courier.fill()
			},
			fill:function(){
				//Country
				$("#dcia_0511").val(fillFields.courier.arrayData[0])
					//And Show/Hide correct address
					setAddress.init($("#dcia_0511").val(),1);
					
				//Street
				$("#addr_010").val(fillFields.courier.arrayData[1])
				$("#addr_011").val(fillFields.courier.arrayData[1])
				//Street Number
				$("#addr_020").val(fillFields.courier.arrayData[2])
				$("#addr_021").val(fillFields.courier.arrayData[2])
				//Floor/Letter
				$("#addr_031").val(fillFields.courier.arrayData[3])
				//ZIP
				$("#addr_041").val(fillFields.courier.arrayData[4])
				//City
				$("#addr_051").val(fillFields.courier.arrayData[5])
				//Spanish County
				$("#addr_0610").val(fillFields.courier.arrayData[6])
				//Zone
				$("#addr_0612").val(fillFields.courier.arrayData[7])
				//State
				$("#addr_0611").val(fillFields.courier.arrayData[8])
				//More Info
				$("#dcia_06").val(fillFields.courier.arrayData[9])
				//Attn.
				$("#ATTD_1").val(fillFields.courier.arrayData[10])			
			}
		},
		docNumber:{
			fill:function(val,elDest){
				switch(val){
					case "4":
						//DNI
						$("#"+elDest).val(DocNumber.dni.numberValue)
						if(DocNumber.dni.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					case "3":
						//IberiaPlus
						$("#"+elDest).val(DocNumber.ibplus.numberValue)
						if(DocNumber.ibplus.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					
					case "5":
						//Pasaporte (Other)
						$("#"+elDest).val(DocNumber.other.numberValue)
						if(DocNumber.other.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					case "6":
						//Tarjeta Residente de EspaÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â±a (Other)
						$("#"+elDest).val(DocNumber.other.numberValue)
						if(DocNumber.other.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					
					case "10":
						//National Identity Card
						$("#"+elDest).val(DocNumber.idcard.numberValue)
						if(DocNumber.idcard.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					case "2":
						//Permiso de conducir (Other)
						$("#"+elDest).val(DocNumber.other.numberValue)
						if(DocNumber.other.readOnly){
							$("#"+elDest).attr("readonly","readonly")
						}else{
							$("#"+elDest).removeAttr("readonly")
						}
					break;
					default:
						$("#"+elDest).val("")
						$("#"+elDest).removeAttr("readonly")
					break;
				}
			}
		}
}

//ZIP & County
var zipCounty={
		init:function(elZip, elCounty){
			elZip.keyup(function(e){
				//if($(this).val().length>=2)
				zipCounty.zipToCounty(this,elCounty);
				
    	});
    	
	    	elCounty.change(function(){
	    		zipCounty.countyToZip(this,elZip)
	    	})
		},
		zipToCounty:function(elmOrigen, elCounty){
			var zip = $(elmOrigen).val();
			if(zip.length==0){
				$(elCounty).val(-1)
			}else if(zip.length==1){
				$(elCounty).val(-1)
			}else{
				zip=zip.substr(0,2);
				if(zip<10)
					zip=zip.substr(1,1);
				$(elCounty).val(zip)
			}
			/*
			if(zip.substr(0,1)==0){
				zip=zip.substr(0,2);
			}
			$(elCounty).val(zip)
			*/
		},
		countyToZip:function(elCounty,elZip){
			var county=$(elCounty).val()
			if(county!="-1"){
				if(county<10)
				county="0"+county;
			}else{
				county="";
			}
			$(elZip).val(county).focus();
		}
}


var ticket={
		init:function(id){
			(id=="ciberTicket")? ticket.setTicketE():ticket.setTicketN()
		},
		setTicketE:function(){
			$("#contenedor_ETKT").css("display","block");
			$("#contenedor_billete").css("display","none");
			$("#num_billete_3").removeClass("required");
			$("img[name='tarjeta']").attr("src","/ibcomv3/images/billete_electronico.gif");
		},
		setTicketN:function(){
			$("#contenedor_ETKT").css("display","none");
			$("#num_billete_2").css("display","block");
			$("#contenedor_billete").css("display","block");
			$("#num_billete_3").addClass("required");
			$("img[name='tarjeta']").attr("src","/ibcomv3/images/billeteTradicional.gif");
		}
}

//Enable/Disable selection text
var selec={
		disable:function(target){
			if (typeof target.onselectstart!="undefined") //IE
				target.onselectstart=function(){return false}
			else if (typeof target.style.MozUserSelect!="undefined") //Firefox
				target.style.MozUserSelect="none"
			else //Opera
      	target.onmousedown=function(){return false}
        target.style.cursor = "default"
		},
		enable:function(target){
			if (typeof target.onselectstart!="undefined") //IE
				target.onselectstart=function(){return true}
			else if (typeof target.style.MozUserSelect!="undefined") //Firefox
      	target.style.MozUserSelect=""
			else //Opera
      	target.onmousedown=function(){return true}
        target.style.cursor = "default"
		}

}


var documentId={
		type01:{
			init:function(elmType,elmNum){
				//Set validation document
				$("#"+elmType).bind("change",function(){
					if($("#"+elmType).val()!="-1"){
						switch(parseInt($("#"+elmType).val())){
							case -1:$("#"+elmNum).removeClass("nif passport residentCard");break;
							case 4:$("#"+elmNum).removeClass("nif passport residentCard").addClass("nif");break;
							case 10:$("#"+elmNum).removeClass("passport residentCard");break;
							case 5:$("#"+elmNum).removeClass("nif residentCard").addClass("passport");break;
							case 6:$("#"+elmNum).removeClass("nif passport").addClass("residentCard");break;
							default:break;
						}
					}
				})
			}
		},
		type02:{
			init:function(elmType,elmNum){
				//Set validation document
				$("#"+elmType).bind("change",function(){
					switch($("#"+elmType).val()){
						case "-1":$("#"+elmNum).removeClass("nif residentCard");break;
						case "DN":$("#"+elmNum).removeClass("residentCard").addClass("nif");break;
						case "CR":$("#"+elmNum).removeClass("residentCard").addClass("nif");break;
						case "MR":$("#"+elmNum).removeClass("residentCard").addClass("nif");break;
						case "GR":$("#"+elmNum).removeClass("nif residentCard");break;
						case "TR":$("#"+elmNum).removeClass("nif").addClass("residentCard");break;
						default:break;
					}
				})
			}
		}
}
var deliveryPlace={
		init:function(elmType){
			$("#"+elmType).bind("change",function(){
				switch(parseInt($("#"+elmType).val())){
					case 0://Particular$("#"+elmNum).removeClass("nif passport residentCard");break;
					case 4:$("#"+elmNum).addClass("nif");break;
					case 10:$("#"+elmNum).removeClass("nif passport residentCard");break;
					case 5:$("#"+elmNum).addClass("passport");break;
					case 6:$("#"+elmNum).addClass("residentCard");break;
					default:break;
				}
			})
		}
}
var setCif={
		init:function(val){
			switch(val){
				case "-1":setCif.setDefault();break;
				case "0":setCif.setPersonal();break;
				case "1":setCif.setDelivery();break;
				case "2":setCif.setBusiness();break;
				case "3":setCif.setBilling();break;
				default:setCif.setDefault();break;
			}
		},
		setPersonal:function(){
			$("#lEmp").css("display","none").find("input#EMPR_1").removeClass("required");
			$("#lEmpSinCIP").css("display","none").find("input").removeClass("required");
		},
		setBusiness:function(){
			$("#lEmpSinCIP").css("display","block").find("input").addClass("required");
			$("#lEmp").css("display","none").find("input#EMPR_1").removeClass("required");
		},
		setDelivery:function(){
			$("#lEmpSinCIP").css("display","none").find("input").removeClass("required");
			$("#lEmp").css("display","block").find("input#EMPR_1").addClass("required");
		},
		setBilling:function(){
			$("#lEmpSinCIP").css("display","none").find("input").removeClass("required");
			$("#lEmp").css("display","none").find("input#EMPR_1").removeClass("required");
		},
		setDefault:function(){
			$("#lEmpSinCIP").css("display","none").find("input").removeClass("required");
			$("#lEmp").css("display","none").find("input#EMPR_1").removeClass("required");
		}
}

var setChildNums={
		init:function(num){
			$("fieldset.fecha0").css("display","none").find("select").removeClass("requiredselect");
			$("fieldset.fecha1").css("display","none").find("select").removeClass("requiredselect");
			$("fieldset.fecha2").css("display","none").find("select").removeClass("requiredselect");
			$("fieldset.fecha3").css("display","none").find("select").removeClass("requiredselect");
			$("fieldset.fecha4").css("display","none").find("select").removeClass("requiredselect");
			
			if(num!="-1"){
				for(var i=0;i<num;i++){
					$("fieldset.fecha"+i).css("display","block").find("select").addClass("requiredselect");
				}
			}
		}
}

var setAddress={
		init:function(val,i){
			var code=val.split("/")[1]+"/"+val.split("/")[2];
			switch(code){
				case "0/1":setAddress.setDefault(i);break;
				case "0/0":setAddress.setSpain(i);break;
				case "1/0":setAddress.setUSA(i);break;
				case "1/1":setAddress.setPuertoRico(i);break;
				default:setAddress.setDefault(i);break;
			}
		},
		setDefault:function(i){
			var valInput=$("#lCNP"+i).find("label.street").find("input").val()
			var idInput=$("#lCNP"+i).find("label.street").find("input").attr("id")
			var contLbl=$("#lCNP"+i).find("label.street").html()
			
			$("#lCNP"+i).find("label.street").remove()
			$("#lCNP"+i).prepend('<label for="'+idInput+'" class="street"></label>')
			$("#lCNP"+i).find("label.street").html(contLbl)
			$("#lCNP"+i).find("input#"+idInput).val(valInput)
			
			/*
			$("#lCNP"+i).removeClass("invisible").find("input[name='street']").addClass("required")
			$("#lCNP"+i).removeClass("invisible").find("input[name='streetNumber']").addClass("required")
			$("#lNCP"+i).addClass("invisible").find("input[name='street']").removeClass("required")
			$("#lNCP"+i).addClass("invisible").find("input[name='streetNumber']").removeClass("required")
			*/
			
			$("#lPro"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lEst"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lReg"+i).removeClass("invisible")
		},
		setSpain:function(i){
			var valInput=$("#lCNP"+i).find("label.street").find("input").val()
			var idInput=$("#lCNP"+i).find("label.street").find("input").attr("id")
			var contLbl=$("#lCNP"+i).find("label.street").html()
			
			$("#lCNP"+i).find("label.street").remove()
			$("#lCNP"+i).prepend('<label for="'+idInput+'" class="street"></label>')
			$("#lCNP"+i).find("label.street").html(contLbl)
			$("#lCNP"+i).find("input#"+idInput).val(valInput)
			
			
			/*
			$("#lCNP"+i).removeClass("invisible").find("input[name='street']").addClass("required")
			$("#lCNP"+i).removeClass("invisible").find("input[name='streetNumber']").addClass("required")
			$("#lNCP"+i).addClass("invisible").find("input[name='street']").removeClass("required")
			$("#lNCP"+i).addClass("invisible").find("input[name='streetNumber']").removeClass("required")
			*/
			
			$("#lReg"+i).addClass("invisible")
			$("#lEst"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lPro"+i).removeClass("invisible").find("select").addClass("requiredselect")
		},
		setUSA:function(i){
			var valInput=$("#lCNP"+i).find("label.number").find("input").val()
			var idInput=$("#lCNP"+i).find("label.number").find("input").attr("id")
			var contLbl=$("#lCNP"+i).find("label.number").html()
			
			$("#lCNP"+i).find("label.number").remove()
			$("#lCNP"+i).prepend('<label for="'+idInput+'" class="number"></label>')
			$("#lCNP"+i).find("label.number").html(contLbl)
			$("#lCNP"+i).find("input#"+idInput).val(valInput)
			
			/*
			$("#lNCP"+i).removeClass("invisible").find("input[name='street']").removeClass("required")
			$("#lNCP"+i).removeClass("invisible").find("input[name='streetNumber']").removeClass("required")
			$("#lCNP"+i).addClass("invisible").find("input[name='street']").addClass("required")
			$("#lCNP"+i).addClass("invisible").find("input[name='streetNumber']").addClass("required")
			*/
			
			$("#lReg"+i).addClass("invisible")
			$("#lPro"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lEst"+i).removeClass("invisible").find("select").addClass("requiredselect")
		},
		setPuertoRico:function(i){
			var valInput=$("#lCNP"+i).find("label.number").find("input").val()
			var idInput=$("#lCNP"+i).find("label.number").find("input").attr("id")
			var contLbl=$("#lCNP"+i).find("label.number").html()
			
			$("#lCNP"+i).find("label.number").remove()
			$("#lCNP"+i).prepend('<label for="'+idInput+'" class="number"></label>')
			$("#lCNP"+i).find("label.number").html(contLbl)
			$("#lCNP"+i).find("input#"+idInput).val(valInput)
			
			/*
			$("#lNCP"+i).removeClass("invisible").find("input[name='street']").removeClass("required")
			$("#lNCP"+i).removeClass("invisible").find("input[name='streetNumber']").removeClass("required")
			$("#lCNP"+i).addClass("invisible").find("input[name='street']").addClass("required")
			$("#lCNP"+i).addClass("invisible").find("input[name='streetNumber']").addClass("required")
			*/
			
			$("#lEst"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lPro"+i).addClass("invisible").find("select").removeClass("requiredselect")
			$("#lReg"+i).removeClass("invisible")
		}
}
var setState={
		init:function(val,i){
			var code=(val.split("/")[1])+"/"+(val.split("/")[2]);
			(code=="1/0")? setState.setUSA(i):setState.setDefault(i)
		},
		setDefault:function(i){$("#lEst"+i).css("display","none").find("select").removeClass("requiredselect")},
		setUSA:function(i){$("#lEst1").css("display","block").find("select").addClass("requiredselect")}
}

function changeCvv(){
	switch (parseInt($(this).val())){
		case 1:
			//Visa
			$("#cvv").attr("maxlength","3").removeAttr("readonly").removeClass("readonly");
			$("#cvv").val($("#cvv").val().substr(0,3))
		break;
		case 2:
			//American Express
			$("#cvv").attr("maxlength","4").removeAttr("readonly").removeClass("readonly");
		break;
		case 4:
			//Dinners Club
			$("#cvv").attr("maxlength","3").removeAttr("readonly").removeClass("readonly");
			$("#cvv").val($("#cvv").val().substr(0,3))
		break;
		case 5:
			//Mastercard
			$("#cvv").attr("maxlength","3").removeAttr("readonly").removeClass("readonly");
			$("#cvv").val($("#cvv").val().substr(0,3))
		break;
		default:
			$("#cvv").removeAttr("maxlength").attr("readonly","readonly").addClass("readonly")
			$("#cvv").val("")
		break;
	}
}
/*### END COMMONS VALIDATION METHODS ###*/

$(document).ready(function(){
		//** Register **//
		if($("form.IBDAUS01").exists()){ibdaus01.init();}
		if($("form.IBDAUS11").exists()){ibdaus11.init();}
		if($("form.IBDAUS02").exists()){ibdaus02.init();}
		if($("form.IBOLPS").exists()){ibolps.init();}
		if($("form.IBPRSE").exists()){ibprse.secretQuestion.init();}
		if($("form.newPin").exists()){ibprse.newPin.init();}
		if($("form.IBVADS").exists()){ibvads.init();}
		if($("form.IBCAPS").exists()){ibcaps.init();}
			//Confirm register. Phone Pre-Register
			if($("form.IBINPR").exists()){ibinpr.init();}
		//** End Register **//
		//** My Profile **//
		if($("form.IBDAPE").exists()){ibdape.init();}
		if($("form.IBDIRE").exists()){ibdire.init();}
		if($("form.IBSUBS").exists()){ibsubs.init();}
		if($("form.IBMIN1").exists()){ibmint.init(1);}
		if($("form.IBMIN2").exists()){ibmint.init(2);}
		if($("form.IBMIN3").exists()){ibmint.init(3);}
		if($("form.IBMIN4").exists()){ibmint.init(4);}
		if($("form.IBMIN5").exists()){ibmint.init(5);}
		if($("form.IBATJC").exists()){ibatjc.init();}
		if($("form.IBMIST").exists()){ibmist.init(5);}
			if($("div#anularTarjetas").exists()){ibmist.handPopup();}
		if($("form.IBMDBI").exists()){ibmdbi.init();}
		if($("form.MIPEFA").exists()){mipefa.init();}
		//** End My Profile **//
		//** My Points **//
		if($("form.IBPTOS").exists()){ibptos.init();}
		//** End My Points **//
		//** Retrocrediting **//
		if($("form.IBSPT1").exists()){ibspt1.init();}
			if($("div.airportList").exists()){ibspt1.setCallAirport();}
		if($("form.IBSPT3").exists()){ibspt3.init();}
		//** End Retrocrediting **//
		//** Excess Baggage **//
		if($("form.EQFARE").exists()){eqfare.searchFlight.init();}
		if($("form.EQFAREDEP").exists()){eqfare.departureFlightBaggage.init();}
		if($("form.EQFAREARR").exists()){eqfare.arrivalFlightBaggage.init();}
		if($("form.EQPURC").exists()){eqpurc.init();}
		//** End Excess Baggage **//
		//** e-Bulletin **//
		if($("form.IBALBO").exists()){eBulletin.ibalbo.init();}
		if($("form.IBDEPR").exists()){eBulletin.ibdepr.init();}
		//** End e-Bulletin **//
		//** Departures & Arrivals **//
		if($("form.RETFLI").exists()){retfli.init();}
		//** End Departures & Arrivals **//
		//** Bills **//
		if($("form.ibbillContent").exists()){ibbill.init();}
		if($("form.ibbifeContent").exists()){ibbife.init();}
		if($("form.rebillContent").exists()){REBILL.init();}
		//** End Bills **//
		//** Red Cross**//
		if($("form.IBCRRJ").exists()){ibcrrj.init();}
		//** End Red Cross**//
		//** TimeTable **//
		if($("form.IBTIMT").exists()){IBTIMT.init();}
		//** End TimeTable **//
})
	
	
		
		
		
		
		
		
			
			
