if(typeof DOLTRONIC=="undefined"||!DOLTRONIC){
	var DOLTRONIC={}
}

DOLTRONIC.DOM=function(){
	if(!document.getElementById)
		return 0
};

DOLTRONIC.DOM.prototype.tag=function(_tag,id){
	try{
		return(id?id:doc).getElementsByTagName(_tag)
	}catch(e){
		var debug=new DOLTRONIC.DEBUG(true);
		debug.log("ERROR: no such element exists, TAG = "+_tag+" in ID = "+id)
	}
};

DOLTRONIC.DOM.prototype.cL=function(pointer,style_dir,style_file,baseUrl,url){
	var newCSSLink=style_dir?baseUrl+style_dir+"/"+style_file:url;
	var found=false;
	var base=location.href.substring(0,location.href.lastIndexOf('/'));
	var newBaseCSSLink="";
	if(newCSSLink[0]==="."){
		newBaseCSSLink=base+newCSSLink.substring(1)
	}else{
		newBaseCSSLink=base+newCSSLink
	}
	var cssLinks=document.getElementsByTagName("head")[0];
	for(i=0;i<cssLinks.childNodes.length;i++){
		var tName=cssLinks.childNodes[i].tagName;
		if(tName==='LINK'){
			var cssHref=cssLinks.childNodes[i].href;
			if(cssHref===newBaseCSSLink){
				found=true
			}
		}
	}
	if(!found){
		var _link=document.createElement("link");
		if(!_link)
			return 0;
		_link.type="text/css";
		_link.rel="stylesheet";
		_link.href=newCSSLink;
		if(pointer.oP.debug){
			pointer.oP.trace.log("[DOLTRONIC.DOM.cL] - style sheet "+_link.href+" [loaded]")
		}
		document.getElementsByTagName("head")[0].appendChild(_link)
	}
};

DOLTRONIC.DOM.prototype.cS=function(pointer,url){
	var found=false;
	var jsURL=document.getElementsByTagName("head")[0];
	for(i=0;i<jsURL.childNodes.length;i++){
		var tType=jsURL.childNodes[i].nodeType;
		if(tType==1){
			var tName=jsURL.childNodes[i].tagName;
			if(tName==='SCRIPT'){
				if(jsURL.childNodes[i].src!=undefined){
					var jsHref=jsURL.childNodes[i].src;
					if(jsHref===url){
						found=true
					}
				}
			}
		}
	}
	if(!found){
		var _script=document.createElement("script");
		if(!_script)
			return 0;
		_script.type="text/javascript";
		_script.src=url;
		if(pointer.oP.debug){
			pointer.oP.trace.log("[DOLTRONIC.DOM.cS] - new JavaScript "+_script.src+" [loaded]")
		}
		document.getElementsByTagName("head")[0].appendChild(_script)
	}
};

DOLTRONIC.DOM.prototype.cE=function(type,attr,cont,html){
	if(type=="input_lista_hab"){
		var ne=document.createElement("input");
	}else{
		var ne=document.createElement(type);
	}
	if(!ne)
		return 0;
	
	var valores_adi="";
	for(var a in attr){
		//ne.setAttribute(a,attr[a]);
		ne[a]=attr[a];
		
		valores_adi+=a+"='"+attr[a]+"' ";
	}
	if(navigator.appVersion.indexOf("MSIE")>=0 && type=="input_lista_hab"){
			var ne=document.createElement("<input "+valores_adi+">");
		
	}
	var t=typeof(cont);
	if(t=="string"&&!html)
		ne.appendChild(document.createTextNode(cont));
	else
		if(t=="string"&&html)
			ne.innerHTML=cont;
		else 
			if(t=="object")
				ne.appendChild(cont);
	return ne
};

DOLTRONIC.DOM.prototype.gE=function(e){
	var t=typeof(e);
	if(t=="undefined")
		return 0;
	else 
		if(t=="string"){
			var re=document.getElementById(e);
			if(!re)
				return 0;
			else 
				if(typeof(re.appendChild)!="undefined")
					return re;
				else
					return 0
		}else
			if(typeof(e.appendChild)!="undefined")
				return e;
			else 
				return 0
};

DOLTRONIC.DOM.prototype.remE=function(ele){
	var e=this.gE(ele);
		if(!e)
			return 0;
		else
			if(e.parentNode.removeChild(e))
				return true;
			else
				return 0
};

DOLTRONIC.DOM.prototype.getPos=function(e){
	var e=this.gE(e);
	var obj=e;
	var curleft=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curleft+=obj.offsetLeft;
			obj=obj.offsetParent
		}
	}else
		if(obj.x)
			curleft+=obj.x;
	var obj=e;var curtop=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curtop+=obj.offsetTop;
			obj=obj.offsetParent
		}
	}else 
		if(obj.y)
			curtop+=obj.y;
	return{x:curleft,y:curtop}
};

DOLTRONIC.DOM.prototype.getDimensionsViewPort=function(){
	var viewportwidth;
	var viewportheight;
	if(typeof window.innerWidth!='undefined'){
		viewportwidth=window.innerWidth;
		viewportheight=window.innerHeight
	}else 
		if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0){
			viewportwidth=document.documentElement.clientWidth;viewportheight=document.documentElement.clientHeight
		}else{
			viewportwidth=document.getElementsByTagName('body')[0].clientWidth;viewportheight=document.getElementsByTagName('body')[0].clientHeight
		}
	return{width:viewportwidth,height:viewportheight}
};

DOLTRONIC.DOM.prototype.getDimensions=function(elt){
	var element=this.gE(elt);
	var display=this.gStyle(element,'display');
	if(display!='none'&&display!=null)
		return{width:element.offsetWidth,height:element.offsetHeight};
	var els=element.style;
	var originalVisibility=els.visibility;
	var originalPosition=els.position;
	var originalDisplay=els.display;
	els.visibility='hidden';
	els.position='absolute';
	els.display='block';
	var originalWidth=element.clientWidth;
	var originalHeight=element.clientHeight;
	els.display=originalDisplay;
	els.position=originalPosition;
	els.visibility=originalVisibility;
	return{width:originalWidth,height:originalHeight}
};

DOLTRONIC.DOM.prototype.gStyle=function(elt,style){
	function camelize(e){
		var parts=e.split('-'),len=parts.length;
		if(len==1)
			return parts[0];
		var camelized=e.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];
		for(var i=1;i<len;i++)
			camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);
		return camelized
	}
	var browser=new DOLTRONIC.BrowserDetect();
	if(browser.getBrowserName()!="Explorer"){
		var element=this.gE(elt);
		style=style=='float'?'cssFloat':camelize(style);
		var value=element.style[style];
		if(!value&&document.defaultView){
			var css=document.defaultView.getComputedStyle(element,null);
			value=css?css[style]:null
		}
		if(style=='opacity')
			return value?parseFloat(value):1.0;
		return value=='auto'?null:value
	}else{
		var element=this.gE(elt);
		style=(style=='float'||style=='cssFloat')?'styleFloat':camelize(style);
		var value=element.style[style];
		if(!value&&element.currentStyle)
			value=element.currentStyle[style];
		if(style=='opacity'){
			if(value=(this.getStyle(element,'filter')||'').match(/alpha\(opacity=(.*)\)/))
				if(value[1])
					return parseFloat(value[1])/100;return 1.0
		}
		if(value=='auto'){
			if((style=='width'||style=='height')&&(this.getStyle(element,'display')!='none'))
				return element['offset'+style.capitalize()]+'px';
			return null
		}
		return value
	}
};

DOLTRONIC.DOM.prototype.getElementsByClass=function(searchClass,node,tag){
	var classElements=new Array();
	if(node==null)
		node=document;
	if(tag==null)
		tag='*';
	var els=node.getElementsByTagName(tag);
	var elsLen=els.length;
	var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var j=0;
	for(i=0;i<elsLen;i++){
		if(pattern.test(els[i].className)){
			classElements[j]=els[i];
			j++
		}
	}
	return classElements
};

DOLTRONIC.DOM.prototype.getAbsoluteDivs=function(){
	var arr=new Array();
	var all_divs=this.getElementsByClass("module",null,null);
	var j=0;
	var display;
	for(i=0;i<all_divs.length;i++){
		display=this.gStyle(all_divs[i],'position');
		if(display==="absolute"){
			arr[j]=all_divs[i];
			j++
		}
	}
	return arr
};

DOLTRONIC.DOM.prototype.cumulativeOffset=function(element){
	Element._returnOffset=function(l,t){
		var result=[l,t];
		result.left=l;
		result.top=t;
		return result
	};
	var browser=new DOLTRONIC.BrowserDetect();
	if(browser.getBrowserName()!="safari"){
		var valueT=0,valueL=0;
		do{
			valueT+=element.offsetTop||0;
			valueL+=element.offsetLeft||0;
			element=element.offsetParent
		}while(element);
		return Element._returnOffset(valueL,valueT)
	}else{
		var valueT=0,valueL=0;
		do{
			valueT+=element.offsetTop||0;
			valueL+=element.offsetLeft||0;
			if(element.offsetParent==document.body)
				if(Element.getStyle(element,'position')=='absolute')
					break;
			element=element.offsetParent
		}while(element);
		return Element._returnOffset(valueL,valueT)
	}
};

if(typeof DOLTRONIC=="undefined"||!DOLTRONIC){
	var DOLTRONIC={}
}

DOLTRONIC.Ajax=function(){
		this.req={}
};

DOLTRONIC.Ajax.prototype.makeRequest=function(url,request,meth,onComp,onErr){
	if(meth!="POST")
		meth="GET";
	this.onComplete=onComp;
	this.onError=onErr;
	var pointer=this;
	if(window.XMLHttpRequest){
		this.req=new XMLHttpRequest();
		this.req.onreadystatechange=function(){
			pointer.processReqChange()
		};
		this.req.open(meth,url,true);
		this.req.setRequestHeader("Content_Type","text/xml");
		this.req.send(request)
	}else 
		if(window.ActiveXObject){
			this.req=new ActiveXObject("Microsoft.XMLHTTP");
			if(this.req){
				this.req.onreadystatechange=function(){
					pointer.processReqChange()
				};
				this.req.open(meth,url,true);
				this.req.setRequestHeader("Content_Type","text/xml");
				this.req.send(request)
			}
		}
};

DOLTRONIC.Ajax.prototype.processReqChange=function(){
	if(this.req.readyState==4){
		if(this.req.status==200){
			this.onComplete(this.req)
		}else{
			this.onError(this.req.status)
		}
	}
};

if(typeof DOLTRONIC=="undefined"||!DOLTRONIC){
	var DOLTRONIC={}
}

DOLTRONIC.BrowserDetect=function(){
	this.dataBrowser=[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}];
	this.dataOS=[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}];
	this.versionSearchString="";
	this.init()
};

DOLTRONIC.BrowserDetect.prototype.init=function(){
	this.browser=this.searchString(this.dataBrowser)||"An unknown browser";
	this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";
	this.OS=this.searchString(this.dataOS)||"an unknown OS"
};

DOLTRONIC.BrowserDetect.prototype.searchString=function(data){
	for(var i=0;i<data.length;i++){
		var dataString=data[i].string;
		var dataProp=data[i].prop;
		this.versionSearchString=data[i].versionSearch||data[i].identity;
		if(dataString){
			if(dataString.indexOf(data[i].subString)!=-1)
				return data[i].identity
		}else 
			if(dataProp)
				return data[i].identity
	}
};

DOLTRONIC.BrowserDetect.prototype.searchVersion=function(dataString){
	var index=dataString.indexOf(this.versionSearchString);
	if(index==-1)
		return;
	return parseFloat(dataString.substring(index+this.versionSearchString.length+1))
};

DOLTRONIC.BrowserDetect.prototype.getBrowserName=function(){
	this.init();
	return this.browser
};

DOLTRONIC.PopUpWindow=function(id,parent_id,param){
	var DOM=new DOLTRONIC.DOM();
	if(!DOM)
		return 0;
	this.idAs=id;
	this.fld=parent_id;
	this.oP=param?param:{};
	var k;
	var def={debug:true,browser:'firefox',exist:false,width:"400px",height:"",title:"",style_path:"/",style_name:"blue",speClass:"vehicule",logo:null};
	for(k in def){
		if(typeof(this.oP[k])!=typeof(def[k])){
			this.oP[k]=def[k]
		}
	}
	//this.oP.trace=new DOLTRONIC.DEBUG(this.oP.debug);
	var browser=new DOLTRONIC.BrowserDetect();
	this.oP.browser=browser.getBrowserName();
	//this.oP.trace.log("DOLTRONIC.PopUpWindow: Object created");
	var content=this.createPopUp();
	return content
};

DOLTRONIC.PopUpWindow.prototype.createPopUp=function(){
	function findPos(obj){
		var curleft=curtop=0;
		if(obj.offsetParent){
			do{
				curleft+=obj.offsetLeft;
				curtop+=obj.offsetTop
			}while(obj=obj.offsetParent)
		}
		return[curleft,curtop]
	}
	var pointer=this;
	var DOM=new DOLTRONIC.DOM();
	var coordinateXY=findPos(this.fld);
	var holdingDiv=DOM.cE("div",{id:this.idAs,className:"module "+this.oP.style_name+"-module"});
	holdingDiv.style.top=coordinateXY[1]+"px";
	holdingDiv.style.left=this.fld.parentNode.parentNode.parentNode.parentNode.offsetLeft+this.fld.offsetWidth+"px";
	holdingDiv.style.width=this.oP.width;
	var frameDiv=DOM.cE("div",{id:"moduleframe",className:"moduleFrame moduleunHighlight"});
	var headerContainer=DOM.cE("div",{className:"moduleHeaderContainer"});
	var headerDiv=DOM.cE("div",{id:"moduleHeaderID",className:this.oP.style_name+" moduleHeader"});
	headerDiv.onmousedown=function(e){pointer.bringToFront(pointer.idAs);var savedTarget=null;var orgCursor=null;var dragOK=false;var dragXoffset=0;var dragYoffset=0;pointer.dragHandler(e,pointer.idAs)};
	var imgClose=DOM.cE("img",{src:"https://www.cartrawler.com/templates/popup/images/s.gif",width:"13",height:"16",alt:"Close",className:"icon actions-window-close"});
	imgClose.onclick=function(){pointer.close(pointer.idAs)};
	var aClose=DOM.cE("a",{href:"javascript:void(0);",className:"close"},imgClose);
	if(this.oP.logo){
		var imgLogo=DOM.cE("img",{src:this.oP.logo.src,width:this.oP.logo.width,height:this.oP.logo.height,alt:this.oP.logo.alt,className:"hicon"})
	}else{
		var imgLogo=""
	}
	var aCar=DOM.cE("a",{className:"ico"},imgLogo);
	if(pointer.oP.browser!="Explorer"){
		aCar.onmousedown=function(e){pointer.bringToFront(pointer.idAs);var savedTarget=null;var orgCursor=null;var dragOK=false;var dragXoffset=0;var dragYoffset=0;pointer.dragHandler(e,pointer.idAs)}
	}
	var spanTitle=DOM.cE("span",{className:"title",readonly:"readOnly"},this.oP.title);
	if(pointer.oP.browser!="Explorer"){
		spanTitle.onmousedown=function(e){if(!e){e=window.event}pointer.bringToFront(pointer.idAs);var savedTarget=null;var orgCursor=null;var dragOK=false;var dragXoffset=0;var dragYoffset=0;pointer.dragHandler(e,pointer.idAs)}
	}
	headerDiv.appendChild(aClose);
	headerDiv.appendChild(aCar);
	headerDiv.appendChild(spanTitle);
	headerContainer.appendChild(headerDiv);
	frameDiv.appendChild(headerContainer);
	var editDiv=DOM.cE("div",{className:"editContent"});
	frameDiv.appendChild(editDiv);
	if(this.oP.loading){
		var imgLoading=DOM.cE("img",{src:"https://www.cartrawler.com/templates/popup/images/big-ajax-loader.gif",width:"66",height:66,alt:"Loading"});
		var loadingMsg=DOM.cE("div",{className:"moduleContentMainLoadingMsg"},"Loading details");
		var ModuleContentMainDiv=DOM.cE("div",{className:"moduleContentMainLoading"},imgLoading);
		ModuleContentMainDiv.appendChild(loadingMsg)
	}else{
		var ModuleContentMainDiv=DOM.cE("div",{className:""})
	}
	var moduleDiv=DOM.cE("div",{className:"moduleContent "+this.oP.speClass},ModuleContentMainDiv);
	frameDiv.appendChild(moduleDiv);
	holdingDiv.appendChild(frameDiv);
	this.fld.parentNode.appendChild(holdingDiv);
	//this.oP.trace.log("DOLTRONIC.PopUpWindow: Popup window created");
	return moduleDiv
};

DOLTRONIC.PopUpWindow.prototype.moveHandler=function(e){
	if(e==null){
		e=window.event
	}
	if(savedTarget!=undefined){
		if(e.button<=1&&dragOK){
			savedTarget.style.left=e.clientX-dragXoffset+'px';
			savedTarget.style.top=e.clientY-dragYoffset+'px'
		}
	}
	return false
};

DOLTRONIC.PopUpWindow.prototype.cleanup=function(e){
	document.onmousemove=null;
	document.onmouseup=null;
	savedTarget.style.cursor=orgCursor;
	dragOK=false
};

DOLTRONIC.PopUpWindow.prototype.dragHandler=function(e,id){
	var htype='-moz-grabbing';
	var DOM=new DOLTRONIC.DOM();
	var moduleID=DOM.gE(id);
	if(e==null){
		e=window.event;
		htype='move'
	}
	if(this.oP.browser=="Explorer"){
		var target=e.target!=null?e.target:e.srcElement;
		target=target.parentNode.parentNode.parentNode
	}else{
		var target=e.currentTarget!=null?e.currentTarget:e.srcElement;
		//this.oP.trace.log("DOLTRONIC.PopUpWindow.dragHandler: target["+target+"] - e["+e+"");
		target=target.parentNode.parentNode.parentNode!=undefined?target.parentNode.parentNode.parentNode:e.parentNode.parentNode
	}
	orgCursor=target.style.cursor;
	var myTarget="module "+this.oP.style_name+"-module";
	if(target.className==myTarget){
		savedTarget=target;
		target.style.cursor=htype;
		dragOK=true;
		dragXoffset=e.clientX-parseInt(moduleID.style.left,10);
		dragYoffset=e.clientY-parseInt(moduleID.style.top,10);
		var pointer=this;
		document.onmousemove=this.moveHandler;
		document.onmouseup=this.cleanup
	}
	return true
};

DOLTRONIC.PopUpWindow.prototype.close=function(elt){
	var DOM=new DOLTRONIC.DOM();
	var ele=DOM.gE(elt);
	var pointer=this;
	switch(elt){
		case 'edadeshab1': var num_ninios=cvpID.getValue("nino1");
							var edades=""; 
							var contenido="<input type=\"button\" style=\"cursor:pointer;  background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages1Button\" value='Edades(";
							for(var nn=0; nn<num_ninios; nn++){
								if(nn==0){
									edades=cvpID.getValue("child"+nn);
									contenido+=cvpID.getValue("child"+nn);
								}else{
									if(nn==1)
										contenido+=","+cvpID.getValue("child"+nn);
									if(nn==2)
										contenido+=",...";
									edades+=","+cvpID.getValue("child"+nn);
								}
							}
							contenido+=")'/>";
							document.getElementById("cvp_div_ages1").innerHTML=contenido;
							cvpSC.events.setIndex("div_ages1Button");
							cvpID.setValue('edades_hab1',edades);
						break;
		case 'edadeshab2': var num_ninios=cvpID.getValue("nino2");
							var edades=""; 
							var contenido="<input type=\"button\" style=\"cursor:pointer; background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages2Button\" value='Edades(";
							for(var nn=0; nn<num_ninios; nn++){
								if(nn==0){
									edades=cvpID.getValue("child"+nn);
									contenido+=cvpID.getValue("child"+nn);
								}else{
									if(nn==1)
										contenido+=","+cvpID.getValue("child"+nn);
									if(nn==2)
										contenido+=",...";
									edades+=","+cvpID.getValue("child"+nn);
								}
							}
							contenido+=")'/>";
							document.getElementById("cvp_div_ages2").innerHTML=contenido;
							cvpSC.events.setIndex("div_ages2Button");
							cvpID.setValue('edades_hab2',edades);
						break;
		case 'edadeshab3': var num_ninios=cvpID.getValue("nino3");
							var edades=""; 
							var contenido="<input type=\"button\" style=\"cursor:pointer; background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages3Button\" value='Edades(";
							for(var nn=0; nn<num_ninios; nn++){
								if(nn==0){
									edades=cvpID.getValue("child"+nn);
									contenido+=cvpID.getValue("child"+nn);
								}else{
									if(nn==1)
										contenido+=","+cvpID.getValue("child"+nn);
									if(nn==2)
										contenido+=",...";
									edades+=","+cvpID.getValue("child"+nn);
								}
							}
							contenido+=")'/>";
							document.getElementById("cvp_div_ages3").innerHTML=contenido;
							cvpSC.events.setIndex("div_ages3Button");
							cvpID.setValue('edades_hab3',edades);
						break;
		case 'edadeshab4': var num_ninios=cvpID.getValue("nino4");
								var edades=""; 
								var contenido="<input type=\"button\" style=\"cursor:pointer; background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages4Button\" value='Edades(";
								for(var nn=0; nn<num_ninios; nn++){
									if(nn==0){
										edades=cvpID.getValue("child"+nn);
										contenido+=cvpID.getValue("child"+nn);
									}else{
										if(nn==1)
											contenido+=","+cvpID.getValue("child"+nn);
										if(nn==2)
											contenido+=",...";
										edades+=","+cvpID.getValue("child"+nn);
									}
								}
								contenido+=")'/>";
								document.getElementById("cvp_div_ages4").innerHTML=contenido;
								cvpSC.events.setIndex("div_ages4Button");
								cvpID.setValue('edades_hab4',edades);
							break;
		case 'edadeshab5': var num_ninios=cvpID.getValue("nino5");
							var edades=""; 
							var contenido="<input type=\"button\" style=\"cursor:pointer; background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages5Button\" value='Edades(";
							for(var nn=0; nn<num_ninios; nn++){
								if(nn==0){
									edades=cvpID.getValue("child"+nn);
									contenido+=cvpID.getValue("child"+nn);
								}else{
									if(nn==1)
										contenido+=","+cvpID.getValue("child"+nn);
									if(nn==2)
										contenido+=",...";
									edades+=","+cvpID.getValue("child"+nn);
								}
							}
							contenido+=")'/>";
							document.getElementById("cvp_div_ages5").innerHTML=contenido;
							cvpSC.events.setIndex("div_ages5Button");
							cvpID.setValue('edades_hab5',edades);
						break;
		
	}
	if(ele){
		if(!pointer.iframe){
			var fade=new DOLTRONIC.Fader(ele,1,0,250,function(){if(pointer.iframe){DOM.remE(pointer.iframe);pointer.iframe=""};DOM.remE(ele)})
		}else{
			DOM.remE(pointer.iframe);
			pointer.iframe="";
			DOM.remE(ele)
		}
	}
};

DOLTRONIC.PopUpWindow.prototype.bringToFront=function(id){
	if(!document.getElementById||!document.getElementsByTagName)
		return;
	var DOM=new DOLTRONIC.DOM();
	var obj=document.getElementById(id);
	var divs=DOM.getAbsoluteDivs();
	var max_index=10000;
	var cur_index;
	for(i=0;i<divs.length;i++){
		var item=divs[i];
		if(item==obj||item.style.zIndex=='')
			continue;
		cur_index=parseInt(item.style.zIndex,10);
		if(max_index<cur_index){
			max_index=cur_index
		}
	}
	obj.style.zIndex=max_index+1
};

DOLTRONIC.PopUpWindow.prototype.sendToBack=function(id){
	if(!document.getElementById||!document.getElementsByTagName)
		return;
	var obj=document.getElementById(id);
	var divs=getAbsoluteDivs();
	var min_index=999999;
	var cur_index;
	if(divs.length<2)
		return;
	for(i=0;i<divs.length;i++){
		var item=divs[i];
		if(item==obj)
			continue;
		if(item.style.zIndex==''){
			min_index=0;
			break
		}
		cur_index=parseInt(item.style.zIndex,10);
		if(min_index>cur_index){
			min_index=cur_index
		}
	}
	if(min_index>parseInt(obj.style.zIndex,10)){
		return
	}
	obj.style.zIndex=1;
	if(min_index>1)
		return;
	var add=min_index==0?2:1;
	for(i=0;i<divs.length;i++){
		var item=divs[i];
		if(item==obj)
			continue;
		item.style.zIndex+=add
	}
};

DOLTRONIC.Fader=function(ele,from,to,fadetime,callback){
	if(!ele)
		return 0;
	this.e=ele;
	this.from=from;
	this.to=to;
	this.cb=callback;
	this.nDur=fadetime;
	this.nInt=50;
	this.nTime=0;
	var p=this;
	this.nID=setInterval(function(){p._fade()},this.nInt)
};

DOLTRONIC.Fader.prototype._fade=function(){
	this.nTime+=this.nInt;
	var ieop=Math.round(this._tween(this.nTime,this.from,this.to,this.nDur)*100);
	var op=ieop/100;
	if(this.e.filters){
		try{
			this.e.filters.item("DXImageTransform.Microsoft.Alpha").opacity=ieop
		}catch(e){
			this.e.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+ieop+')'
		}
	}else{
		this.e.style.opacity=op
	}
	if(this.nTime==this.nDur){
		clearInterval(this.nID);
		if(this.cb!=undefined)
			this.cb()
	}
};

DOLTRONIC.Fader.prototype._tween=function(t,b,c,d){
	return b+((c-b)*(t/d))
};

DOLTRONIC.PopUp_AgeRoom=function(param){
	var DOM=new DOLTRONIC.DOM();
	if(!DOM)
		return 0;
	var k;
	var def={title:"Edad niños",width:"200px",loading:true,browser:'firefox',num_nin:1,titleCamp:"Niño",edades:""};
	this.oP=def;
	for(k in param){
		if(this.oP[k]!=param[k])
			this.oP[k]=param[k]
	}
	//
	/*for(k in this.oP){
		switch(k){
			case"target":this.oP.xmlParams['Target']=this.oP.target;
						delete(this.oP.target);
						break;
			case"id":this.oP.xmlParams['ReqID']=this.oP.id;
						delete(this.oP.id);
						break;
			case"LangID":this.oP.xmlParams['LangID']=this.oP.LangID;
						delete(this.oP.language);
						break
		}
	}*/
	//this.oP.trace=new DOLTRONIC.DEBUG(this.oP.debug);
	//var cssLink=DOM.cL(this,"",this.oP.style_file,this.oP.style_path,this.oP.style_path+this.oP.style_file);
	//var cssLink=DOM.cL(this,this.oP.style_name,this.oP.style_file,this.oP.style_path);
	var browser=new DOLTRONIC.BrowserDetect();
	this.oP.browser=browser.getBrowserName();
	//this.oP.trace.log("DOLTRONIC.PopUp_CarDetails: Object created")
};

DOLTRONIC.PopUp_AgeRoom.prototype.display=function(id,parent_id){
	var DOM=new DOLTRONIC.DOM();
	this.idAs=id;
	this.fld=parent_id;
	this.oP.title=cvpSC.language.getLabel(id);
	var exist=DOM.gE(this.idAs);
	if(!exist){
		var myPopUp=new DOLTRONIC.PopUpWindow(this.idAs,this.fld,{browser:this.oP.browser,exist:false,width:this.oP.width,title:this.oP.title,loading:this.oP.loading});
		var carInfo={num_nin:this.oP.num_nin,titleCamp:this.oP.titleCamp,edades:this.oP.edades};
		//this.doAjaxRequest(myPopUp,carInfo)
		this.displayDetails(myPopUp,carInfo);
	}
	//this.oP.trace.log("DOLTRONIC.PopUp_CarDetails: popup displayed [divID:"+id+"]")
};

DOLTRONIC.PopUp_AgeRoom.prototype.displayDetails=function(id,carInfo){
	var DOM=new DOLTRONIC.DOM();
	
	var content=this.createPopUpAgeDetailsContent(carInfo);
	var moduleID=DOM.gE(id);
	DOM.remE(moduleID.childNodes[0]);
	moduleID.appendChild(content)
};

DOLTRONIC.PopUp_AgeRoom.prototype.createPopUpAgeDetailsContent=function(data){
	var DOM=new DOLTRONIC.DOM();
	var ModuleContentDiv=DOM.cE("div",{className:""});
	var mTable=DOM.cE("table",{className:"ct-rental-conditions-header", cellSpacing:"0", cellPadding:"0"});
	var mTBody=DOM.cE("tbody");
	var edades=(data.edades).split(",");
	for(var i=0;i<data.num_nin;i++){
		var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left'},data.titleCamp+" "+(i+1)+":",true);
		var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left'},mContentTD1_DIV);
		
		var selectninios=DOM.cE('select',{id:'cvp_child'+i, name:'child'+i});
		for(var j=0;j<12;j++){
			if(i<edades.length){
				if(parseInt(edades[i])==j){
					option=DOM.cE('option',{value:j, selected:"selected"},j+' Años');
				}else{
					option=DOM.cE('option',{value:j},j+' Años');
				}
			}else{
				 option=DOM.cE('option',{value:j},j+' Años');
			}
			selectninios.appendChild(option);
		}
		
		var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-right'},selectninios);
		var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right'},mContentTD2_DIV);
		
		var mContentTR=DOM.cE('tr');
		
		mContentTR.appendChild(mContentTD1);
		mContentTR.appendChild(mContentTD2);
		mTBody.appendChild(mContentTR);
	}
	
	mTable.appendChild(mTBody);
	
	var moduleContentTitleDiv=DOM.cE("div",{className:"ct-rental-header"},mTable);
	
	
	
	ModuleContentDiv.appendChild(moduleContentTitleDiv);
	return ModuleContentDiv
};



function cvpParser(){
	this.parseURL=parseURL;
	this.parseText=parseText;
	this.getSearch=getSearch;
	function parseURL(){
		var srch=this.getSearch(cvpSC.parseTopURL?window:top),index;srch=(!cvpSC.parseTopURL&&srch.indexOf("cvp=top")>-1?srch:this.getSearch(window)).split("&");
		this.param=new Array();
		for(var i=new Number(0);i<srch.length;i++){
			srch[i]=srch[i].split("=");
			index=srch[i];
			this.param[index[0]]=index[1]
		}
		return true
	};
	function parseText(text){
		return text.replace(/\r+/g,"\n").replace(/\n{2,}/g,"\n")
	};
	function getSearch(_window){
		return decodeURI(_window.location.search.slice(1))
	}
};

var cvpID=new cvpID(),cvpOption=new cvpOption(),cvpSC;

function cvpID(){
	var doc=document;
	this.pre=new String("cvp_");
	this.x=this.y=this.scrollX=this.scrollY=this.clientX=this.clientY=new Number();
	this.addStyle=addStyle;
	this.display=display;
	this.visible=visible;
	this.inner=inner;
	this.enable=enable;
	this.disable=disable;
	this.setValue=setValue;
	this.onChange=onChange;
	this.onClick=onClick;
	this.onClickLineasUnico=onClickLineasUnico;
	this.onClickMostrarCustomer=onClickMostrarCustomer;
	this.onClickOcultarCustomer=onClickOcultarCustomer;
	this.get=get;
	this.getObj=getObj;
	this.getFrame=getFrame;
	this.getValue=getValue;
	this.getScroll=getScroll;
	this.tag=tag;
	this.mouse=mouse;
	this.elementWidth=elementWidth;
	this.elementClassName=elementClassName;
	this.numberPadding=numberPadding;
	this.getName=getName;
	function addStyle(file,url){
		var _link=doc.createElement("link");
		with(_link){
			type="text/css";
			rel="stylesheet";
			href=file?cvpSC.srcURL+"css/"+file+".css":url
		}
		this.tag("head")[0].appendChild(_link)
	};
	function display(id,d,frame){
		this.getObj(id,frame).style.display=d?d!="none"&&d!="block"&&this.gecko?d="block":d:"none"
	};
	function visible(id,frame){
		var _style=this.getObj(id,frame).style;
		_style.visibility=_style.visibility=="hidden"?"visible":"hidden"
	};
	function inner(id,text,frame){
		this.getObj(id,frame).innerHTML=text
	};
	function elementWidth(id,w,frame){
		this.getObj(id,frame).style.width=w+'px'
	};
	function elementClassName(id,c,frame){
		this.getObj(id,frame).className=this.pre+c
	};
	function enable(id){
		this.disable(id,true)
	};
	function disable(id,status){
		this.get(id).disabled=!status;
		this.get(id).className=!status?"disabled":""
	};
	function setValue(id,_value,frame){
		this.getObj(id,frame).value=_value
	};
	function onChange(id,frame){
		this.get(id,frame).onchange=eval("cvpSC.events.onChange_"+id)
	};
	function onClick(id,frame){
		this.get(id,frame).onclick=eval("cvpSC.events.onClick_"+id)
	};
	function onClickLineasUnico(id,frame){
		this.get(id,frame).onclick=eval("cvpSC.events.calcularPrecio")
	};
	function onClickMostrarCustomer(id,frame,num_hab){
		this.get(id).onclick=eval("cvpSC.events.mostarOcupantes('"+num_hab+"')")
	};
	function onClickOcultarCustomer(id,frame,num_hab){
		this.get(id).onclick=eval("cvpSC.events.ocultarOcupantes('"+num_hab+"')")
	};
	function get(_id,frame){
		try{
			var id=(frame?this.getFrame(frame):doc).getElementById(this.pre+_id)
		}catch(e){}
		id?null:cvpSC.debug?null:alert("ERROR: no such element exists, ID = "+this.pre+_id);
		return id
	};
	function getObj(id,frame){
		return id.constructor==String?this.get(id,frame):id
	};
	function getFrame(id){
		return window.frames[this.pre+id].document
	};
	function getValue(id,frame){
		return this.getObj(id,frame).value
	};
	function getScroll(){
		var b=doc.body,d=doc.documentElement,qw=new Number(b.clientWidth),qh=new Number(b.clientHeight),sw=new Number(d.clientWidth),sh=new Number(d.clientHeight);
		this.scrollX=b.scrollLeft+d.scrollLeft;
		this.scrollY=b.scrollTop+d.scrollTop;
		this.clientX=sw>0&&qw>sw?sw:qw;
		this.clientY=sh>0&&qh>sh?sh:qh
	};
	function tag(_tag,id){
		try{
			return(id?id:doc).getElementsByTagName(_tag)
		}catch(e){
			cvpSC.debug?null:alert("ERROR: no such element exists, TAG = "+_tag+" in ID = "+id)
		}
	};
	function getName(_tag,id){
		return(id?id:doc).getElementsByName(_tag)
		
	};
	function mouse(e){
		this.getScroll();
		this.x=e.clientX+this.scrollX;
		this.y=e.clientY+this.scrollY+16
	};
	function numberPadding(numZeros,number){
		var n=new Number(number);
		return n.toFixed(numZeros)
	}
};

function cvpAJAX(){
	var url=new String(cvpSC.url);
	this.init=init;
	this.initForInsurance=initForInsurance;
	this.createXMLHttp=createXMLHttp;
	this.setCallback=setCallback;
	this.sendXML=sendXML;
	this.sendNoteXML=sendNoteXML;
	this.sendHTML=sendHTML;
	this.sendFile=sendFile;
	this.loadFile=loadFile;
	this.gotResponse=gotResponse;
	this.isSuccess=isSuccess;
	this.isSuccessHTML=isSuccessHTML;
	this.isError=isError;
	this.isErrorHTML=isErrorHTML;
	this.getResponseXML=getResponseXML;
	this.getResponseText=getResponseText;
	this.getMessageName=getMessageName;
	this.getErrorType=getErrorType;
	this.getErrorShortText=getErrorShortText;
	this.getDebugError=getDebugError;
	this.getBrowserInfo=getBrowserInfo;
	function init(){
		this.xmlHttp=this.createXMLHttp();
		this.responseXML=new Object();
		this.responseText=this.errorType=this.errorShortText=this.messageName=new String()
	};
	function initForInsurance(){
		this.xmlHttp=this.createXMLHttp();
		this.responseText=this.errorType=this.errorShortText=this.messageName=new String()
	};
	function createXMLHttp(){
		try{
			return new XMLHttpRequest()
		}catch(e){
			try{
				return new ActiveXObject("MSXML2.XMLHTTP.3.0")
			}catch(e){
				try{
					return new ActiveXObject("MSXML2.XMLHTTP")
				}catch(e){
					try{
						return new ActiveXObject("Microsoft.XMLHTTP")
					}catch(e){
						return false
					}
				}
			}
		}
	};
	function setCallback(callback){
		this.xmlHttp.onreadystatechange=callback
	};
	function sendXML(request,wait){
		this.messageName=request.messageName;
		with(this.xmlHttp){
			open("POST",url,wait?false:true);
			setRequestHeader("Content_Type","text/xml");
			send(request.getXML());
			if(wait){
				return responseXML
			}
		}
	};
	function sendNoteXML(request,wait){
		this.messageName=request.messageName;
		with(this.xmlHttp){
			open("POST",url,wait?false:true);
			setRequestHeader("Content_Type","text/xml");
			send(request.getNoteXML());
			if(wait){
				return responseXML
			}
		}
	};
	function sendHTML(request,url,wait){
		this.messageName=request.messageName;
		with(this.xmlHttp){
			var targetUrl=url+"?insurance=1&"+request;
			open("GET",targetUrl,wait?false:true);
			setRequestHeader("Content_Type","text/html");
			send(null);
			if(wait){
				return responseText
			}
		}
	};
	function sendFile(file,dontWait,type){
		with(this.xmlHttp){
			open("GET",url+"?getfile="+file,dontWait);
			setRequestHeader("Content_Type",type?type:"text/xml");
			send("")
		}
	};
	function loadFile(file,wait,_type,_url){
		var type=new String("text/"+(_type?_type:"plain"));
		try{
			with(this.xmlHttp){
				
				open("GET",_url?_url:url+"?abegetfile="+file+'&alb='+Math.random(),wait?false:true);
				setRequestHeader("Content_Type",type);
				send("");
				if(wait){
					return responseText
				}
			}
		}catch(e){
			var msg=new String("cvpAJAX.loadFile ("+file+", "+wait+", "+type+", "+(_url?_url:"")+")");
			cvpSC.errorReport(msg,"",msg);
			alert(msg);
			return
		}
	};
	function gotResponse(){
		if(this.xmlHttp.readyState==4&&this.xmlHttp.status==200){
			this.responseXML=this.xmlHttp.responseXML;
			this.responseText=this.xmlHttp.responseText;
			return true
		}else{
			return false
		}
	};
	function isSuccess(){
		if(!this.responseXML){
			var msg=new String("cvpAJAX.isSuccess ()");
			cvpSC.errorReport(msg,"0",msg+"\nresponse:\n"+this.responseText);
			return false
		}else
			if(cvpID.tag("Success",this.responseXML).length){
				return true
			}else{
				return false
			}
	};
	function isSuccessHTML(){
		if(!this.responseText){
			return false
		}else 
			if(this.responseText.length){
				return true
			}else{
				return false
			}
	};
	function isError(){
		var error=cvpID.tag("Error",this.responseXML);
		//alert(typeof error=="undefined");
		if(typeof error=="undefined"){
			return false
		}
		if(eval(error).length){
			error=eval(error);
			this.errorType=error[0].getAttribute("Type");
			this.errorShortText=error[0].getAttribute("ShortText")
		}else{
			error='cvpID.tag ("OTA_ErrorRS", this.responseXML)';
			if(eval(error).length){
				error=eval(error);
				this.errorType=error[0].getAttribute("ErrorCode");
				this.errorShortText=error[0].getAttribute("ErrorMessage")
			}else{
				return false
				}
		}
		var msg=new String("cvpAJAX.isError ()");
		cvpSC.errorReport(msg,"0",msg+"\nresponse:\n"+this.responseText);
		return true
	};
	function isErrorHTML(){
		var error=cvpID.tag("Error",this.responseText);
		if(typeof error=="undefined"){
			return false
		}
		if(eval(error).length){
			error=eval(error);
			this.errorType=error[0].getAttribute("Type");
			this.errorShortText=error[0].getAttribute("ShortText")
		}else{
			error='cvpID.tag ("OTA_ErrorRS", this.responseXML)';
			if(eval(error).length){
				error=eval(error);
				this.errorType=error[0].getAttribute("ErrorCode");
				this.errorShortText=error[0].getAttribute("ErrorMessage")
			}else{
				return false
			}
		}
		var msg=new String("cvpAJAX.isError ()");
		cvpSC.errorReport(msg,"0",msg+"\nresponse:\n"+this.responseText);
		return true
	};
	function getResponseXML(){
		return this.responseXML
	};
	function getResponseText(){
		return this.responseText
	};
	function getMessageName(){
		return this.messageName
	};
	function getErrorType(){
		return this.errorType
	};
	function getErrorShortText(){
		return this.errorShortText
	};
	function getDebugError(){
		if(this.errorShortText.indexOf('Invalid POS ID')!=-1){
			return this.errorShortText+"  There can be a delay after a client is created before it is actived."
		}
		if(this.errorShortText.indexOf('Target Must be')!=-1){
			return this.errorShortText+"  .  Booking engine Test/Production configuration does not match the OTA Server."
		}
		return getBrowserInfo()+" ,"+"MessageName="+this.messageName+" ,"+"Type="+this.errorType+" ,"+"Short="+this.errorShortText+" ,"+"ResponseXML="+this.responseXML+" ,"+"isSuccess()="+this.isSuccess()+" ,"+"ResponseText="+this.responseText
	};
	function getBrowserInfo(){
		var n=navigator;
		return"Browser="+n.appName+" ,"+"Version: "+n.appVersion+" ,"+"Platform: "+n.platform+" ,"+"User agent: "+n.userAgent
	}
};

function cvpXMLRequest(){
	this.otaEngine=cvpSC;
	this.init=init;
	this.setMessageName=setMessageName;
	this.setXmlns=setXmlns;
	this.setXmlns_xsi=setXmlns_xsi;
	this.setXsi_schemaLocation=setXsi_schemaLocation;
	this.setVersion=setVersion;
	this.setNodeOccupancy=setNodeOccupancy;
	this.getXML=getXML;
	this.getNoteXML=getNoteXML;
	this.setVersion=setVersion;
	function init(){
		this.messageName="?";
		this.version="1.000";
		this.specificXML=new String();
		this.xmlns=new String();
		this.xmlns_xsi=new String();
		this.xsi_schemaLocation=new String();
		this.requestCore=new String();
	};
	function setVersion(version){
		this.version=version
	};
	function setMessageName(name){
		this.messageName=name
	};
	function setXmlns(data){
		this.xmlns=data
	};
	function setXmlns_xsi(data){
		this.xmlns_xsi=data
	};
	function setXsi_schemaLocation(data){
		this.xsi_schemaLocation=data
	};
	function setNodeOccupancy(){
		this.requestCore="<OccupancyList>";
		for(var ord=1;ord<=this.otaEngine.num_habitaciones;ord++){
			this.requestCore+="<HotelOccupancy><RoomCount>1</RoomCount>";
			this.requestCore+="<Occupancy><AdultCount>"+this.otaEngine.adulto_hab[ord]+"</AdultCount><ChildCount>"+this.otaEngine.ninio_hab[ord]+"</ChildCount>";
			if(parseInt(this.otaEngine.ninio_hab[ord])>0){
				this.requestCore+="<GuestList>";
				var edades=(this.otaEngine.edades_ninios[ord]).split('%2C');
				for(var en=0;en<parseInt(this.otaEngine.ninio_hab[ord]);en++){
					this.requestCore+="<Customer type=\"CH\"><Age>"+edades[en]+"</Age></Customer>";
				}
				this.requestCore+="</GuestList>";
			}
			this.requestCore+="</Occupancy></HotelOccupancy>";
		}
		this.requestCore+="</OccupancyList>";
	};
	
	function getXML(){
		var result=this.messageName+'='+'<'+this.messageName;
		if(this.xmlns.length){
			result+=' xmlns="'+this.xmlns+'"'
		}
		if(this.xmlns_xsi.length){
			result+=' xmlns:xsi="'+this.xmlns_xsi+'"'
		}
		if(this.xsi_schemaLocation.length){
			result+=' xsi:schemaLocation="'+this.xsi_schemaLocation+'"'
		}
		if(this.messageName=="HotelValuedAvailRQ"){
			result+=' echoToken="'+this.otaEngine.echoToken+'" sessionId="'+this.otaEngine.sessionID+'">';
			result+='<Language>'+this.otaEngine.languageID+'</Language>	<Credentials><User><%USER_XML></User><Password><%PASSWORD_XML></Password></Credentials>';
			result+='<PaginationData itemsPerPage="10" pageNumber="1"/>';
			var mes=Number(this.otaEngine.pickupMonth)+1;
			if(mes<10){
				mes='0'+mes;
			}
			var dia=Number(this.otaEngine.pickupDate);
			if(dia<10){
				dia='0'+dia;
			}
			result+='<CheckInDate date="'+this.otaEngine.pickupYear+mes+dia+'"/>';
			var mes=Number(this.otaEngine.returnMonth)+1;
			if(mes<10){
				mes='0'+mes;
			}
			var dia=Number(this.otaEngine.returnDate);
			if(dia<10){
				dia='0'+dia;
			}
			result+='<CheckOutDate date="'+this.otaEngine.returnYear+mes+dia+'"/>';
			result+='<Destination code="'+this.otaEngine.DestinationCod+'" type="SIMPLE"/>';
			result+=this.requestCore;
			result+='<HotelCode>P_'+this.otaEngine.clientID+'</HotelCode>';
		}else
			if(this.messageName=="ServiceAddRQ"){
				result+=' echoToken="'+this.otaEngine.echoToken+'">';
				result+='<Language>'+this.otaEngine.languageID+'</Language>	<Credentials><User><%USER_XML></User><Password><%PASSWORD_XML></Password></Credentials>';
				result+='<Service availToken="'+this.otaEngine.availToken+'"  xsi:type="ServiceHotel">';
				result+='<ContractList>	<Contract>	<Name>'+this.otaEngine.Contract_name+'</Name><IncomingOffice code="'+this.otaEngine.Contract_incomming+'"/></Contract></ContractList>';
				result+='<DateFrom date="'+this.otaEngine.DateFrom+'"/>';
				result+='<DateTo date="'+this.otaEngine.DateTo+'"/>';
				result+='<HotelInfo xsi:type="ProductHotel"><Code>P_'+this.otaEngine.clientID+'</Code>';
				result+='<Destination code="'+this.otaEngine.DestinationCod+'" type="SIMPLE"/></HotelInfo>';
				var radioboton=cvpID.tag("input",cvpID.get("listaHab"));
				if(radioboton!=null){
					for (i=0; i<radioboton.length; i++){ 
						if (radioboton[i].checked && radioboton[i].type=="radio"){
							valor=(radioboton[i].value).split('~');
							result+='<AvailableRoom><HotelOccupancy>';
							result+='<RoomCount>'+valor[11]+'</RoomCount>';
							result+='<Occupancy>';
							result+='<AdultCount>'+valor[12]+'</AdultCount>';
							result+='<ChildCount>'+valor[13]+'</ChildCount>';
							result+='<GuestList>';
							var nodoedad=1;
							var edadcodigo=0;
							for(var k=0; k<parseInt(valor[11]);k++){
								for(var j=0;j<parseInt(valor[12]);j++){
									result+='<Customer type="AD" />';
								}
								for(var j=0;j<parseInt(valor[13]);j++){
									result+='<Customer type="CH">';
									encontrado=false;
									for(var ord=nodoedad;ord<=this.otaEngine.num_habitaciones && !encontrado;ord++){
										if(parseInt(this.otaEngine.adulto_hab[ord])==parseInt(valor[12]) && parseInt(this.otaEngine.ninio_hab[ord])==parseInt(valor[13])){
											var edades=(this.otaEngine.edades_ninios[ord]).split('%2C');
											result+='<Age>'+edades[edadcodigo]+'</Age>';
											edadcodigo++;
											if(edadcodigo==parseInt(this.otaEngine.ninio_hab[ord])){
												nodoedad++;
												edadcodigo=0;
											}
											encontrado=true;
										}
									}
									result+='</Customer>';
								}
							}
							result+='</GuestList>';
							result+='</Occupancy>';
							result+='</HotelOccupancy>';
							result+='<HotelRoom SHRUI="'+valor[0]+'">';
							result+='<Board code="'+valor[2]+'" type="'+valor[3]+'"/>';
							result+='<RoomType characteristic="'+valor[8]+'" code="'+valor[6]+'" type="'+valor[7]+'"/>';
							result+='</HotelRoom>';
							result+='</AvailableRoom>';
						} 
					}
				}
				result+='</Service>';
			}else
				if(this.messageName=="PurchaseConfirmRQ"){
					result+=' echoToken="'+this.otaEngine.echoToken+'">';
					result+='<Language>'+this.otaEngine.languageID+'</Language>	<Credentials><User><%USER_XML></User><Password><%PASSWORD_XML></Password></Credentials>';
					result+='<ConfirmationData purchaseToken="'+this.otaEngine.purchaseToken+'">';
					result+='<Holder type="AD"><Age>30</Age>';
					result+='<Name>'+cvpID.getValue("HolderName")+'</Name>';
					result+='<LastName>'+cvpID.getValue("HolderLastName")+'</LastName>';
					result+='<AdditionalInfo>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>EmailClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderEmail")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>PhoneClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderPhone")+'</Value>';
						result+='</ExtendedData>';
						
						if(cvpID.getValue("HolderMovil")!=null && cvpID.getValue("HolderMovil")!=""){
							result+='<ExtendedData  type="HolderInfo">';
							result+='<Name>MovilClient</Name>';
							result+='<Value>'+cvpID.getValue("HolderMovil")+'</Value>';
							result+='</ExtendedData>';
						}
						
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>DNIClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderDNI")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>AddressClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderAddress")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>PCClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderPostal")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>CityClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderTown")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>StateClient</Name>';
						result+='<Value>'+cvpID.getValue("HolderState")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>Invoice</Name>';
						result+='<Value>Y</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="HolderInfo">';
						result+='<Name>TypePaymentClient</Name>';
						result+='<Value>CreditCard</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>NameCC</Name>';
						result+='<Value>'+cvpID.getValue("CreditCardName")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>TypeCC</Name>';
						result+='<Value>'+cvpID.getValue("CreditCardType")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>NumberCC</Name>';
						result+='<Value>'+this.otaEngine.validate.removeSpace(cvpID.getValue("CreditCardNumber"))+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>ExpirationCC</Name>';
						result+='<Value>'+cvpID.getValue("CreditCardExpiryMonth")+cvpID.getValue("CreditCardExpiryYear")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>CVVCC</Name>';
						result+='<Value>'+cvpID.getValue("CreditCardCVV")+'</Value>';
						result+='</ExtendedData>';
						result+='<ExtendedData  type="CreditCard">';
						result+='<Name>IpCC</Name>';
						result+='<Value><%IP_CLIENTE></Value>';
						result+='</ExtendedData>';
					result+='</AdditionalInfo>';
					result+='</Holder>';
					result+='<AgencyReference>CVP_'+this.otaEngine.clientID+'</AgencyReference>';
					result+='<ConfirmationServiceDataList>';
					result+='<ServiceData xsi:type="ConfirmationServiceDataHotel" SPUI="'+this.otaEngine.SPUI+'">';
					result+='<CustomerList>';
					var num_customer=cvpID.getValue("customerNumbers");
					for(var cu=0;cu<parseInt(num_customer);cu++){
						var customerType=cvpID.getValue("customerType_"+cu);
						var customerID=cvpID.getValue("customerId_"+cu);
						var customerAge=cvpID.getValue("customerAge_"+cu);
						var customerName=cvpID.getValue("HolderName_"+cu);
						var customerLastName=cvpID.getValue("HolderLastName_"+cu);
						var customerRequired=cvpID.getValue("customerRequired_"+cu);
						result+='<Customer type="'+customerType+'">';
						result+='<CustomerId>'+customerID+'</CustomerId>';
						result+='<Age>'+customerAge+'</Age>';
						if(customerName.length && customerLastName.length){
							result+='<Name>'+customerName+'</Name>';
							result+='<LastName>'+customerLastName+'</LastName>';
						}
						result+='</Customer>';
					}
					result+='</CustomerList>';
					result+='</ServiceData>';
					result+='</ConfirmationServiceDataList>';
					result+='</ConfirmationData>';
				}
		result+='</'+this.messageName+'>';
		return result
	};
	function getNoteXML(){
		var result='<?xml version="1.0" encoding="UTF-8"?><!--Ajax-->'+'<'+this.messageName;
		if(this.xmlns.length){
			result+=' xmlns="'+this.xmlns+'"'
		}
		if(this.xmlns_xsi.length){
			result+=' xmlns:xsi="'+this.xmlns_xsi+'"'
		}
		if(this.xsi_schemaLocation.length){
			result+=' xsi:schemaLocation="'+this.xsi_schemaLocation+'"'
		}
		result+=' Target="'+this.otaEngine.target+'" PrimaryLangID="'+this.otaEngine.languageID+'" Version="'+this.version+'">'+'<POS>'+'<Source>'+'<RequestorID Type="16" ID="'+eval("this."+(this.clientID?"":"otaEngine.")+"clientID")+'" ID_Context="CARTRAWLER" />'+'</Source>';
		if(this.otaEngine.userId){
			result+='<Source>'+'<RequestorID Type="16" ID="'+this.otaEngine.userId+'" ID_Context="USERID" />'+'</Source>'
		}
		result+='</POS>';
		result+=this.note;result+='</'+this.messageName+'>';
		return result
	}
};

function cvpLoad(){
	var symbols=new Array(".","&rsaquo;"),symbol=new String(symbols[0]),_max=new Number(3),_min=new Number(0),i=new Number(0),_load=new String(),w=window,_this=this,_id;
	this.start=start;
	this.setselect=setselect;
	this.setiframe=setiframe;
	this.loadBar=loadBar;
	this.processBar=processBar;
	this.clear=clear;
	this.getSymbol=getSymbol;
	function start(id,_symbol,maxLength,minLength,i){
		var tag=new String(cvpID.get(id).tagName.toLowerCase());
		_id=tag=="select"?cvpOption.get(id):cvpID.tag("span",cvpID.getFrame(id))[i?i:0];
		_symbol?symbol=symbols[_symbol]:null;maxLength?_max=maxLength:null;minLength?_min=minLength:null;
		this.intr=w.setInterval(function(){eval("_this.set"+tag+"();")},250)
	};
	function setselect(){
		_id[0].text=cvpSC.translate("PleaseWait")+this.getSymbol()
	};
	function setiframe(){
		_id.innerHTML=this.getSymbol()
	};
	function loadBar(msg){
		if(msg){
			cvpID.inner("loadAction",cvpSC.translate(msg));
			this.intr=w.setInterval(function(){_this.processBar()},250)
		}else{
			this.clear()
		}
		cvpID.display("LOAD",msg?"block":null)
	};
	function processBar(){
		cvpID.visible("loadWait")
	};
	function clear(){
		w.clearInterval(this.intr)
	};
	function getSymbol(){
		if(i<_max){
			_load+=symbol;
			i++
		}else{
			i=_min;
			_load="";
			while(i.valueOf()){
				_load+=symbol;
				i--
			}
		}
		return _load
	}
};

function cvpLanguage(){
	var ajaxHTML=new cvpAJAX(),ajaxLanguage=new cvpAJAX(),parser=new cvpParser(),label=new Array();
	this.html=new Array();
	this.add=add;
	this.getSource=getSource;
	this.getLanguage=getLanguage;
	this.receiveHTML=receiveHTML;
	this.receiveLanguage=receiveLanguage;
	this.generateCache=generateCache;
	this.generateFlag=generateFlag;
	this.generateHTML=generateHTML;
	this.generate=generate;
	this.translate=translate;
	this.getLabel=getLabel;
	function add(){
		var args=arguments[0],j=new String(),l=new Number();
		this.img=new Array();
		for(var i=new Number(0);i<args.length;i++){
			j=args[i].toUpperCase();
			this.img.push(new Image());
			l=this.img.length-1;
			this.img[l].src=cvpSC.srcURL+"cvp/image/icon/flag/"+j+".gif";
			this.img[l].code=j
		}
	};
	function getSource(){
		
		with(ajaxHTML){
			init();
			setCallback(this.receiveHTML);
			if(cvpSC.Step2){
				loadFile("template/"+cvpSC.template+"/buscador_lista.html",false,"html",cvpSC.templateURL)
			}else{
				loadFile("template/"+cvpSC.template+"/buscador.html",false,"html",cvpSC.templateURL)
			}
		}
		
		this.getLanguage()
	};
	function getLanguage(){
		with(ajaxLanguage){
			init();
			setCallback(this.receiveLanguage);
			loadFile("CvpCR_"+cvpSC.languageID+".properties",false,"plain")
		}
	};
	function receiveHTML(){
		if(ajaxHTML.gotResponse()){
			var raw=new String(parser.parseText(ajaxHTML.getResponseText()).replace(/\n|\t/g,"")),tag=new String(),i=new Number(),j=new Number(),_this=cvpSC.language;
			while(raw.length){
				i=raw.search(/<%[^%>]+%>/);
				j=raw.search(/<\/%[^%>]+%>/);
				tag=raw.slice(i+2,raw.indexOf("%>",i));
				_this.html[tag]=new String(raw.slice(i+tag.length+4,j));
				raw=raw.slice(j+tag.length+5)
			}
			//if(cvpSC.landingPage){
				_this.html["HEADER"]="";
				//_this.html["LOAD"]=""
				tag="STEP1";
				raw=_this.html["LP_"+tag];
				typeof raw=="undefined"?null:_this.html[tag]=raw
			//}
			//if(!cvpSC.magiclocation){
			//	_this.html["LOCATION"]=_this.generateHTML("LOCATION_NO_SUGGEST");
			//	_this.html["LOCATION_DROPOFF"]=_this.generateHTML("LOCATION_DROPOFF_NO_SUGGEST")
			//}else{
			//	_this.html["LOCATION"]=_this.generateHTML("LOCATION_WITH_SUGGEST");
			//	_this.html["LOCATION_DROPOFF"]=_this.generateHTML("LOCATION_DROPOFF_WITH_SUGGEST")
			//}
			//cvpSC.displayPromotionCode?_this.html["PROMO"]=_this.html["LP_PROMO"]="":null;
			//if(typeof _this.html["CAR_PRICE_ROW"]!="undefined"){
			//	cvpSC.supportHybridData=true
			//}
			//if(typeof _this.html["cvp_FeeBreakdown"]=="undefined"){
			//	cvpSC.feeBreakdown=new Boolean(0)
			//}
			if((typeof _this.html["CAR_GRID"]!="undefined")&&(typeof _this.html["CAR_GRID_ROW"]!="undefined")&&(typeof _this.html["CAR_ELEMENT_EMPTY"]!="undefined")&&(cvpSC.supportHybridData)){
				for(var i=1;i<10;i++){
					var lookup="CAR_ELEMENT_"+i;
					if(typeof _this.html[lookup]!="undefined"){
						cvpSC.gridLayoutColumnCount=i
					}
				}
			}
			var testData1='1'+new Date().toGMTString()+'1';
			var testData2='2'+new Date().toGMTString()+'2';
			_this.html["CAR_ROW_locationType"]=testData1;
			_this.html["CAR_TITLE_locationType"]=testData2;
			var lookup=_this.generateHTML("CAR_ROW");
			if((lookup.indexOf(testData1)!=-1)&&(lookup.indexOf(testData2)!=-1)){
				cvpSC.supportAlternateLegend=true
			}
			with(_this){
				//html["CACHE"]=generateCache();
				//html["FLAGS"]=generateFlag();
				html["CORE"]=generateHTML("CORE");
				delete html["LP_STEP1"];
				delete html["LP_PROMO"];
				delete html["CACHE"];
				delete html["HEADER"];
				delete html["LOAD"];
				delete html["STEP1"];
				delete html["PROMO"];
				delete html["FLAGS"];
				generate()
			}
		}else{
			if(ajaxHTML.isError()){
				alert(ajaxHTML.getDebugError())
			}
		}
	};
	function receiveLanguage(){
		if(ajaxLanguage.gotResponse()){
			var id=new String(),val=new String();
			label=parser.parseText(ajaxLanguage.responseText).split("\n");
			for(var i=new Number(0);i<label.length;i++){
				label[i]=label[i].split(/=\s*/);
				id=label[i].shift();
				val=label[i].length>1?label[i].join("="):label[i][0];
				id=="PleaseSelect"?val+="...":null;
				label[id]=val
			}
			cvpSC.language.generate()
		}else{
			if(ajaxLanguage.isError()){
				alert(ajaxLanguage.getDebugError())
			}
		}
	};
	function generateCache(){
		var _array=new Array("qtrax","errorReport"),raw=new String();
		for(var i=new Number(0);i<_array.length;i++){
			raw+='<img id="'+cvpID.pre+_array[i]+'">'
		}
		raw='<div class="cvp_none">'+raw+(cvpSC.landingPage?'':'<!--[if IE]><iframe id="'+cvpID.pre+'historyFrame" src="javascript:;"></iframe><![endif]-->')+'</div>';
		if(!cvpSC.landingPage){
			var index;
			_array=new Array("car","conditions","email");
			for(i=0;i<_array.length;i++){
				index=cvpID.pre+_array[i];
				raw+='<iframe id="'+index+'Frame" name="'+index+'Frame" src="javascript:;" frameborder="0" scrolling="no"></iframe>'
			}
		}
		return raw
	};
	function generateFlag(){
		var raw=new String();
		if(this.img){
			var index;
			for(var i=new Number(0);i<this.img.length;i++){
				index=this.img[i];
				raw+='<td><input type="button" style="background-image:url('+index.src+');" onclick="cvpSC.setLanguage(\''+index.code+'\');"></td>'
			}
			raw='<table class="flags" cellspacing="0">'+'<tr>'+raw+'</tr>'+'</table>'
		}
		return raw
	};
	function generateHTML(code){
		
		var raw=new String(this.html[code]),tag=new String(),i;
		while(true){
			i=raw.search(/<%=[^>]+>/);
			if(i<0){
				break
			}
			tag=raw.slice(i+3,raw.indexOf(">",i));
			i=this.html[tag];
			raw=raw.replace("<%="+tag+">",typeof i=="undefined"?"":i)
		}
		return raw
	};
	function generate(){
		if((generate.caller!="undefined")&&(generate.caller!=null)){
			var _caller=new String(generate.caller.toString());
			var i=_caller.indexOf("function receive");
			_caller.slice(i,_caller.indexOf("()",i)).indexOf("HTML")>0?this.htmlComplete=true:this.labelComplete=true;
			if(this.htmlComplete&&this.labelComplete){
				label.length=0;
				var aux_core=this.translate("CORE");
				
				cvpSC.generate(aux_core)
			}
		}
	};
	function translate(code){
		
		var raw=new String(this.html[code]),tag=new String(),i=new Number();
		while(true){
			i=raw.search(/<%[^>=]+>/);
			if(i<0){
				break
			}
			tag=raw.slice(i+2,raw.indexOf(">",i));
			raw=raw.replace("<%"+tag+">",label[tag])
		}
		
		return raw
	};
	function getLabel(id){
		var index=label[id];
		index?null:cvpSC.debug?null:alert("ERROR: missed label = "+id);
		return index
	}
};

function cvpOption(){
	this.add=add;
	this.list=list;
	this.rem=rem;
	this.remSelect=remSelect;
	this.clear=clear;
	this.get=get;
	this.getSelected=getSelected;
	this.getText=getText;
	function add(id,text,val,_selected){
		var i=this.get(id),l=i.length;
		i[l]=new Option(text,val,false,false);
		_selected?i[l].selected=true:null
	};
	function list(id,_min,_max,_selected){
		for(var i=new Number(_min);i<=_max;i++){
			this.add(id,i.zero(),i,_selected==i)
		}
	};
	function rem(id,i){
		cvpID.get(id).remove(i?i:0)
	};
	function remSelect(id){
		this.get(id)[0].text==cvpSC.translate("PleaseSelect")?this.rem(id):null
	};
	function clear(id){
		cvpID.disable(id);
		while(cvpID.get(id).length){
			this.rem(id)
		}
		return true
	};
	function get(id){
		return cvpID.get(id).options
	};
	function getSelected(id){
		return cvpID.get(id).selectedIndex
	};
	function getText(id){
		return this.get(id)[this.getSelected(id)].text
	}
};

function cvpEvent(){
	var option=cvpOption;
	this.set=set;
	this.setIndex=setIndex;
	//this.onChange_countryList=countryList;
	//this.onChange_pickupList=pickupList;
	this.onChange_datePickup_d=datePickup_d;
	this.onChange_datePickup_m=datePickup_m;
	this.onChange_dateDropoff_m=dateDropoff_m;
	this.onChange_datePickup_y=datePickup_y;
	this.onChange_dateDropoff_y=dateDropoff_y;
	this.onChange_num_hab=cambio_num_hab;
	//this.onChange_timePickup_h=timePickup_h;
	//this.onChange_timePickup_m=timePickup_m;
	//this.onChange_carGroupList=carGroupList;
	//this.onChange_residenceList=residenceList;
	this.onClick_calendarPickupButton=calendarPickupButton;
	this.onClick_calendarDropoffButton=calendarDropoffButton;
	this.onClick_searchButton=searchButton;
	this.onClick_reservarButton=reservarButton;
	this.onClick_confirmButton=confirmButton;
	this.onClick_printButton=printButton;
	this.onChange_nino1=edad_nino1;
	this.onChange_nino2=edad_nino2;
	this.onChange_nino3=edad_nino3;
	this.onChange_nino4=edad_nino4;
	this.onChange_nino5=edad_nino5;
	this.onClick_div_ages1Button=edad_div_nino1;
	this.onClick_div_ages2Button=edad_div_nino2;
	this.onClick_div_ages3Button=edad_div_nino3;
	this.onClick_div_ages4Button=edad_div_nino4;
	this.onClick_div_ages5Button=edad_div_nino5;
	this.calcularPrecio=calcularPrecio;
	this.mostarOcupantes=mostarOcupantes;
	this.ocultarOcupantes=ocultarOcupantes;
	
	function set(){
		if(cvpSC.Step2){
			var id=new Array("datePickup_d","datePickup_m","dateDropoff_m","datePickup_y","dateDropoff_y","calendarPickupButton","calendarDropoffButton","num_hab","nino1","nino2","nino3","nino4","nino5","searchButton"),index;
		}else{
			var id=new Array("datePickup_d","datePickup_m","dateDropoff_m","datePickup_y","dateDropoff_y","calendarPickupButton","calendarDropoffButton","num_hab","nino1","nino2","nino3","nino4","nino5","searchButton"),index;
		}
		//if(cvpSC.magiclocation){
		//}else{
		//	id.push("countryList");
		//	id.push("pickupList")
		//}
		for(var i=new Number(0);i<id.length;i++){
			index=id[i];
			eval("cvpID.on"+(index.indexOf("Button")<0?"Change":"Click")+"('"+index+"')")
		}
	};
	function setIndex(index){
		//if(cvpSC.Step2){
		//	var id=new Array("datePickup_d","datePickup_m","dateDropoff_m","datePickup_y","dateDropoff_y","calendarPickupButton","calendarDropoffButton","ListDropoffButton","indiv_childCount","doble_childCount","doble_twochildCount","triple_childCount","searchButton"),index;
		//}else{
		//	var id=new Array("datePickup_d","datePickup_m","dateDropoff_m","datePickup_y","dateDropoff_y","calendarPickupButton","calendarDropoffButton","ListPickupButton","ListDropoffButton","tipoVuelo1Button","tipoVuelo2Button","searchButton"),index;
		//}
		//if(cvpSC.magiclocation){
		//}else{
		//	id.push("countryList");
		//	id.push("pickupList")
		//}		
		//for(var i=new Number(0);i<id.length;i++){
			//index=id[i];
			eval("cvpID.on"+(index.indexOf("Button")<0?"Change":"Click")+"('"+index+"')");
		//}
	};
	function mostarOcupantes(num_hab){
		cvpID.display("customerHidden"+num_hab,"block");
		var boton=cvpID.get("MostrarPasajerosButtom_"+num_hab);
		boton.className="ocultarPasajeros";
		boton.innerHTML=cvpSC.language.getLabel("info_botonOcultar");
		//eval("cvpID.onClickOcultarCustomer('MostrarPasajerosButtom_"+num_hab+"','','"+num_hab+"')");
		boton.href="javascript:cvpSC.events.ocultarOcupantes('"+num_hab+"')";
	}
	function ocultarOcupantes(num_hab){
		cvpID.display("customerHidden"+num_hab,"none");
		var boton=cvpID.get("MostrarPasajerosButtom_"+num_hab);
		boton.className="mostrarPasajeros";
		boton.innerHTML=cvpSC.language.getLabel("info_botonMostrar");
		//eval("cvpID.onClickMostrarCustomer('MostrarPasajerosButtom_"+num_hab+"','','"+num_hab+"')");
		boton.href="javascript:cvpSC.events.mostarOcupantes('"+num_hab+"')";
	}
	
	function reservarButton(){
		var paso3=new cvpSTEP3Container();
		paso3.populate();
	};
	function confirmButton(){
		var firstname=cvpID.getValue("HolderName");
		if(!firstname.length){
			alert(cvpSC.translate("EnterFirstNameMsg"));
			return
		}
		var surname=cvpID.getValue("HolderLastName");
		if(!surname.length){
			alert(cvpSC.translate("EnterSurnameMsg"));
			return
		}
		var dnicli=cvpID.getValue("HolderDNI");
		if(!dnicli.length){
			alert(cvpSC.translate("EnterDNIMsg"));
			return
		}
		var direccli=cvpID.getValue("HolderAddress");
		if(!direccli.length){
			alert(cvpSC.translate("EnterAddressMsg"));
			return
		}
		var postalcli=cvpID.getValue("HolderPostal");
		if(!postalcli.length){
			alert(cvpSC.translate("EnterPostalMsg"));
			return
		}
		var poblacli=cvpID.getValue("HolderTown");
		if(!poblacli.length){
			alert(cvpSC.translate("EnterTownMsg"));
			return
		}
		var provicli=cvpID.getValue("HolderState");
		if(!provicli.length){
			alert(cvpSC.translate("EnterStateMsg"));
			return
		}
		var phoneNo=cvpID.getValue("HolderPhone");
		if(!phoneNo.length){
			alert(cvpSC.translate("EnterPhoneMsg"));
			return
		}
		var email=cvpID.getValue("HolderEmail");
		if(!cvpSC.validate.email(email)){
			return
		}
		var num_customer=cvpID.getValue("customerNumbers");
		for(var cu=0;cu<parseInt(num_customer);cu++){
			var customerType=cvpID.getValue("customerType_"+cu);
			var customerID=cvpID.getValue("customerId_"+cu);
			var customerAge=cvpID.getValue("customerAge_"+cu);
			var customerName=cvpID.getValue("HolderName_"+cu);
			var customerLastName=cvpID.getValue("HolderLastName_"+cu);
			var customerRequired=cvpID.getValue("customerRequired_"+cu);
			if(customerRequired=="true" && customerType=="AD"){
				if(!customerName.length){
					alert(cvpSC.translate("EnterFirstCustomerMsg")+' '+customerID);
					return
				}
				if(!customerLastName.length){
					alert(cvpSC.translate("EnterLastCustomerMsg")+' '+customerID);
					return
				}
			}
		}		
		var cardName=cvpID.getValue("CreditCardName");
		if(!cardName.length){
			alert(cvpSC.translate("CreditCardDetailsMandatoryMsg"));
			return
		}
		var cardTypeControl=cvpID.getValue("CreditCardType");
		if(!cardTypeControl.length){
			alert(cvpSC.translate("CreditCardTypeMandatoryMsg"));
			return
		}
		var cardNumber=cvpSC.validate.removeSpace(cvpID.getValue("CreditCardNumber"));
		if(cardNumber.length){
			if(!cvpSC.validate.cardLUHN(cardNumber)){
				alert(cvpSC.translate("CreditCardFailedLuhnCheckMsg"));
				return
			}else{
				switch(cardTypeControl){
					case "VI": if(cardNumber.substr(0,1)!="4"){
								alert(cvpSC.translate("CreditCardTypeErrorMsg"));
								return
								}
								break;
					case "CA": if(cardNumber.substr(0,1)!="5"){
								alert(cvpSC.translate("CreditCardTypeErrorMsg"));
								return
								}
								break;
					case "AX": if(cardNumber.substr(0,1)!="3"){
								alert(cvpSC.translate("CreditCardTypeErrorMsg"));
								return
								}
								break;
				}
			}
		}else{
			alert(cvpSC.translate("CreditCardDetailsMandatoryMsg"));
			return
		}
		var cvn=cvpID.getValue("CreditCardCVV");
		if(cvn.length){
			if(!isFinite(cvn)){
				alert(cvpSC.translate("cc_verificationNo_valid"));
				return
			}
		}else{
			alert(cvpSC.translate("CreditCardDetailsMandatoryMsg"));
			return
		}
		var expiryMonthControl=cvpID.getValue("CreditCardExpiryMonth");
		var expiryYearControl=cvpID.getValue("CreditCardExpiryYear");
		var expiryYearValue=(parseInt(expiryYearControl,10)+2000);
		var expiryMonthValue=(parseInt(expiryMonthControl,10)-1);
		var now=new Date();
		var todayYear=now.getFullYear();
		var todayMonth=now.getMonth();
		if(expiryYearValue<todayYear){
			alert(cvpSC.translate("CreditCardExpiredMsg"));
			return
		}
		if(todayYear==expiryYearValue){
			if(expiryMonthValue<todayMonth){
				alert(cvpSC.translate("CreditCardExpiredMsg"));
				return
			}
		}
		if(!expiryMonthControl.length||!expiryYearControl.length){
			alert(cvpSC.translate("CreditCardDetailsMandatoryMsg"));
			return
		}else{
			var expireDate=expiryMonthControl+expiryYearControl
		}
		var paso4=new cvpSTEP4Container();
		paso4.populate();
	};
	
	function printButton(){
		if (document.all){
            var b = cvpID.get('bonoHotel');
            b.contentWindow.focus();
            b.contentWindow.window.print();
        }else{
            frames['cvp_bonoHotel'].window.print();
        }
	}
	
	function cambio_num_hab(){
		for(var i=1;i<=5;i++){
			cvpID.display("d_habitacion"+i,"none");
		}
		var num_hab=cvpID.getValue("num_hab");
		for(var i=1;i<=num_hab;i++){
			cvpID.display("d_habitacion"+i,"block");
		}
	};
	
	
	function datePickup_d(){
		cvp_changePickupDate()
	};
	function datePickup_m(days,years,month){
		var yearValue=new Number(cvpID.get("datePickup_y").value);
		function daysInMonth(iMonth,iYear){
			return 32-new Date(iYear,iMonth,32).getDate()
		}
		if(month!=undefined){
			var nbDays=daysInMonth(month,yearValue)
		}else{
			var nbDays=daysInMonth(this.selectedIndex,yearValue)
		}
		var daySelected=cvpID.get("datePickup_d").selectedIndex+1;
		if(daySelected>nbDays){
			daySelected=1
		}
		var days=cvpID.get("datePickup_d").options.length=0;
		cvpOption.list("datePickup_d",1,nbDays,daySelected);
		var month=this.selectedIndex+1;
		cvp_changePickupDate()
	};
	function dateDropoff_m(days,years,month){
		var yearValue=new Number(cvpID.get("dateDropoff_y").value);
		function daysInMonth(iMonth,iYear){
			return 32-new Date(iYear,iMonth,32).getDate()
		}
		if(month!=undefined){
			var nbDays=daysInMonth(month,yearValue)
		}else{
			var nbDays=daysInMonth(this.selectedIndex,yearValue)
		}
		var daySelected=cvpID.get("dateDropoff_d").selectedIndex+1;
		if(daySelected>nbDays){
			daySelected=1
		}
		var days=cvpID.get("dateDropoff_d").options.length=0;
		cvpOption.list("dateDropoff_d",1,nbDays,daySelected)
	};
	function datePickup_y(){
		datePickup_m(cvpID.get("datePickup_d").selectedIndex,cvpID.get("datePickup_y").value,cvpID.get("datePickup_m").selectedIndex)
	};
	function dateDropoff_y(){
		dateDropoff_m(cvpID.get("dateDropoff_d").selectedIndex,cvpID.get("dateDropoff_y").value,cvpID.get("dateDropoff_m").selectedIndex)
	};
	/*function timePickup_h(){
		abe_changePickupTime()
	};
	function timePickup_m(){
		abe_changePickupTime()
	};
	function carGroupList(){
		option.remSelect("carGroupList")
	};
	function residenceList(){
		option.remSelect("residenceList")
	};*/
	function calendarPickupButton(event){
		event?cvpID.mouse(event):null;
		cvp_popUpCalendar("Pickup")
	};
	function calendarDropoffButton(event){
		event?cvpID.mouse(event):null;
		cvp_popUpCalendar("Dropoff")
	};
	function searchButton(){
		cvpID.setValue("agencia",cvpSC.getClientID());
		var formulario=cvpID.get("buscador");
		if(cvpSC.getStep2URL()!=null && cvpSC.getStep2URL()!="")
			formulario.action=cvpSC.getStep2URL();
		formulario.submit();
	};
	function edad_nino1(){
		var name=new String("nino1");
		var num_ninios=cvpID.getValue(name);
		if(num_ninios>0){
			var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
				loading:true,
				width:"200px",
				num_nin:num_ninios,
				titleCamp:cvpSC.language.getLabel("Ninio")
			});
			myPopUpAgeRoom.display('edadeshab1', this);
		}else{
			document.getElementById("cvp_div_ages1").innerHTML="";
		}
	};
	function edad_nino2(){
		var name=new String("nino2");
		var num_ninios=cvpID.getValue(name);
		if(num_ninios>0){
			var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
				loading:true,
				width:"200px",
				num_nin:num_ninios,
				titleCamp:cvpSC.language.getLabel("Ninio")
			});
			myPopUpAgeRoom.display('edadeshab2', this);
		}else{
			document.getElementById("cvp_div_ages2").innerHTML="";
		}
	};
	function edad_nino3(){
		var name=new String("nino3");
		var num_ninios=cvpID.getValue(name);
		if(num_ninios>0){
			var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
				loading:true,
				width:"200px",
				num_nin:num_ninios,
				titleCamp:cvpSC.language.getLabel("Ninio")
			});
			myPopUpAgeRoom.display('edadeshab3', this);
		}else{
			document.getElementById("cvp_div_ages3").innerHTML="";
		}
	};
	function edad_nino4(){
		var name=new String("nino4");
		var num_ninios=cvpID.getValue(name);
		if(num_ninios>0){
			var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
				loading:true,
				width:"200px",
				num_nin:num_ninios,
				titleCamp:cvpSC.language.getLabel("Ninio")
			});
			myPopUpAgeRoom.display('edadeshab4', this);
		}else{
			document.getElementById("cvp_div_ages4").innerHTML="";
		}
	};
	function edad_nino5(){
		var name=new String("nino5");
		var num_ninios=cvpID.getValue(name);
		if(num_ninios>0){
			var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
				loading:true,
				width:"200px",
				num_nin:num_ninios,
				titleCamp:cvpSC.language.getLabel("Ninio")
			});
			myPopUpAgeRoom.display('edadeshab5', this);
		}else{
			document.getElementById("cvp_div_ages5").innerHTML="";
		}
	};
	
	function edad_div_nino1(){
		var name=new String("nino1");
		var num_ninios=cvpID.getValue(name);
		var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
			loading:true,
			width:"200px",
			num_nin:num_ninios,
			titleCamp:cvpSC.language.getLabel("Ninio"),
			edades:cvpID.getValue('edades_hab1')
		});
		myPopUpAgeRoom.display('edadeshab1', this);
	};
	function edad_div_nino2(){
		var name=new String("nino2");
		var num_ninios=cvpID.getValue(name);
		var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
			loading:true,
			width:"200px",
			num_nin:num_ninios,
			titleCamp:cvpSC.language.getLabel("Ninio"),
			edades:cvpID.getValue('edades_hab2')
		});
		myPopUpAgeRoom.display('edadeshab2', this);
	};
	function edad_div_nino3(){
		var name=new String("nino3");
		var num_ninios=cvpID.getValue(name);
		var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
			loading:true,
			width:"200px",
			num_nin:num_ninios,
			titleCamp:cvpSC.language.getLabel("Ninio"),
			edades:cvpID.getValue('edades_hab3')
		});
		myPopUpAgeRoom.display('edadeshab3', this);
	};
	function edad_div_nino4(){
		var name=new String("nino4");
		var num_ninios=cvpID.getValue(name);
		var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
			loading:true,
			width:"200px",
			num_nin:num_ninios,
			titleCamp:cvpSC.language.getLabel("Ninio"),
			edades:cvpID.getValue('edades_hab4')
		});
		myPopUpAgeRoom.display('edadeshab4', this);
	};
	function edad_div_nino5(){
		var name=new String("nino5");
		var num_ninios=cvpID.getValue(name);
		var myPopUpAgeRoom=new DOLTRONIC.PopUp_AgeRoom({
			loading:true,
			width:"200px",
			num_nin:num_ninios,
			titleCamp:cvpSC.language.getLabel("Ninio"),
			edades:cvpID.getValue('edades_hab5')
		});
		myPopUpAgeRoom.display('edadeshab5', this);
	};

	function calcularPrecio(){
		
		var contenido='';
		var precio=0;
		var i=0;
		var valor;
		var radioboton=cvpID.tag("input",cvpID.get("listaHab"));
		if(radioboton!=null){
			for (i=0; i<radioboton.length; i++){ 
				if (radioboton[i].checked && radioboton[i].type=="radio"){
					valor=(radioboton[i].value).split('~');
					precio=precio+parseFloat(valor[10]);
				} 
			}
		}
		
		precio=Math.round(precio*100)/100;
		cvpID.inner("priceAmount",cvpSC.language.getLabel("PriceTotal")+': '+precio+' €');
	}
	/*function searchButton(){
		abeOnClick_searchAvail();
		var id=new String(),val=new String();
		val=abeID.getValue("pickupList");
		if(!val.length){
			alert(abeSC.translate("SearchErrorPickupLocation"));
			return
		}
		id="dropoffList";
		val=abeID.getValue(id);
		if(val.length){
			with(abeSC){
				if(!abeSC.magiclocation){
					setReturnID(val);
					setReturnName(option.getText(id))
				}else{
					if(document.getElementById('abe_droplocation_cb').checked){
						if(isNaN(abeSC.returnID)){
							var msg=abeSC.language.getLabel("AutoSuggestDropOffLocationError");
							alert(msg);
							return
						}
						setReturnID(abeSC.returnID);
						if(isNaN(abeSC.returnID)){
							return
						}
						idVal="ASlocation_dropoff_xml";
						setReturnName(abeID.getValue(idVal))
					}else{
						setReturnName(abeSC.pickupName);
						setReturnID(abeSC.pickupID)
					}
				}
			}
		}else{
			alert(abeSC.translate("SearchErrorDropoffLocation"));
			return
		}
		var index=new Array("Pickup","Dropoff"),today=new Date().valueOf();
		for(var i=new Number(0);i<index.length;i++){
			id="date"+index[i]+"_";
			index[i]=new Date(abeID.getValue(id+"y"),abeID.getValue(id+"m"),abeID.getValue(id+"d"),abeID.getValue("time"+index[i]+"_h"),abeID.getValue("time"+index[i]+"_m"))
		}
		var pickup=index[0].valueOf(),dropoff=index[1].valueOf();
		if(pickup<today||pickup>=dropoff){
			alert(abeSC.translate("SearchErrorDatesIncorrect"));
			return
		}
		for(i=0;i<index.length;i++){
			id=index[i];
			i?abeSC.setReturnDate(id.getDate(),id.getMonth(),id.getFullYear()):abeSC.setPickupDate(id.getDate(),id.getMonth(),id.getFullYear())
		}
		abeSC.setPickupTime(abeID.getValue("timePickup_h"),abeID.getValue("timePickup_m"));
		abeSC.setReturnTime(abeID.getValue("timeDropoff_h"),abeID.getValue("timeDropoff_m"));
		val=abeID.getValue("driverAge");
		if(isFinite(val)&&Number(val)>=18){
			abeSC.setDriversAge(val)
		}else{
			alert(abeSC.translate("driverAge_valid"));
			return
		}
		if(!abeSC.displayPromotionCode){
			val=abeID.getValue("promoCode");
			abeSC.setPromoCode(val)
		}
		abeSC.setCurrencyID(abeID.getValue("currencyList"));
		id="carGroupList";
		val=abeID.getValue(id);
		if(val.length){
			with(abeSC){
				setCarGroupID(val);
				setCarGroupName(option.getText(id))
			}
		}else{
			alert(abeSC.translate("SearchErrorCarGroup"));
			return
		}
		id="residenceList";
		val=abeID.getValue(id);
		if(val.length){
			abeSC.setResidence(option.getText(id),val)
		}else{
			alert(abeSC.translate("SearchErrorResidence"));
			return
		}
		abeSC.landingPage?abeSC.loadPage2():abeSC.step2Container.populate()
	}*/
};

function cvpSTEP1Container(){
	this.request=new cvpXMLRequest(),ajax=new cvpAJAX();
	this.receive=receive;
	//this.country=new abeCountry();
	//this.pickup=new abePickup();
	//this.dropoff=new abeDropoff();
	this.date=new cvpDate();
	//this.time=new abeTime();
	//this.currency=new abeCurrency();
	//this.carGroup=new abeCarGroup();
	//this.residence=new abeResidence();
	this.populate=populate;
	//this.populateStep1=populateStep1;
	//this.enableSearchButton=enableSearchButton;
	//this.disableSearchButton=disableSearchButton;
	function populate(){
		//sdfgh
		
		this.date.populate();
		//this.time.populate();
		initCalendar();
		constructCalendar();
		
		if(cvpSC.Step2){
			cvpSC.loading.loadBar("SearchAvailability");
			cvpID.display("STEP1List","none");
		
			with(this.request){
				init();
				setMessageName("HotelValuedAvailRQ");
				setXmlns("http://ronda-hoteles.central-reservas.net/webservice/xs");
				setXmlns_xsi("http://www.w3.org/2001/XMLSchema-instance");
				setXsi_schemaLocation("http://ronda-hoteles.central-reservas.net/webservice/xs HotelBoardListRQ.xsd");
				setNodeOccupancy();
				//setVersion("1.005");
				
			}
			with(ajax){
				init();
				setCallback(this.receive);
				sendXML(this.request)
			}
		}
		
	};
	function receive(){
		if(ajax.gotResponse()){
			var DOM=new DOLTRONIC.DOM();
			cvpID.display("LOAD","none");
			cvpID.display("STEP1List","inline-block");
			
			var response=ajax.getResponseXML();
			if(!ajax.isSuccess()){
				processFailedAvailability(response);
				return
			}else{
				if(cvpID.tag("ErrorList",response)[0]){
					processFailedAvailability(response);
					return
				}else{
					var habitaciones_xml=cvpID.tag("AvailableRoom",response);
					if(habitaciones_xml.length>0){
						var list=new Array();
						var nodo_servicio=cvpID.tag("ServiceHotel",response)[0];
						var availToken=nodo_servicio.getAttribute( 'availToken' );
						var nodo_contract=cvpID.tag("Contract",nodo_servicio)[0];
						var ContractName=cvpID.tag("Name",nodo_contract)[0].firstChild.data;
						var ContractIncomming=cvpID.tag("IncomingOffice",nodo_contract)[0].getAttribute( 'code' );
						var DateFrom=cvpID.tag("DateFrom",nodo_servicio)[0].getAttribute( 'date' );
						var DateTo=cvpID.tag("DateTo",nodo_servicio)[0].getAttribute( 'date' );
						
						cvpSC.setAvailToken(availToken);
						cvpSC.setContract_name(ContractName);
						cvpSC.setContract_incomming(ContractIncomming);
						cvpSC.setDateFrom(DateFrom);
						cvpSC.setDateTo(DateTo);				
						
						
						
						var roomcount=new Array();
						var adultcount=new Array();
						var childcount=new Array();
						var infantcount=new Array();
						var tipo_habitacion=new Array();
						var SHRUI=new Array();
						var request=new Array();
						var availcount=new Array();
						var board_code=new Array();
						var board_type=new Array();
						var board_shortname=new Array();
						var board_name=new Array();
						var roomtype_code=new Array();
						var roomtype_type=new Array();
						var roomtype_characteristic=new Array();
						var roomtype_name=new Array();
						var price=new Array();
						var auxiliar_hab1= "";
						var auxiliar_hab2= "";
						var auxiliar_hab3= "";
						var auxiliar_hab4= "";
						var auxiliar_hab5= "";
						
						aux_hab = new Array();
						for(var j=new Number(0);j<habitaciones_xml.length;j++){ 
							var node_room= habitaciones_xml[j];
							var node_hoteloccupacy=cvpID.tag("HotelOccupancy",node_room)[0];
							var node_occupacy=cvpID.tag("Occupancy",node_hoteloccupacy)[0];
							
							adultcount_aux=cvpID.tag("AdultCount",node_occupacy)[0].firstChild.data;
							childcount_aux=cvpID.tag("ChildCount",node_occupacy)[0].firstChild.data;
							aux_hab[j] = adultcount_aux+"~"+childcount_aux;
						}
										
						for(z=0;z<j-1;z++){
					      for(p=z+1;p<=j;p++){
							 if(aux_hab[z] == aux_hab[p] && aux_hab[z] != ""){
							     aux_hab[p] = "";
							 }
							}
						}
						
						for(z=0;z<aux_hab.length;z++){
							if(auxiliar_hab1 == "" && aux_hab[z]!= "")
								auxiliar_hab1 = aux_hab[z];
							else  	
							   if(auxiliar_hab2 == "" &&  aux_hab[z]!= "")
								auxiliar_hab2 = aux_hab[z];
							   else
								 if(auxiliar_hab3 == "" &&  aux_hab[z]!= "")
								   auxiliar_hab3 = aux_hab[z];
								 else
								   if(auxiliar_hab4 == "" &&  aux_hab[z]!= "")
								     auxiliar_hab4 = aux_hab[z];
								   else
									   auxiliar_hab5 = aux_hab[z];
						}
						
						for(var j=new Number(0);j<habitaciones_xml.length;j++){
							var node_room=habitaciones_xml[j];
							var node_hoteloccupacy=cvpID.tag("HotelOccupancy",node_room)[0];
							roomcount[j]=new Array();
							roomcount[j][0]=cvpID.tag("RoomCount",node_hoteloccupacy)[0].firstChild.data;
							var node_occupacy=cvpID.tag("Occupancy",node_hoteloccupacy)[0];
							adultcount[j]=new Array();
							childcount[j]=new Array();
		
							tipo_habitacion[j]=new Array();
							adultcount[j][0]=cvpID.tag("AdultCount",node_occupacy)[0].firstChild.data;
							childcount[j][0]=cvpID.tag("ChildCount",node_occupacy)[0].firstChild.data;
							
							ocupa = adultcount[j][0]+"~"+childcount[j][0];
							switch(ocupa){
							  case auxiliar_hab1:
							    tipo_habitacion[j][0]="I";
							  break;
							  case auxiliar_hab2:
							    tipo_habitacion[j][0]="D";
							  break;
							  case auxiliar_hab3:
							     tipo_habitacion[j][0]="T";
							  break;
							  case auxiliar_hab4:
							     tipo_habitacion[j][0]="C";
							  break;
							  case auxiliar_hab5:
							     tipo_habitacion[j][0]="S";
							  break;
							}
							
							var node_hotelroom=cvpID.tag("HotelRoom",node_room)[0];
							SHRUI[j]=new Array();
							SHRUI[j][0]=node_hotelroom.getAttribute( 'SHRUI' );
							request[j]=new Array();
							request[j][0]=node_hotelroom.getAttribute( 'onRequest' );
							if(node_hotelroom.getAttribute( 'availCount' )!=null){
								availcount[j]=new Array();
								availcount[j][0]=node_hotelroom.getAttribute( 'availCount' );
							}else{
								availcount[j]=new Array();
								availcount[j][0]="null";
							}
							board_code[j]=new Array();
							board_type[j]=new Array();
							board_shortname[j]=new Array();
							board_name[j]=new Array();
							board_code[j][0]=cvpID.tag("Board",node_hotelroom)[0].getAttribute( 'code' );
							board_type[j][0]=cvpID.tag("Board",node_hotelroom)[0].getAttribute( 'type' );
							board_shortname[j][0]=cvpID.tag("Board",node_hotelroom)[0].getAttribute( 'shortname' );
							board_name[j][0]=cvpID.tag("Board",node_hotelroom)[0].firstChild.data;
							roomtype_code[j]=new Array();
							roomtype_type[j]=new Array();
							roomtype_characteristic[j]=new Array();
							roomtype_name[j]=new Array();
							roomtype_code[j][0]=cvpID.tag("RoomType",node_hotelroom)[0].getAttribute( 'code' );
							roomtype_type[j][0]=cvpID.tag("RoomType",node_hotelroom)[0].getAttribute( 'type' );
							roomtype_characteristic[j][0]=cvpID.tag("RoomType",node_hotelroom)[0].getAttribute( 'characteristic' );
							roomtype_name[j][0]=cvpID.tag("RoomType",node_hotelroom)[0].firstChild.data;
							var node_price=cvpID.tag("Price",node_hotelroom)[0];
							price[j]=new Array();
							price[j][0]=cvpID.tag("Amount",node_price)[0].firstChild.data;
												
						}
						
						
						var ModuleContentDiv=DOM.cE("div");
						var mTable=DOM.cE("table",{className:"ct-rental-conditions-header", cellSpacing:"0", cellPadding:"0"});
						var mTBody=DOM.cE("tbody");
						
						var mContentTH1=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},cvpSC.language.getLabel("Tabla_Hab"),true);
						var mContentTH2=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},cvpSC.language.getLabel("Tabla_Reg"),true);
						var mContentTH3=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},cvpSC.language.getLabel("Tabla_PHab"),true);
						var mContentTH4=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},cvpSC.language.getLabel("Tabla_Pre"),true);
						
						var mContentTR=DOM.cE('tr');
						mContentTR.appendChild(mContentTH1);
						mContentTR.appendChild(mContentTH2);
						mContentTR.appendChild(mContentTH3);
						mContentTR.appendChild(mContentTH4);
						mTBody.appendChild(mContentTR);
						var m=0;
						var precio_total=0;
						for(var j=0;j<habitaciones_xml.length;j++){
							if(tipo_habitacion[j][0]=="I"){
								
								if(m==0){
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_i_'+j, name:'cvp_hab_i',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0],checked:'checked'});
									precio_total=precio_total+parseFloat(price[j][0]);
									}else{
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_i_'+j, name:'cvp_hab_i',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0]});
								}
								m++;
								var mContentTD1_DIV_0=DOM.cE('div',{className:'ct-rental-conditions-left-columna0'},mContentTD1_input);
								
								var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna1'},roomtype_name[j][0],true);
								var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV_0);
								mContentTD1.appendChild(mContentTD1_DIV);
								
								var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j][0],true);
								var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
								
								var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j][0])/parseInt(roomcount[j][0]))*100)/100)+' € (x'+roomcount[j][0]+')',true);
								var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
								
								var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j][0])*100)/100)+' €',true);
								var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
								
								
								var mContentTR=DOM.cE('tr');
								mContentTR.appendChild(mContentTD1);
								mContentTR.appendChild(mContentTD2);
								mContentTR.appendChild(mContentTD3);
								mContentTR.appendChild(mContentTD4);
								mTBody.appendChild(mContentTR);
								
							}
						}
						m=0;
						for(var j=0;j<habitaciones_xml.length;j++){
							if(tipo_habitacion[j][0]=="D"){
								if(m==0){
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_d_'+j, name:'cvp_hab_d',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0],checked:'true'});
									precio_total=precio_total+parseFloat(price[j][0]);
								}else{
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_d_'+j, name:'cvp_hab_d',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0]});
								}
								m++;
								var mContentTD1_DIV_0=DOM.cE('div',{className:'ct-rental-conditions-left-columna0'},mContentTD1_input);
								
								var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna1'},roomtype_name[j][0],true);
								var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV_0);
								mContentTD1.appendChild(mContentTD1_DIV);
								
								var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j][0],true);
								var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
								
								var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j][0])/parseInt(roomcount[j][0]))*100)/100)+' € (x'+roomcount[j][0]+')',true);
								var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
								
								var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j][0])*100)/100)+' €',true);
								var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
								
								
								var mContentTR=DOM.cE('tr');
								mContentTR.appendChild(mContentTD1);
								mContentTR.appendChild(mContentTD2);
								mContentTR.appendChild(mContentTD3);
								mContentTR.appendChild(mContentTD4);
								mTBody.appendChild(mContentTR);
							}
						}
						m=0;
						for(var j=0;j<habitaciones_xml.length;j++){
							if(tipo_habitacion[j][0]=="T"){
								if(m==0){
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_t_'+j, name:'cvp_hab_t',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0],checked:'true'});
									precio_total=precio_total+parseFloat(price[j][0]);
								}else{
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_t_'+j, name:'cvp_hab_t',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0]});
								}
								m++;
								var mContentTD1_DIV_0=DOM.cE('div',{className:'ct-rental-conditions-left-columna0'},mContentTD1_input);
								
								var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna1'},roomtype_name[j][0],true);
								var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV_0);
								mContentTD1.appendChild(mContentTD1_DIV);
								
								var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j][0],true);
								var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
								
								var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j][0])/parseInt(roomcount[j][0]))*100)/100)+' € (x'+roomcount[j][0]+')',true);
								var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
								
								var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j][0])*100)/100)+' €',true);
								var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
								
								
								var mContentTR=DOM.cE('tr');
								mContentTR.appendChild(mContentTD1);
								mContentTR.appendChild(mContentTD2);
								mContentTR.appendChild(mContentTD3);
								mContentTR.appendChild(mContentTD4);
								mTBody.appendChild(mContentTR);
							}
						}
						m=0;
						for(var j=0;j<habitaciones_xml.length;j++){
							if(tipo_habitacion[j][0]=="C"){
								if(m==0){
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_c_'+j, name:'cvp_hab_c',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0],checked:'true'});
									precio_total=precio_total+parseFloat(price[j][0]);
								}else{
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_c_'+j, name:'cvp_hab_c',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0]});
								}
								m++;
								var mContentTD1_DIV_0=DOM.cE('div',{className:'ct-rental-conditions-left-columna0'},mContentTD1_input);
								
								var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna1'},roomtype_name[j][0],true);
								var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV_0);
								mContentTD1.appendChild(mContentTD1_DIV);
								
								var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j][0],true);
								var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
								
								var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j][0])/parseInt(roomcount[j][0]))*100)/100)+' € (x'+roomcount[j][0]+')',true);
								var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
								
								var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j][0])*100)/100)+' €',true);
								var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
								
								
								var mContentTR=DOM.cE('tr');
								mContentTR.appendChild(mContentTD1);
								mContentTR.appendChild(mContentTD2);
								mContentTR.appendChild(mContentTD3);
								mContentTR.appendChild(mContentTD4);
								mTBody.appendChild(mContentTR);
							}
						}
						m=0;
						for(var j=0;j<habitaciones_xml.length;j++){
							if(tipo_habitacion[j][0]=="Q"){
								if(m==0){
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_q_'+j, name:'cvp_hab_q',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0],checked:'true'});
									precio_total=precio_total+parseFloat(price[j][0]);
								}else{
									var mContentTD1_input=DOM.cE('input_lista_hab',{type:'radio', id:'cvp_hab_q_'+j, name:'cvp_hab_q',value:SHRUI[j][0]+'~'+request[j][0]+'~'+board_code[j][0]+'~'+board_type[j][0]+'~'+board_shortname[j][0]+'~'+board_name[j][0]+'~'+roomtype_code[j][0]+'~'+roomtype_type[j][0]+'~'+roomtype_characteristic[j][0]+'~'+roomtype_name[j][0]+'~'+price[j][0]+'~'+roomcount[j][0]+'~'+adultcount[j][0]+'~'+childcount[j][0]});
								}
								m++;
								var mContentTD1_DIV_0=DOM.cE('div',{className:'ct-rental-conditions-left-columna0'},mContentTD1_input);
								
								var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna1'},roomtype_name[j][0],true);
								var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV_0);
								mContentTD1.appendChild(mContentTD1_DIV);
								
								var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j][0],true);
								var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
								
								var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j][0])/parseInt(roomcount[j][0]))*100)/100)+' € (x'+roomcount[j][0]+')',true);
								var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
								
								var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j][0])*100)/100)+' €',true);
								var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
								
								
								var mContentTR=DOM.cE('tr');
								mContentTR.appendChild(mContentTD1);
								mContentTR.appendChild(mContentTD2);
								mContentTR.appendChild(mContentTD3);
								mContentTR.appendChild(mContentTD4);
								mTBody.appendChild(mContentTR);
							}
						}
						
						
						mTable.appendChild(mTBody);
						
						ModuleContentDiv.appendChild(mTable);
						var saltoTotal= DOM.cE('div',{className:'cvpclear'});
						ModuleContentDiv.appendChild(saltoTotal);
						
						
						
						var boton_input=DOM.cE('input',{id:'cvp_reservarButton',type:'button',value:cvpSC.language.getLabel("BottomReservar")});
						var boton_p=DOM.cE('p',{className:'butn_style1r'},boton_input);
						var boton_div=DOM.cE('div',{className:'cvp_b_searchButtonRight'},boton_p);
						ModuleContentDiv.appendChild(boton_div);
						
						var precioTotal= DOM.cE('div',{id:'cvp_priceAmount', name:'cvp_priceAmount',className:'ct-rental-priceTotal'},cvpSC.language.getLabel("PriceTotal")+': '+(Math.round(parseFloat(precio_total)*100)/100)+' €',true);
						ModuleContentDiv.appendChild(precioTotal);
						
						if(habitaciones_xml.length>0){
							var moduleID=DOM.gE("cvp_listadehabreg");
							DOM.remE(moduleID.childNodes[0]);
							moduleID.appendChild(ModuleContentDiv)
							
							for(var j=0;j<habitaciones_xml.length;j++){
								if(tipo_habitacion[j][0]=="I"){
									eval("cvpID.onClickLineasUnico('"+"hab_i_"+j+"')");
									
								}
								if(tipo_habitacion[j][0]=="D"){
									eval("cvpID.onClickLineasUnico('"+"hab_d_"+j+"')");
								}
								if(tipo_habitacion[j][0]=="T"){
									eval("cvpID.onClickLineasUnico('"+"hab_t_"+j+"')");
								}
								if(tipo_habitacion[j][0]=="C"){
									eval("cvpID.onClickLineasUnico('"+"hab_c_"+j+"')");
								}
								if(tipo_habitacion[j][0]=="Q"){
									eval("cvpID.onClickLineasUnico('"+"hab_q_"+j+"')");
								}
								
							}
							eval("cvpID.onClick('reservarButton')");
							cvpID.display("STEP1List","inline-block");
							//document.getElementById("cvp_hab_i_0").ckecked=true;
							//document.getElementById("cvp_hab_d_0").ckecked="checked";
							//document.getElementById("cvp_hab_t_0").ckecked="checked";
							//document.getElementById("cvp_hab_c_0").ckecked="checked";
							//document.getElementById("cvp_hab_q_0").ckecked="checked";
						}
						
					}else{
						var ModuleContentDiv=DOM.cE('div',{className:'ct-rental-conditions-center-columna1'},cvpSC.language.getLabel("NoDisponibilidad"),true);
						var moduleID=DOM.gE("cvp_listadehabreg");
						DOM.remE(moduleID.childNodes[0]);
						moduleID.appendChild(ModuleContentDiv);
					}
				}
			}
			//alert('asdfsf');
			//document.getElementById("cvp_hab_i_0").ckecked="checked";
			//alert(document.getElementById("cvp_hab_i_0").ckecked);
			//document.getElementById("cvp_hab_d_0").ckecked="checked";
			//document.getElementById("cvp_hab_t_0").ckecked="checked";
			//document.getElementById("cvp_hab_c_0").ckecked="checked";
			//document.getElementById("cvp_hab_q_0").ckecked="checked";
		}
	};
	function processFailedAvailability(response){
		alert(cvpSC.language.getLabel("ErrorBusqueda"));
	}
};

function checkear_primeros_radios(){
	//document.getElementById("cvp_hab_i_0").ckecked=true;
	//document.getElementById("cvp_hab_d_0").ckecked="checked";
	//document.getElementById("cvp_hab_t_0").ckecked="checked";
	//document.getElementById("cvp_hab_c_0").ckecked="checked";
	//document.getElementById("cvp_hab_q_0").ckecked="checked";
}

function cvpSTEP3Container(){
	this.request=new cvpXMLRequest(),ajax=new cvpAJAX();
	this.receive=receive;
	//this.country=new abeCountry();
	//this.pickup=new abePickup();
	//this.dropoff=new abeDropoff();
	//this.date=new cvpDate();
	//this.time=new abeTime();
	//this.currency=new abeCurrency();
	//this.carGroup=new abeCarGroup();
	//this.residence=new abeResidence();
	this.populate=populate;
	//this.populateStep1=populateStep1;
	//this.enableSearchButton=enableSearchButton;
	//this.disableSearchButton=disableSearchButton;
	function populate(){
		//sdfgh
		
		//this.date.populate();
		//this.time.populate();
		//initCalendar();
		//constructCalendar();
		
		//if(cvpSC.Step2){
			cvpID.display("STEP2","none");
			cvpID.display("listadehabreg","none");
			cvpID.display("STEP1List","none");
			//cvpID.display("LOAD","block");
			cvpSC.loading.loadBar("CreatingReservation");
			
		
			with(this.request){
				init();
				setMessageName("ServiceAddRQ");
				setXmlns("http://ronda-hoteles.central-reservas.net/webservice/xs");
				setXmlns_xsi("http://www.w3.org/2001/XMLSchema-instance");
				setXsi_schemaLocation("http://ronda-hoteles.central-reservas.net/webservice/xs ServiceAddRQ.xsd");
				setNodeOccupancy();
				//setVersion("1.005");
				
			}
			with(ajax){
				init();
				setCallback(this.receive);
				sendXML(this.request)
			}
		//}
		
	};
	function receive(){
		if(ajax.gotResponse()){
			var DOM=new DOLTRONIC.DOM();
			
			
			var response=ajax.getResponseXML();
			if(!ajax.isSuccess()){
				//processFailedAvailability(response);
				alert(cvpSC.language.getLabel("ErrorReserva"));
				cvpID.display("LOAD","none");
				cvpID.display("STEP2","block");
				cvpID.display("listadehabreg","block");
				cvpID.display("STEP1List","block");
				return
			}else{
				if(cvpID.tag("ErrorList",response)[0]){
					alert(cvpSC.language.getLabel("ErrorReserva"));
					cvpID.display("LOAD","none");
					cvpID.display("STEP2","block");
					cvpID.display("listadehabreg","block");
					cvpID.display("STEP1List","block");
					return
				}else{
					var nodo_carrito=cvpID.tag("Purchase",response)[0];
					var purchaseToken=nodo_carrito.getAttribute( 'purchaseToken' );
					var nodo_servicio=cvpID.tag("Service",nodo_carrito)[0];
					if(nodo_servicio.getAttribute( 'xsi:type' )=="ServiceHotel"){
						var SPUI=nodo_servicio.getAttribute( 'SPUI' );
						var TotalPrice = cvpID.tag("TotalPrice",nodo_carrito)[0].firstChild.data;
						var TotalChange = cvpID.tag("TotalChange",nodo_carrito)[0].firstChild.data;
						var node_contractlist=cvpID.tag("ContractList",nodo_servicio)[0];
						var node_contract=cvpID.tag("Contract",node_contractlist)[0];
						if(cvpID.tag("CommentList",node_contract)[0]!=null){
							var node_commenlist=cvpID.tag("CommentList",node_contract)[0];
							if(cvpID.tag("Comment",node_commenlist)[0].getAttribute( 'type' )=="CONTRACT")
								var comment_contract=cvpID.tag("Comment",node_commenlist)[0].firstChild.data;
							else
								var comment_contract="";
						}else
							var comment_contract="";
						
						if(cvpID.tag("SupplementList",nodo_servicio)[0]!=null){
							var supplement=new Array();
							var node_supplementlist=cvpID.tag("SupplementList",nodo_servicio)[0];
							var m=0;
							while(cvpID.tag("Price",node_supplementlist)[m]!=null){
								var node_supplement=cvpID.tag("Price",node_supplementlist)[m];
								var supplement_price=cvpID.tag("Amount",node_supplement)[0].firstChild.data;							
								var supplement_description=cvpID.tag("Description",node_supplement)[0].firstChild.data;
								var supplement_unitcount=node_supplement.getAttribute( 'paxCount' );
								supplement[m]=supplement_description+'~'+supplement_price+'~'+supplement_unitcount;
								m++;
							}
							var num_supplement=m;
						}else{
							var supplement="null";
							var num_supplement=0;
						}
						if(cvpID.tag("DiscountList",nodo_servicio)[0]!=null){
							var discount=new Array();
							var node_discountlist=cvpID.tag("DiscountList",nodo_servicio)[0];
							var m=0;
							while(cvpID.tag("Price",node_discountlist)[m]!=null){
								var node_discount=cvpID.tag("Price",node_discountlist)[m];
								var discount_price=cvpID.tag("Amount",node_discount)[0].firstChild.data;							
								var discount_description=cvpID.tag("Description",node_discount)[0].firstChild.data;
								var discount_unitcount=node_discount.getAttribute( 'paxCount' );
								discount[m]=discount_description+'~'+discount_price+'~'+discount_unitcount;
								m++;
							}
							var num_discount=m;
						}else{
							var discount="null";
							var num_discount=0;
						}
						var habitaciones_xml=cvpID.tag("AvailableRoom",nodo_servicio);
						var roomcount=new Array();
						var customerId=new Array();
						var customerAge=new Array();
						var customerRequired= new Array();
						var customerType= new Array();
						var occupacion_A=new Array();
						var board_name=new Array();
						var roomtype_name=new Array();
						var cancelation_amount=new Array();
						var cancelation_datefrom=new Array();
						var cancelation_datefrom_hours=new Array();
						var cancelation_dateto=new Array();
						var cancelation_dateto_hours=new Array();
						var price=new Array();
						for(var j=new Number(0);j<habitaciones_xml.length;j++){ 
							var node_room= habitaciones_xml[j];
							var node_hoteloccupacy=cvpID.tag("HotelOccupancy",node_room)[0];
							roomcount[j]=cvpID.tag("RoomCount",node_hoteloccupacy)[0].firstChild.data;
							var node_occupacy=cvpID.tag("Occupancy",node_hoteloccupacy)[0];
							occupacion_A[j]=cvpID.tag("AdultCount",node_occupacy)[0].firstChild.data;
							var node_guestlist=cvpID.tag("GuestList",node_hoteloccupacy)[0];
							var node_customers=cvpID.tag("Customer",node_guestlist);
							customerId[j]=new Array();
							customerAge[j]=new Array();
							customerRequired[j]=new Array();
							customerType[j]=new Array();
							var num_adulto=0;
							for(var cu=new Number(0);cu<node_customers.length;cu++){ 
								var nodeCustomer=node_customers[cu];
								customerType[j][cu]=nodeCustomer.getAttribute( 'type' );
								if(nodeCustomer.getAttribute( 'type' )=="AD"){
									if((num_adulto%parseInt(occupacion_A[j]))==0)
										customerRequired[j][cu]=true;
									else
										customerRequired[j][cu]=false;
									num_adulto++;
								}else{
									customerRequired[j][cu]=false;
								}
								customerId[j][cu]=cvpID.tag("CustomerId",nodeCustomer)[0].firstChild.data;
								customerAge[j][cu]=cvpID.tag("Age",nodeCustomer)[0].firstChild.data;
							}							
							var node_hotelroom=cvpID.tag("HotelRoom",node_room)[0];
							board_name[j]=cvpID.tag("Board",node_hotelroom)[0].firstChild.data;
							roomtype_name[j]=cvpID.tag("RoomType",node_hotelroom)[0].firstChild.data;
							var node_price=cvpID.tag("Price",node_hotelroom)[0];
							price[j]=cvpID.tag("Amount",node_price)[0].firstChild.data;
							var node_cancelation=cvpID.tag("CancellationPolicy",node_hotelroom)[0];
							var node_cancelationprice=cvpID.tag("Price",node_cancelation)[0];
							cancelation_amount[j]=cvpID.tag("Amount",node_cancelationprice)[0].firstChild.data;
							cancelation_datefrom[j]=cvpID.tag("DateTimeFrom",node_cancelationprice)[0].getAttribute( 'date' );
							if(cvpID.tag("DateTimeFrom",node_cancelationprice)[0].getAttribute( 'time' )!=null)
								cancelation_datefrom_hours[j]=cvpID.tag("DateTimeFrom",node_cancelationprice)[0].getAttribute( 'time' );
							else
								cancelation_datefrom_hours[j]='0000';
							cancelation_dateto[j]=cvpID.tag("DateTimeTo",node_cancelationprice)[0].getAttribute( 'date' );
							if(cvpID.tag("DateTimeTo",node_cancelationprice)[0].getAttribute( 'time' )!=null)
								cancelation_dateto_hours[j]=cvpID.tag("DateTimeTo",node_cancelationprice)[0].getAttribute( 'time' );
							else
								cancelation_dateto_hours[j]='0000';
						}
					}
					cvpSC.setPurchaseToken(purchaseToken);
					cvpSC.setSPUI(SPUI);
					
					var ModuleContentDiv=DOM.cE("div",{className:""});
					var divCabecera=DOM.cE("div",{className:"ct-rental-priceTotal-left"},cvpSC.language.getLabel("carritoReserva"),true);
					ModuleContentDiv.appendChild(divCabecera);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					ModuleContentDiv.appendChild(saltoTotal);
					var mTable=DOM.cE("table",{className:"ct-rental-conditions-header", cellSpacing:"0", cellPadding:"0"});
					var mTBody=DOM.cE("tbody");
					
					var mContentTH1=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},cvpSC.language.getLabel("Tabla_Hab"),true);
					var mContentTH2=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},cvpSC.language.getLabel("Tabla_Reg"),true);
					var mContentTH3=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},cvpSC.language.getLabel("Tabla_PHab"),true);
					var mContentTH4=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},cvpSC.language.getLabel("Tabla_Pre"),true);
					var mContentTH5=DOM.cE('th',{scope:"col",className:'ct-rental-conditions-header ct-rental-conditions-center-columna5'},cvpSC.language.getLabel("Tabla_Cancel"),true);
					
					var mContentTR=DOM.cE('tr');
					mContentTR.appendChild(mContentTH1);
					mContentTR.appendChild(mContentTH2);
					mContentTR.appendChild(mContentTH3);
					mContentTR.appendChild(mContentTH4);
					mContentTR.appendChild(mContentTH5);
					mTBody.appendChild(mContentTR);
					
					for(var j=0;j<habitaciones_xml.length;j++){
						var mContentTD1_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna10'},roomtype_name[j],true);
						var mContentTD1=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna1'},mContentTD1_DIV);
						
						var mContentTD2_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columna2'},board_name[j],true);
						var mContentTD2=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columna2'},mContentTD2_DIV);
						
						var mContentTD3_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna3'},(Math.round((parseFloat(price[j])/parseInt(roomcount[j]))*100)/100)+' € (x'+roomcount[j]+')',true);
						var mContentTD3=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna3'},mContentTD3_DIV);
						
						var mContentTD4_DIV=DOM.cE('div',{className:'ct-rental-conditions-right-columna4'},(Math.round(parseFloat(price[j])*100)/100)+' €',true);
						var mContentTD4=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-right-columna4'},mContentTD4_DIV);
						
						var cancelacion=(cvpSC.language.getLabel("cancelacionHabitacion")).replace('<%hora>',''+cancelation_datefrom_hours[j].substr(0,2)+':'+cancelation_datefrom_hours[j].substr(2,2)+'');
						cancelacion=cancelacion.replace('<%fecha>',''+cancelation_datefrom[j].substr(6,2)+'/'+cancelation_datefrom[j].substr(4,2)+'/'+cancelation_datefrom[j].substr(0,4)+'');
						cancelacion=cancelacion.replace('<%cantidad>',cancelation_amount[j]);
						var mContentTD5_DIV=DOM.cE('div',{className:'ct-rental-conditions-left-columnaTodas'},cancelacion,true);
						var mContentTD5=DOM.cE('td',{className:'ct-rental-conditions-header ct-rental-conditions-left-columnaTodas'},mContentTD5_DIV);
						
						
						var mContentTR=DOM.cE('tr');
						mContentTR.appendChild(mContentTD1);
						mContentTR.appendChild(mContentTD2);
						mContentTR.appendChild(mContentTD3);
						mContentTR.appendChild(mContentTD4);
						mContentTR.appendChild(mContentTD5);
						mTBody.appendChild(mContentTR);
						
					}
					
					mTable.appendChild(mTBody);
					
					ModuleContentDiv.appendChild(mTable);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					ModuleContentDiv.appendChild(saltoTotal);
					
					var precioTotal= DOM.cE('div',{className:'ct-rental-priceTotal-left'},cvpSC.language.getLabel("PriceTotal")+': '+(Math.round(parseFloat(TotalPrice)*100)/100)+' €',true);
					ModuleContentDiv.appendChild(precioTotal);
					
					//var precioTotal= DOM.cE('div',{className:'ct-rental-priceTotal-left'},cvpSC.language.getLabel("PriceChange")+': '+(Math.round(parseFloat(TotalChange)*100)/100)+' €',true);
					//ModuleContentDiv.appendChild(precioTotal);
					
					if(comment_contract!=""){
						var saltoTotal= DOM.cE('div',{className:'cvpclear'});
						ModuleContentDiv.appendChild(saltoTotal);
						var comentarios= DOM.cE('div',{className:'box_moreinfo'},comment_contract,true);
						ModuleContentDiv.appendChild(comentarios);
					}
					
					var moduleID=DOM.gE("cvp_listaHab");
					DOM.remE(moduleID.childNodes[0]);
					moduleID.appendChild(ModuleContentDiv);
					//cvpID.display("listadehabreg","block");
					var capa_prin=cvpID.get("listaHab");
					capa_prin.style.width="765px";
					//var capa_prin=cvpID.get("listadehabreg");
					//capa_prin.style.width="100%";
					
					
					var cabecera_formulario=DOM.cE("h2",{className:"cvpssheader"}, cvpSC.language.getLabel("personalInformationLabel"), true);
					var span_asterisco=DOM.cE("span",{className:"cvpmand_orange"}, cvpSC.language.getLabel("mandatoryFieldsLabel"), true);
					var div_obligatorio= DOM.cE('div',{},span_asterisco);
					
					var ModuleContentDiv=DOM.cE("div",{className:"cvpblock"}, cabecera_formulario, true);
					ModuleContentDiv.appendChild(div_obligatorio);
					
					var cabecera_parte1=DOM.cE("h3",{}, cvpSC.language.getLabel("clientDetailsLabel"), true);
					ModuleContentDiv.appendChild(cabecera_parte1);
					
					var span_nombre=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_nombre=DOM.cE("label",{},span_nombre);
					label_nombre.setAttribute('for',"cvp_firstname");
					label_nombre.appendChild(document.createTextNode(cvpSC.language.getLabel("info_firstNameLabel")));
					var p_nombre=DOM.cE("p",{},label_nombre);
					var input_nombre=DOM.cE("input",{type:"text", id:'cvp_HolderName'});
					input_nombre.style.width="144px";
					input_nombre.style.marginRight="2px";
					p_nombre.appendChild(input_nombre);
					var div1_parte1=DOM.cE("div",{},p_nombre);
					var span_apellido=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_apellido=DOM.cE("label",{},span_apellido);
					label_apellido.setAttribute('for',"cvp_lastname");
					label_apellido.appendChild(document.createTextNode(cvpSC.language.getLabel("info_surnameLabel")));
					var p_apellido=DOM.cE("p",{},label_apellido);
					var input_apellido=DOM.cE("input",{type:"text", id:'cvp_HolderLastName'});
					input_apellido.style.width="288px";
					input_apellido.style.marginRight="2px";
					p_apellido.appendChild(input_apellido);
					div1_parte1.appendChild(p_apellido);
					var span_apellido=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_apellido=DOM.cE("label",{},span_apellido);
					label_apellido.setAttribute('for',"cvp_cifnif");
					label_apellido.appendChild(document.createTextNode(cvpSC.language.getLabel("info_nifcifLabel")));
					var p_apellido=DOM.cE("p",{},label_apellido);
					var input_apellido=DOM.cE("input",{type:"text", id:'cvp_HolderDNI'});
					input_apellido.style.width="108px";
					p_apellido.appendChild(input_apellido);
					div1_parte1.appendChild(p_apellido);
					var fieldset_parte1=DOM.cE("fieldset",{}, div1_parte1);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					fieldset_parte1.appendChild(saltoTotal);

					var span_direccion=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_direccion=DOM.cE("label",{},span_direccion);
					label_direccion.setAttribute('for',"cvp_direccion");
					label_direccion.appendChild(document.createTextNode(cvpSC.language.getLabel("info_AddressLabel")));
					var p_direccion=DOM.cE("p",{},label_direccion);
					var input_direccion=DOM.cE("input",{type:"text", id:'cvp_HolderAddress'});
					input_direccion.style.width="288px";
					input_direccion.style.marginRight="2px";
					p_direccion.appendChild(input_direccion);
					var div2_parte1=DOM.cE("div",{},p_direccion);
					var span_postal=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_postal=DOM.cE("label",{},span_postal);
					label_postal.setAttribute('for',"cvp_postal");
					label_postal.appendChild(document.createTextNode(cvpSC.language.getLabel("info_PostalLabel")));
					var p_postal=DOM.cE("p",{},label_postal);
					var input_postal=DOM.cE("input",{type:"text", id:'cvp_HolderPostal'});
					input_postal.style.width="108px";
					input_postal.style.marginRight="2px";
					p_postal.appendChild(input_postal);
					div2_parte1.appendChild(p_postal);
					var span_poblacion=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_poblacion=DOM.cE("label",{},span_poblacion);
					label_poblacion.setAttribute('for',"cvp_poblacion");
					label_poblacion.appendChild(document.createTextNode(cvpSC.language.getLabel("info_TownLabel")));
					var p_poblacion=DOM.cE("p",{},label_poblacion);
					var input_poblacion=DOM.cE("input",{type:"text", id:'cvp_HolderTown'});
					input_poblacion.style.width="144px";
					input_poblacion.style.marginRight="2px";
					p_poblacion.appendChild(input_poblacion);
					div2_parte1.appendChild(p_poblacion);
					var span_provincia=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_provincia=DOM.cE("label",{},span_provincia);
					label_provincia.setAttribute('for',"cvp_provincia");
					label_provincia.appendChild(document.createTextNode(cvpSC.language.getLabel("info_StateLabel")));
					var p_provincia=DOM.cE("p",{},label_provincia);
					var input_provincia=DOM.cE("input",{type:"text", id:'cvp_HolderState'});
					input_provincia.style.width="144px";
					p_provincia.appendChild(input_provincia);
					div2_parte1.appendChild(p_provincia);
					fieldset_parte1.appendChild(div2_parte1);
					var saltoTotal2= DOM.cE('div',{className:'cvpclear'});
					fieldset_parte1.appendChild(saltoTotal2);
					
					
					
					
					var span_phone=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_phone=DOM.cE("label",{},span_phone);
					label_phone.setAttribute('for',"cvp_phone");
					label_phone.appendChild(document.createTextNode(cvpSC.language.getLabel("info_phoneLabel")));
					var p_phone=DOM.cE("p",{},label_phone);
					var input_phone=DOM.cE("input",{type:"text", id:'cvp_HolderPhone'});
					input_phone.style.width="118px";
					input_phone.style.marginRight="2px";
					p_phone.appendChild(input_phone);
					var div3_parte1=DOM.cE("div",{},p_phone);
					var span_movil=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_movil=DOM.cE("label",{},document.createTextNode(cvpSC.language.getLabel("info_movilLabel")));
					label_movil.setAttribute('for',"cvp_movil");
					//label_movil.appendChild();
					var p_movil=DOM.cE("p",{},label_movil);
					var input_movil=DOM.cE("input",{type:"text", id:'cvp_HolderMovil'});
					input_movil.style.width="118px";
					input_movil.style.marginRight="2px";
					p_movil.appendChild(input_movil);
					div3_parte1.appendChild(p_movil);
					var span_email=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_email=DOM.cE("label",{},span_email);
					label_email.setAttribute('for',"cvp_email");
					label_email.appendChild(document.createTextNode(cvpSC.language.getLabel("info_emailLabel")));
					var p_email=DOM.cE("p",{},label_email);
					var input_email=DOM.cE("input",{type:"text", id:'cvp_HolderEmail'});
					input_email.style.width="303px";
					p_email.appendChild(input_email);
					div3_parte1.appendChild(p_email);
					fieldset_parte1.appendChild(div3_parte1);
					ModuleContentDiv.appendChild(fieldset_parte1);
					
					var cabecera_parte2=DOM.cE("h3",{}, cvpSC.language.getLabel("roomDetailsLabel"), true);
					ModuleContentDiv.appendChild(cabecera_parte2);
					
					var fieldset_parte2=DOM.cE("fieldset",{});
					var num_customer=0;
					var numero_habitacion=0;
					for(var j=0;j<habitaciones_xml.length;j++){
						var labelhabitacion=DOM.cE("label",{},cvpSC.language.getLabel("info_roomLabel")+': '+roomtype_name[j]+' '+board_name[j]);
						labelhabitacion.setAttribute('for',"cvp_countryCode");
						var subdiv1_parte2=DOM.cE("div",{},labelhabitacion);
						var div1_parte2=DOM.cE("div",{},subdiv1_parte2);
						
						for(var cu=new Number(0);cu<customerType[j].length;cu++){
							if(cu>0 && occupacion_A[j]>1 && !customerRequired[j][cu]){
								if(customerRequired[j][cu]){
									var span_nombre=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
									var label_nombre=DOM.cE("label",{className:'sublabel'},span_nombre);
									label_nombre.setAttribute('for',"cvp_firstname");
									label_nombre.appendChild(document.createTextNode(cvpSC.language.getLabel("info_firstNameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu]));
									
								}else{
									var label_nombre=DOM.cE("label",{className:'sublabel'},cvpSC.language.getLabel("info_firstNameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu],true);
									label_nombre.setAttribute('for',"cvp_firstname");
								}
								var p_nombre=DOM.cE("p",{},label_nombre);
								var input_nombre=DOM.cE("input",{type:"text", id:'cvp_HolderName_'+num_customer});
								input_nombre.style.width="144px";
								input_nombre.style.marginRight="2px";
								p_nombre.appendChild(input_nombre);
								div1_parte2_oculto.appendChild(p_nombre);
								if(customerRequired[j][cu]){
									var span_apellido=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
									var label_apellido=DOM.cE("label",{className:'sublabel'},span_apellido);
									label_apellido.setAttribute('for',"cvp_lastname");
									label_apellido.appendChild(document.createTextNode(cvpSC.language.getLabel("info_surnameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu]));
								}else{
									var label_apellido=DOM.cE("label",{className:'sublabel'},cvpSC.language.getLabel("info_surnameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu],true);
									label_apellido.setAttribute('for',"cvp_lastname");
								}								
								var p_apellido=DOM.cE("p",{},label_apellido);
								var input_apellido=DOM.cE("input",{type:"text", id:'cvp_HolderLastName_'+num_customer});
								input_apellido.style.width="288px";
								p_apellido.appendChild(input_apellido);
								div1_parte2_oculto.appendChild(p_apellido);
								var inputidentificador=DOM.cE("input",{type:"hidden", id:'cvp_customerId_'+num_customer, value:customerId[j][cu]});
								var p_identificador=DOM.cE("p",{},inputidentificador);
								div1_parte2_oculto.appendChild(p_identificador);
								var inputedad=DOM.cE("input",{type:"hidden", id:'cvp_customerAge_'+num_customer, value:customerAge[j][cu]});
								var p_edad=DOM.cE("p",{},inputedad);
								div1_parte2_oculto.appendChild(p_edad);
								var inputtype=DOM.cE("input",{type:"hidden", id:'cvp_customerType_'+num_customer, value:customerType[j][cu]});
								var p_type=DOM.cE("p",{},inputtype);
								div1_parte2_oculto.appendChild(p_type);
								var inputtype=DOM.cE("input",{type:"hidden", id:'cvp_customerRequired_'+num_customer, value:customerRequired[j][cu]});
								var p_type=DOM.cE("p",{},inputtype);
								div1_parte2.appendChild(p_type);
								var saltoTotal= DOM.cE('div',{className:'cvpclear'});
								div1_parte2_oculto.appendChild(saltoTotal);
								if(cu==(parseInt(customerType[j].length)-1) && occupacion_A[j]>1 && !customerRequired[j][cu]){
									div1_parte2.appendChild(div1_parte2_oculto);
									var saltoTotal= DOM.cE('div',{className:'cvpclear'});
									div1_parte2.appendChild(saltoTotal);
								}
							}else{
								if(cu>0 && occupacion_A[j]>1 && customerRequired[j][cu]){
									div1_parte2.appendChild(div1_parte2_oculto);
									var saltoTotal= DOM.cE('div',{className:'cvpclear'});
									div1_parte2.appendChild(saltoTotal);
								}
								if(customerRequired[j][cu]){
									var span_nombre=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
									var label_nombre=DOM.cE("label",{className:'sublabel'},span_nombre);
									label_nombre.setAttribute('for',"cvp_firstname");
									label_nombre.appendChild(document.createTextNode(cvpSC.language.getLabel("info_firstNameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu]));
									
								}else{
									var label_nombre=DOM.cE("label",{className:'sublabel'},cvpSC.language.getLabel("info_firstNameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu],true);
									label_nombre.setAttribute('for',"cvp_firstname");
								}
								var p_nombre=DOM.cE("p",{},label_nombre);
								var input_nombre=DOM.cE("input",{type:"text", id:'cvp_HolderName_'+num_customer});
								input_nombre.style.width="144px";
								input_nombre.style.marginRight="2px";
								p_nombre.appendChild(input_nombre);
								div1_parte2.appendChild(p_nombre);
								if(customerRequired[j][cu]){
									var span_apellido=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
									var label_apellido=DOM.cE("label",{className:'sublabel'},span_apellido);
									label_apellido.setAttribute('for',"cvp_lastname");
									label_apellido.appendChild(document.createTextNode(cvpSC.language.getLabel("info_surnameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu]));
								}else{
									var label_apellido=DOM.cE("label",{className:'sublabel'},cvpSC.language.getLabel("info_surnameLabel")+' '+cvpSC.language.getLabel("info_Customer"+customerType[j][cu])+' '+customerId[j][cu],true);
									label_apellido.setAttribute('for',"cvp_lastname");
								}								
								var p_apellido=DOM.cE("p",{},label_apellido);
								var input_apellido=DOM.cE("input",{type:"text", id:'cvp_HolderLastName_'+num_customer});
								input_apellido.style.width="288px";
								p_apellido.appendChild(input_apellido);
								div1_parte2.appendChild(p_apellido);
								var inputidentificador=DOM.cE("input",{type:"hidden", id:'cvp_customerId_'+num_customer, value:customerId[j][cu]});
								var p_identificador=DOM.cE("p",{},inputidentificador);
								div1_parte2.appendChild(p_identificador);
								var inputedad=DOM.cE("input",{type:"hidden", id:'cvp_customerAge_'+num_customer, value:customerAge[j][cu]});
								var p_edad=DOM.cE("p",{},inputedad);
								div1_parte2.appendChild(p_edad);
								var inputtype=DOM.cE("input",{type:"hidden", id:'cvp_customerType_'+num_customer, value:customerType[j][cu]});
								var p_type=DOM.cE("p",{},inputtype);
								div1_parte2.appendChild(p_type);
								var inputtype=DOM.cE("input",{type:"hidden", id:'cvp_customerRequired_'+num_customer, value:customerRequired[j][cu]});
								var p_type=DOM.cE("p",{},inputtype);
								div1_parte2.appendChild(p_type);
								
								if(customerType[j].length>1 && occupacion_A[j]>1 && customerRequired[j][cu]){
									var p_mostrar=DOM.cE("a",{id:'cvp_MostrarPasajerosButtom_'+numero_habitacion,className:'mostrarPasajeros'},cvpSC.language.getLabel("info_botonMostrar"));
									p_mostrar.href="javascript:cvpSC.events.mostarOcupantes('"+numero_habitacion+"')";
									div1_parte2.appendChild(p_mostrar);
									if(customerType[j].length>1){
										var div1_parte2_oculto=DOM.cE("div",{id:'cvp_customerHidden'+numero_habitacion});
										div1_parte2_oculto.style.display="none";
									}
									numero_habitacion++;
								}
								
								var saltoTotal= DOM.cE('div',{className:'cvpclear'});
								div1_parte2.appendChild(saltoTotal);
							}
							
							
							num_customer++;
							
						}
						
						fieldset_parte2.appendChild(div1_parte2);
						var saltoTotal= DOM.cE('div',{className:'cvpclear'});
						fieldset_parte2.appendChild(saltoTotal);
					}
					var inputtype=DOM.cE("input",{type:"hidden", id:'cvp_customerNumbers', value:num_customer});
					var p_type=DOM.cE("p",{},inputtype);
					fieldset_parte2.appendChild(p_type);
					ModuleContentDiv.appendChild(fieldset_parte2);
					
					var cabecera_parte3=DOM.cE("h3",{}, cvpSC.language.getLabel("paymentDetailsLabel"), true);
					ModuleContentDiv.appendChild(cabecera_parte3);
					
					var comentarios= DOM.cE('div',{className:'box_moreinfo'},cvpSC.language.getLabel("creditCardPayments"),true);
					var fieldset_parte3=DOM.cE("fieldset",{},comentarios);
					
					var span_nombre=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_nombre=DOM.cE("label",{},span_nombre);
					label_nombre.setAttribute('for',"cvp_cc_firstname");
					label_nombre.appendChild(document.createTextNode(cvpSC.language.getLabel("creditCardHolderLabel")));
					var p_nombre=DOM.cE("p",{},label_nombre);
					var input_nombre=DOM.cE("input",{type:"text", id:'cvp_CreditCardName'});
					input_nombre.style.width="434px";
					p_nombre.appendChild(input_nombre);
					var div1_parte1=DOM.cE("div",{},p_nombre);
					fieldset_parte3.appendChild(div1_parte1);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					fieldset_parte3.appendChild(saltoTotal);
					var span_tipo=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_tipo=DOM.cE("label",{},span_tipo);
					label_tipo.setAttribute('for',"cvp_card_type");
					label_tipo.appendChild(document.createTextNode(cvpSC.language.getLabel("creditCardTypeLabel")));
					var p_tipo=DOM.cE("p",{},label_tipo);
					var input_tipo=DOM.cE("select",{id:'cvp_CreditCardType'});
					var option=DOM.cE("option",{value:'VI'},cvpSC.language.getLabel("CreditCardVISA"),true);
					input_tipo.appendChild(option);
					var option=DOM.cE("option",{value:'CA'},cvpSC.language.getLabel("CreditCardMasterCard"),true);
					input_tipo.appendChild(option);
					var option=DOM.cE("option",{value:'AX'},cvpSC.language.getLabel("CreditCardAmericanExpress"),true);
					input_tipo.appendChild(option);
					input_tipo.style.width="140px";
					input_tipo.style.marginRight="2px";
					p_tipo.appendChild(input_tipo);
					var div2_parte1=DOM.cE("div",{},p_tipo);
					var span_number=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_number=DOM.cE("label",{},span_number);
					label_number.setAttribute('for',"cvp_card_number");
					label_number.appendChild(document.createTextNode(cvpSC.language.getLabel("creditCardNumberLabel")));
					var p_number=DOM.cE("p",{},label_number);
					var input_number=DOM.cE("input",{type:"text", id:'cvp_CreditCardNumber'});
					input_number.style.width="292px";
					p_number.appendChild(input_number);
					div2_parte1.appendChild(p_number);
					fieldset_parte3.appendChild(div2_parte1);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					fieldset_parte3.appendChild(saltoTotal);
					var span_expirar=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_expirar=DOM.cE("label",{},span_expirar);
					label_expirar.setAttribute('for',"cvp_expiry_month");
					label_expirar.appendChild(document.createTextNode(cvpSC.language.getLabel("creditCardExpiryLabel")));
					var p_expirar=DOM.cE("p",{},label_expirar);
					var today_EXPIRED=new Date();
					var monthNow_EXPIRED=today_EXPIRED.getMonth();
					var yearNow_EXPIRED=today_EXPIRED.getYear();
					var input_expirar_m=DOM.cE("select",{id:'cvp_CreditCardExpiryMonth'});
					for(var m=1;m<=12;m++){
						if(m<10){
							var valor_m="0"+m;
						}else{
							var valor_m=m;
						}
						if((m-1)==monthNow_EXPIRED){
							var option=DOM.cE("option",{value:valor_m, selected:"true"},cvpSC.language.getLabel("MonthShort"+m),true);
						}else
							var option=DOM.cE("option",{value:valor_m},cvpSC.language.getLabel("MonthShort"+m),true);
						input_expirar_m.appendChild(option);
					}
					input_expirar_m.style.width="62px";
					input_expirar_m.style.marginRight="2px";
					p_expirar.appendChild(input_expirar_m);
					var input_expirar_y=DOM.cE("select",{id:'cvp_CreditCardExpiryYear'});
					
					for(var y=parseInt(yearNow);y<=parseInt(yearNow)+8;y++){
						var valor_y=y-2000;
						if(valor_y<10)
							valor_y="0"+valor_y;
						if(y==yearNow)
							var option=DOM.cE("option",{value:valor_y, selected:"true"},''+y+'',true);
						else
							var option=DOM.cE("option",{value:valor_y},''+y+'',true);
						input_expirar_y.appendChild(option);
					}
					input_expirar_y.style.width="82px";
					input_expirar_y.style.marginRight="2px";
					p_expirar.appendChild(input_expirar_y);
					var div3_parte1=DOM.cE("div",{},p_expirar);
					var span_cvv=DOM.cE("span",{className:"cvpmand_orange"},'*',true);
					var label_cvv=DOM.cE("label",{},span_cvv);
					label_cvv.setAttribute('for',"cvp_card_cvn");
					label_cvv.appendChild(document.createTextNode(cvpSC.language.getLabel("creditCardVerificationLabel")));
					var p_cvv=DOM.cE("p",{},label_cvv);
					var input_cvv=DOM.cE("input",{type:"text", id:'cvp_CreditCardCVV'});
					input_cvv.style.width="286px";
					p_cvv.appendChild(input_cvv);
					div3_parte1.appendChild(p_cvv);
					
					fieldset_parte3.appendChild(div3_parte1);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'});
					fieldset_parte3.appendChild(saltoTotal);
					
					ModuleContentDiv.appendChild(fieldset_parte3);
					
					var saltoTotal= DOM.cE('div',{className:'cvpclear'},' ',true);
					var fieldset_parte4=DOM.cE("fieldset",{},saltoTotal);
					
					
					var span_parte4=DOM.cE("span",{},cvpSC.language.getLabel("confirmButton"),true);
					var a_parte4=DOM.cE("a",{id:'cvp_confirmButton'},span_parte4);
					//a_parte4.setAttribute('onclick','cvp_onClick_confirmButton();');
					var p_parte4=DOM.cE("p",{className:'butn_style1'},a_parte4);
					var div1_parte4=DOM.cE("div",{},p_parte4);
					div1_parte4.style.margin="5px 0px 5px 0px";
					fieldset_parte4.appendChild(div1_parte4);
					var saltoTotal= DOM.cE('div',{className:'cvpclear'},' ',true);
					fieldset_parte4.appendChild(saltoTotal);
					ModuleContentDiv.appendChild(fieldset_parte4);
					
					
					var moduleID=DOM.gE("cvp_STEP1List");
					DOM.remE(moduleID.childNodes[2]);
					DOM.remE("cvp_powered");
					
					var ModuleContentDivGEN=DOM.cE("div",{id:"cvp_STEP3"}, ModuleContentDiv, true);
					ModuleContentDivGEN.style.marginTop="5px";
					moduleID.appendChild(ModuleContentDivGEN);
					
					var div_p=DOM.cE("p");
					var ModuleContentDiv=DOM.cE("div",{className:"box_bgradient"},div_p);
					moduleID.appendChild(ModuleContentDiv);
					
					var ModuleContentDiv=DOM.cE("div",{id:"cvp_powered"});
					moduleID.appendChild(ModuleContentDiv);
					
					cvpID.display("LOAD","none");
					cvpID.display("STEP3","block");
					cvpID.display("STEP1List","block");
					eval("cvpID.onClick('confirmButton')");
				}
				
				
				
			}
		}
	};
	
};

function cvpSTEP4Container(){
	this.request=new cvpXMLRequest(),ajax=new cvpAJAX();
	this.receive=receive;
	//this.country=new abeCountry();
	//this.pickup=new abePickup();
	//this.dropoff=new abeDropoff();
	//this.date=new cvpDate();
	//this.time=new abeTime();
	//this.currency=new abeCurrency();
	//this.carGroup=new abeCarGroup();
	//this.residence=new abeResidence();
	this.populate=populate;
	//this.populateStep1=populateStep1;
	//this.enableSearchButton=enableSearchButton;
	//this.disableSearchButton=disableSearchButton;
	function populate(){
			
		cvpID.display("STEP1List","none");
		cvpSC.loading.loadBar("ConfirmationReservation");
		
		with(this.request){
			init();
			setMessageName("PurchaseConfirmRQ");
			setXmlns("http://ronda-hoteles.central-reservas.net/webservice/xs");
			setXmlns_xsi("http://www.w3.org/2001/XMLSchema-instance");
			setXsi_schemaLocation("http://ronda-hoteles.central-reservas.net/webservice/xs PurchaseConfirmRQ.xsd");
			
			//setNodeOccupancy();
			//setVersion("1.005");
			
		}
		with(ajax){
			init();
			setCallback(this.receive);
			sendXML(this.request);
		}
	};
	function receive(){
		if(ajax.gotResponse()){
	
			var DOM=new DOLTRONIC.DOM();
			
			var response=ajax.getResponseXML();
			if(!ajax.isSuccess()){
				//processFailedAvailability(response);
				alert(cvpSC.language.getLabel("ErrorReserva"));
				cvpID.display("STEP1List","block");
				cvpID.display("LOAD","none");
				return
			}else{
				if(cvpID.tag("ErrorList",response)[0]){
					alert(cvpSC.language.getLabel("ErrorReserva"));
					cvpID.display("STEP1List","block");
					cvpID.display("LOAD","none");
					return
				}else{
					var nodo_carrito=cvpID.tag("Purchase",response)[0];
					var nodo_reference=cvpID.tag("Reference",nodo_carrito)[0];
					var FileNumber=cvpID.tag("FileNumber",nodo_reference)[0].firstChild.data;
					var IncomingOffice=cvpID.tag("IncomingOffice",nodo_reference)[0].getAttribute( 'code' );
					var nodo_servicio=cvpID.tag("Service",nodo_carrito)[0];
					if(nodo_servicio.getAttribute( 'xsi:type' )=="ServiceHotel"){
						var nodo_hotelInfo=cvpID.tag("HotelInfo",nodo_servicio)[0];
						var nombre_hotel=cvpID.tag("Name",nodo_hotelInfo)[0].firstChild.data;
						var bono = cvpID.tag("BonoHotel",nodo_servicio)[0].firstChild.data;
					}
					
					var moduleID=DOM.gE("cvp_STEP1List");
					DOM.remE(moduleID.childNodes[1]);
					
					var capa_prin=cvpID.get("STEP3");
					capa_prin.style.marginTop="0px";
					cvpID.inner("STEP3",'<div class="cvpblock"><div id="cvp_bonoHotel" name="cvp_bonoHotel" style="width:590px;" ></div><div class="cvpclear"></div><div class="cvpclear"></div></div>');
					var iframeBono=cvpID.get("bonoHotel");
					bono="<b>"+cvpSC.language.getLabel("inicio_fin_reserva")+IncomingOffice+"-"+FileNumber+cvpSC.language.getLabel("medio_fin_reserva")+nombre_hotel+".<br></b>";
					//bono="<b>Su reserva se ha realizado con exito. Su localizador es: "+IncomingOffice+"-"+FileNumber+".<br>Una vez haya sido comprobada la tarjeta de credito se le enviará via email el bono de la reserva.<br>Gracias por confiar en Hotel "+nombre_hotel+".<br></b>"
					iframeBono.innerHTML=bono;
					//window.frames.cvp_bonoHotel.document.clear();
					//window.frames.cvp_bonoHotel.document.open();
					//window.frames.cvp_bonoHotel.document.writeln(bono);
					//window.frames.cvp_bonoHotel.document.close();
					cvpID.display("STEP1List","block");
					cvpID.display("LOAD","none");
					//eval("cvpID.onClick('printButton')");
				}
			}
		}
	};
	
	
};

function cvpDate(){
	var option=cvpOption;
	this.monthShort=new Array(cvpSC.translate("MonthJanuaryShort"),cvpSC.translate("MonthFebruaryShort"),cvpSC.translate("MonthMarchShort"),cvpSC.translate("MonthAprilShort"),cvpSC.translate("MonthMayShort"),cvpSC.translate("MonthJuneShort"),cvpSC.translate("MonthJulyShort"),cvpSC.translate("MonthAugustShort"),cvpSC.translate("MonthSeptemberShort"),cvpSC.translate("MonthOctoberShort"),cvpSC.translate("MonthNovemberShort"),cvpSC.translate("MonthDecemberShort"));
	this.monthName=new Array(cvpSC.translate("MonthJanuary"),cvpSC.translate("MonthFebruary"),cvpSC.translate("MonthMarch"),cvpSC.translate("MonthApril"),cvpSC.translate("MonthMay"),cvpSC.translate("MonthJune"),cvpSC.translate("MonthJuly"),cvpSC.translate("MonthAugust"),cvpSC.translate("MonthSeptember"),cvpSC.translate("MonthOctober"),cvpSC.translate("MonthNovember"),cvpSC.translate("MonthDecember"));
	this.daysShort=new Array(cvpSC.translate("DayMondayShort"),cvpSC.translate("DayTuesdayShort"),cvpSC.translate("DayWednesdayShort"),cvpSC.translate("DayThursdayShort"),cvpSC.translate("DayFridayShort"),cvpSC.translate("DaySaturdayShort"),cvpSC.translate("DaySundayShort"));
	this.daysLong=new Array(cvpSC.translate("DayMonday"),cvpSC.translate("DayTuesday"),cvpSC.translate("DayWednesday"),cvpSC.translate("DayThursday"),cvpSC.translate("DayFriday"),cvpSC.translate("DaySaturday"),cvpSC.translate("DaySunday"));
	var startAt=0;startAt.valueOf()?null:this.daysShort.unshift(this.daysShort.pop());
	startAt.valueOf()?null:this.daysLong.unshift(this.daysLong.pop());
	this.populate=populate;
	function populate(){
		var today=new Date(),pickup=new Date(),dropoff=new Date(),_array=new Array("datePickup_","dateDropoff_"),suffix=new Array("y","m","d"),val=new Number(today.getFullYear()),index=new Number();
		pickup.setDate(today.getDate());
		dropoff.setDate(today.getDate()+1);
		for(var i=new Number(0);i<_array.length;i++){
			option.list(_array[i]+suffix[0],val,val+1,i.valueOf()?cvpSC.returnYear:cvpSC.pickupYear)
		}
		for(var j=new Number(0);j<this.monthShort.length;j++){
			val=this.monthShort[j];
			for(i=0;i<_array.length;i++){
				option.add(_array[i]+suffix[1],val,j,(i?cvpSC.returnMonth?cvpSC.returnMonth:dropoff.getMonth():cvpSC.pickupMonth?cvpSC.pickupMonth:pickup.getMonth())==j)
			}
		}
		for(i=0;i<_array.length;i++){
			option.list(_array[i]+suffix[2],1,31,i?cvpSC.returnDate?cvpSC.returnDate:dropoff.getDate():cvpSC.pickupDate?cvpSC.pickupDate:pickup.getDate())
		}
		for(j=0;j<suffix.length;j++){
			for(i=0;i<_array.length;i++){
				cvpID.enable(_array[i]+suffix[j])
			}
		}
		cvpID.enable("calendarPickupButton");
		cvpID.enable("calendarDropoffButton")
	}
};

function cvpValidate(){
	this.alphaID=alphaID;
	this.alphaNumericID=alphaNumericID;
	this.alpha=alpha;
	this.numeric=numeric;
	this.alphaNumeric=alphaNumeric;
	this.removeSpace=remSpace;
	this.spaceBefore=spaceBefore;
	this.spaceAfter=spaceAfter;
	this.email=email;
	this.cardLUHN=cardLUHN;
	function alphaID(id){
		return id.search(/^[a-z]{2}$/i)<0?false:true
	};
	function alphaNumericID(id){
		return id.search(/^([a-z]|\d){2}$/i)<0?false:true
	};
	function alpha(val,space){
		return val.search(space?/[^a-z\s]/i :/[^a-z]/i)<0?true:false
	};
	function numeric(val){
		return val.search(/\D/)<0?true:false
	};
	function alphaNumeric(val){
		return val.search(/\W/)<0?true:false
	};
	function remSpace(val){
		return val.replace(/\s+/g,"")
	};
	function spaceBefore(val){
		return val.search(/\b/)
	};
	function spaceAfter(val){
		var pos=val.search(/\s*\s$/);
		return pos<0?val.length:pos
	};
	function email(val){
		if(!val.length){
			alert(cvpSC.translate("EnterEmailMsg"));
			return false
		}else{
			if(val.length<5||val.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/i)<0){
				alert(cvpSC.translate("EnterValidEmailMsg"));
				return false
			}else{
				return true
			}
		}
	};
	function cardLUHN(cardNumber){
		if(cardNumber.length){
			var clen=new Array(cardNumber.length),n=0,sum=0;
			for(n=0;n<cardNumber.length;++n){
				clen[n]=parseInt(cardNumber.charAt(n))
			}
			for(n=clen.length-2;n>=0;n-=2){
				clen[n]*=2;
				if(clen[n]>9){
					clen[n]-=9
				}
			}
			for(n=0;n<clen.length;++n){
				sum+=clen[n]
			}
			return sum%10==0?true:false
		}else{
			return false
		}
	}
};

function CR_OTA_Engine(_ID_){
	cvpSC=this;
	this.displayID=_ID_;
	this.Step2URL="";
	this.clientID=null;
	this.DestinationCod=null;
	this.Step2=false;
	this.events=null;
	this.echoToken=null;
	this.sessionID=null;
	//this.DefaultLanguage="ES";
	this.languageID="CAS";
	this.Template="";
	this.url="./include/otaproxy2.php";
	this.srcURL="http://ronda-hoteles.central-reservas.net/cvp/";
	this.errorReportURL="";
	this.templateColor="blue";
	this.num_habitaciones=1;
	this.adulto_hab=new Array('0','0','0','0','0');
	this.ninio_hab=new Array('0','0','0','0','0');
	this.edades_ninios=new Array('','','','','');
	this.availToken="";
	this.Contract_name="";
	this.Contract_incomming="";
	this.DateFrom="";
	this.DateTo="";
	this.purchaseToken="";
	this.SPUI="";
	this.validate=new cvpValidate();
	
	
	initProtos();
	this.setEchoToken=setechoToken;
	this.isStep2=isStep2;
	this.setStep2=setStep2;
	this.setStep2URL=setStep2URL;
	this.getStep2URL=getStep2URL;
	this.setURL=setURL;
	this.setClientID=setClientID;
	this.getClientID=getClientID;
	this.setDestinationCode=setDestinationCode;
	this.getDestinationCode=getDestinationCode;
	this.setDefaultLanguage=setDefaultLanguage;
	this.setTemplate=setTemplate;
	this.getTemplate=getTemplate;
	this.displayCR=displayBookEngine;
	this.setErrorReportUrl=setErrorReport;
	this.errorReport=errorReport;
	this.translate=translate;
	this.debug=debug;
	this.generate=generate;
	this.cacheIcons=cacheIcons;
	this.setTemplateColor=setTemplateColor;
	this.parseURL=parseURL;
	this.parseTopURL=parseTopURL;
	this.setPickupDate=setPickupDate;
	this.setReturnDate=setReturnDate;
	this.getPickupDate=getPickupDate;
	this.getReturnDate=getReturnDate;
	this.setNumeroHabitaciones=setNumeroHabitaciones;
	this.setAdultoHabitaciones=setAdultoHabitaciones;
	this.setNinioHabitaciones=setNinioHabitaciones;
	this.setAvailToken=setAvailToken;
	this.setContract_name=setContract_name;
	this.setContract_incomming=setContract_incomming;
	this.setDateFrom=setDateFrom;
	this.setDateTo=setDateTo;
	this.setEdadesHabitacion=setEdadesHabitacion;
	this.setPurchaseToken=setPurchaseToken;
	this.setSPUI=setSPUI;
	
	function setSPUI(valor){
		this.SPUI=String(valor);
	}
	
	function setPurchaseToken(valor){
		this.purchaseToken=String(valor);
	}
	
	function setContract_name(valor){
		this.Contract_name=String(valor);
	}
	
	function setContract_incomming(valor){
		this.Contract_incomming=String(valor);
	}
	
	function setDateFrom(valor){
		this.DateFrom=String(valor);
	}
	
	function setDateTo(valor){
		this.DateTo=String(valor);
	}
	
	function setAvailToken(valor){
		this.availToken=String(valor);
	}
	
	function setNumeroHabitaciones(valor){
		this.num_habitaciones=Number(valor);
	}
	
	function setAdultoHabitaciones(orden,valor){
		this.adulto_hab[orden]=Number(valor);
	}
	function setNinioHabitaciones(orden,valor){
		this.ninio_hab[orden]=Number(valor);
	}
	
	function setEdadesHabitacion(orden,valor){
		this.edades_ninios[orden]=String(valor);
	}
	
	function setechoToken(valor){
		this.echoToken=String(valor);
	}
	
	function setTemplateColor(id){
		this.templateColor=String(id);
		//this.tooltipOptions({style_name:id});
		//this.popupwindowOptions({style_name:id})};
	}
	
	function setStep2(){
		this.Step2=true
	};
	
	function isStep2(){
		return this.Step2;
	};
	
	function initProtos(){
		String.prototype.toPrice=Number.prototype.toPrice=function(){return Number(this).toFixed(2)};
		String.prototype.zero=Number.prototype.zero=function(){return Number(this)<10?"0"+this:this.toString()};
		String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};
		Number.prototype.toPX=function(){return this+"px"};
		
	};
	
	function cacheIcons(){
		var index;
		this.img=new Array("conditions","airCondition","automatic","diesel","passengers","baggage","doors","GPS","emailQuote","bar","closeOver","noimage","loadimage");
		for(var i=new Number(0);i<this.img.length;i++){
			index=this.img[i];
			this.img[index]=new Image();
			this.img[index].src=this.srcURL+"files/template/image/"+this.template+"/"+index+".gif";
			i<9?this.language.html[index+"Icon"]=this.img[index].src:null
			//this.language.html[index+"Icon"]=this.img[index].src
		}
		this.img.length=0
	};
	
	function debug(){
		delete this.debug
	};
	
	function translate(id){
		return this.language.getLabel(id)
	};
	
	function setErrorReport(url){
		this.errorReportURL=new String(url);
		delete this.setErrorReportURL
	};
	
	function errorReport(msg,type,desc){
		this.errorReportURL?cvpID.get("errorReport").src=this.errorReportURL+"?"+"msg="+msg+"&"+"type="+type+"&"+"desc="+desc+"&"+"IP="+this.clientIP+"&"+"clientID="+this.clientID+"&"+"target="+this.target+"&"+"host="+window.location.hostname:null
	};
	
	function initProtos(){
		String.prototype.toPrice=Number.prototype.toPrice=function(){return Number(this).toFixed(2)};
		String.prototype.zero=Number.prototype.zero=function(){return Number(this)<10?"0"+this:this.toString()};
		String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};
		Number.prototype.toPX=function(){return this+"px"}
	};
	
	function setStep2URL(url){
		this.step2URL=new String(url);
		delete this.setStep2URL
	};
	
	function getStep2URL(url){
		return this.step2URL;
	};
	
	function setURL(url){
		this.url=new String(url);
		delete this.setURL
	};
	
	function setClientID(id){
		isFinite(id)?this.clientID=new Number(Number(id)):alert(err+"client ID = "+id)
		isFinite(id)?this.template=this.clientID:alert(err+"client ID = "+id)
	};
	
	function getClientID(id){
		return isFinite(this.clientID)?this.clientID:null;
	};
	
	function setDestinationCode(code_dest){
		this.DestinationCod=new String(code_dest);
		delete this.setDestinationCode
	};
	
	function getDestinationCode(id){
		return this.DestinationCod;
	};
	
	function setDefaultLanguage(id){
		switch(id){
			case "CAS": this.languageID=id.toUpperCase();
						break;
			case "ENG": this.languageID=id.toUpperCase();
						break;
			case "FRA": this.languageID=id.toUpperCase();
						break;
			case "ALE": this.languageID=id.toUpperCase();
						break;
			default: this.languageID=null;
		}
	};
	
	function setTemplate(file){
		this.template=this.clientID
	};
	
	function getTemplate(){
		return this.template;
	};
	
	function setPickupDate(dd,mm,yy){
		dd?isFinite(dd)?this.pickupDate=Number(dd):alert(err+"pickup date = "+dd):null;
		mm||mm==0?isFinite(mm)?this.pickupMonth=mm:alert(err+"pickup month = "+mm):null;
		yy?isFinite(yy)?this.pickupYear=Number(yy):alert(err+"pickup year = "+yy):null
	};
	
	function setReturnDate(dd,mm,yy){
		dd?isFinite(dd)?this.returnDate=Number(dd):alert(err+"return date = "+dd):null;
		mm||mm==0?isFinite(mm)?this.returnMonth=Number(mm):alert(err+"return month = "+mm):null;
		yy?isFinite(yy)?this.returnYear=Number(yy):alert(err+"return year = "+yy):null
	};
	function getPickupDate(){
		var date=new Date(this.pickupYear,this.pickupMonth,this.pickupDate);
		date.setHours(this.pickupHour);
		date.setMinutes(this.pickupMinute);
		return date
	};
	function getReturnDate(){
		var date=new Date(this.returnYear,this.returnMonth,this.returnDate);
		date.setHours(this.returnHour);
		date.setMinutes(this.returnMinute);
		return date
	};
	function generate(html){
		
		cvpID.inner(this.displayID,html);
		var id=new Array("datePickup_d","datePickup_m","datePickup_y","dateDropoff_d","dateDropoff_m","dateDropoff_y","calendarPickupButton","calendarDropoffButton","timePickup_h","timePickup_m","timeDropoff_h","timeDropoff_m","driverAge","currencyList","carGroupList","residenceList","searchButton"),index;
		this.step1Container=new cvpSTEP1Container();
		this.events=new cvpEvent();
		this.step1Container.populate();
		this.events.set();
		//this.cacheIcons();
		try{
			cvpID.get("qtrax").style.display="table"
		}catch(e){
			cvpID.gecko=true
		}
		
		if(cvpSC.Step2){
			cvpID.display("STEP2","inline-block");
			cvpID.setValue("num_hab",cvpSC.num_habitaciones);
			for(var ord=1;ord<=cvpSC.num_habitaciones;ord++)
				cvpID.setValue("adulto"+ord,cvpSC.adulto_hab[ord]);
			for(var ord=1;ord<=cvpSC.num_habitaciones;ord++)
				cvpID.setValue("nino"+ord,cvpSC.ninio_hab[ord]);
			for(var ord=1;ord<=cvpSC.num_habitaciones;ord++){
				var edades_aux=(cvpSC.edades_ninios[ord]).replace(/%2C/g,',');;
				cvpID.setValue("edades_hab"+ord,edades_aux);
				if(parseInt(cvpSC.ninio_hab[ord])>0){
					var contenido="<input type=\"button\" style=\"background-color:#FFFFFF; border:0 solid #FFFFFF; color:#777777; font-size:10px; width:74px;\" id=\"cvp_div_ages"+ord+"Button\" value='Edades(";
					var edades_aux2=edades_aux.split(',');
					for(var nn=0; nn<edades_aux2.length; nn++){
						if(nn==0){
							contenido+=edades_aux2[nn];
						}else{
							if(nn==1)
								contenido+=","+edades_aux2[nn];
							if(nn==2)
								contenido+=",...";
						}
					}
					contenido+=")'/>";
					document.getElementById("cvp_div_ages"+ord).innerHTML=contenido;
					cvpSC.events.setIndex("div_ages"+ord+"Button");
				}
			}
		}else{
			cvpID.display("STEP1","block");
		}
		var num_hab=cvpID.getValue("num_hab");
		for(var i=1;i<=num_hab;i++){
			cvpID.display("d_habitacion"+i,"block");
		}
		//sfsda
		/*if(abeSC.magiclocation){
			id.push("ASlocation_xml");
			id.push("ASlocation_dropoff_xml")
		}else{
			id.push("countryList");
			id.push("pickupList");
			id.push("dropoffList")
		}
		for(var i=new Number(0);i<id.length;i++){
			index=id[i];
			if(!cvpID.get(index)){
				alert("ERROR: missing core ID = "+cvpID.pre+index+"\n\n"+"CarTrawler AJAX Booking Engine can not work without core element,\n"+"please ensure that all required elements and their IDs exist.");
				break;
				return
			}
		}
		
		this.step1Container=new abeSTEP1Container();
		this.events=new abeEvent();
		this.landingPage||!this.isValidRequest?this.step1Container.populate():null;
		this.events.set();
		this.cacheIcons();
		try{
			abeID.get("qtrax").style.display="table"
		}catch(e){
			abeID.gecko=true
		}
		abeID.display("STEP1","block");
		qtraxLog(1)
		*/
		
	};
	
	function parseURL(){
		var parser=new cvpParser();
		if(parser.parseURL()){
			
			var param=parser.param,val;
			
			for(var i in param){
				val=param[i];
				switch(i){
					case"cvp_buscadorexterno":this.setStep2();break;
					case"clientID":case"clientId":case"client":case"agencia":this.setClientID(val);break;
					case"cvp_datePickup_d":this.setPickupDate(val);break;
					case"cvp_datePickup_m":this.setPickupDate(null,val);break;
					case"cvp_datePickup_y":this.setPickupDate(null,null,val);break;
					case"cvp_dateDropoff_d":this.setReturnDate(val);break;
					case"cvp_dateDropoff_m":this.setReturnDate(null,val);break;
					case"cvp_dateDropoff_y":this.setReturnDate(null,null,val);break;

					case"numero_hab":this.setNumeroHabitaciones(val);break;
					case"adulto_hab1":this.setAdultoHabitaciones(1,val);break;
					case"nino_hab1":this.setNinioHabitaciones(1,val);break;
					case"edades_hab1":this.setEdadesHabitacion(1,val);break;
					case"adulto_hab2":this.setAdultoHabitaciones(2,val);break;
					case"nino_hab2":this.setNinioHabitaciones(2,val);break;
					case"edades_hab2":this.setEdadesHabitacion(2,val);break;
					case"adulto_hab3":this.setAdultoHabitaciones(3,val);break;
					case"nino_hab3":this.setNinioHabitaciones(3,val);break;
					case"edades_hab3":this.setEdadesHabitacion(3,val);break;
					case"adulto_hab4":this.setAdultoHabitaciones(4,val);break;
					case"nino_hab4":this.setNinioHabitaciones(4,val);break;
					case"edades_hab4":this.setEdadesHabitacion(4,val);break;
					case"adulto_hab5":this.setAdultoHabitaciones(5,val);break;
					case"nino_hab5":this.setNinioHabitaciones(5,val);break;
					case"edades_hab5":this.setEdadesHabitacion(5,val);break;
					
					/*case"age":case"driversAge":this.setDriversAge(val);break;
					case"currency":case"currencyID":this.setCurrencyID(val);break;
					case"promoCode":case"promotionCode":this.setPromoCode(val);break;
					case"carGroup":case"carGroupID":this.setCarGroupID(val);break;
					case"residence":case"residency":case"residenceName":this.setResidence(val);break;
					case"residenceID":case"residencyID":case"residencyId":this.setResidence(null,val);break;
					*/
				}
			}
		}
		delete this.parseURL;
		return true
	};
	
	function parseTopURL(){
		window==top?null:delete this.parseTopURL
	};
	
	function displayBookEngine(){
		var g = "";
	    for(var i = 0; i < 25; i++){
	    	g += Math.floor(Math.random() * 0xF).toString(0xF);
	    }
		this.sessionID=g;
		var browser=new DOLTRONIC.BrowserDetect();
		var browserName=browser.getBrowserName();
		var browser_ok=true;
		if(browserName=="Explorer"){
			if(browser.version<6){
				browser_ok=false;
				var DOM=new DOLTRONIC.DOM();
				var cvpDOL_id=DOM.gE("cvp_"+displayID);
				var cvpBrowser=DOM.cE("div",{id:"browserNOK",className:"browserNOK",width:"400px"},"Your Browser version is not supported, you should upgrade to a more uptodate version.");
				cvpDOL_id.appendChild(cvpBrowser)
			}
		}
		if(browser_ok){
			if(cvpUncompressionComplete()){
				var s=new String("standard");
				this.displayID=cvpID.getObj(this.displayID);
				with(cvpID){
					addStyle(s+"/cvp-cr");
					inner(this.displayID,'<div class="cvp_browser">PLEASE WAIT<br><br><br>browser is loading booking engine</div>')
				}
				var ajax=new cvpAJAX();
				if(ajax.createXMLHttp()){
					var temp=new String(this.template);
					cvpID.addStyle(temp+"/cvp-cr-"+this.templateColor);
					cvpID.addStyle("ui/ui.base");
					if(this.parseURL()){
						this.language=new cvpLanguage();
						this.loading=new cvpLoad();	
						this.language.getSource();
					}
					//	
					/*this.cookieIndicator=this.checkCookieExists(document.cookie,'clientCookie');
					if(this.parseURL()){
						abeDeepLink_onload();
						var url=new String(typeof this.setStylesheetURL=="function"?"":this.setStylesheetURL),temp=new String(this.template);
						this.language=new abeLanguage();
						if(url.length>0){
							abeID.addStyle(null,url)
						}else{
							abeID.addStyle(temp+"/"+temp+(this.templateColor?"_"+this.templateColor:""))
						}
						this.setOptionalInsuranceDailyAmount(4.73);
						this.setGBPCurencyRate(1.2722);
						if(!this.Step15){
							this.step1Container=new abeSTEP1Container();
							this.step1Container.carGroup.populateStep2()
						}else{
							this.step15Container=new abeSTEP15Container()
						}
						this.loading=new abeLoad();
						this.language.getSource()
					}
					if(this.cookieIndicator==0){
						this.setClientCookieID('clientCookie',this.clientID,28)
					}*/
				}else{
					cvpID.inner(cvpID.tag("div",this.displayID)[0],'! NOTE !<br />'+'YOUR BROWSER DOES NOT SUPPORT ACTIVEX CONTROLS!<br /><br />'+'Please update browser or enable ActiveX as described <a href="http://www.microsoft.com/windows/ie/ie6/using/howto/security/setup.mspx#ELAAE" target="_blank">here</a>'+'<img id="'+cvpID.pre+'errorReport" />');
					var n=navigator;
					this.errorReport("cvpAJAX.createXMLHttp ()","","could not create AJAX object,\nbrowser: "+n.appName+"\nversion: "+n.appVersion+"\nplatform: "+n.platform+"\nuser agent: "+n.userAgent)
				}
			}
		}
	};
};
var fixedX=-1;
var fixedY=-1;
var startAt=0;
var showToday=1;
var crossobj,crossMonthObj,crossYearObj,monthSelected,yearSelected,dateSelected,omonthSelected,oyearSelected,odateSelected,monthConstructed,yearConstructed,intervalID1,intervalID2,timeoutID1,timeoutID2;
var ie=(document.all&&navigator.userAgent.search("MSIE")!=-1&&!window.opera?true:false);
var today=new Date();
var dateNow=today.getDate();
var monthNow=today.getMonth();
var yearNow=today.getYear();
var dateMin=new Date(2008,1,1);
var dayMin=1;
var monthMin=0;
var yearMin=yearNow;
var dayMax=31;
var monthMax=11;
var yearMax=(yearNow+1);

function hideElement(elmID,overDiv){
	if(ie){
		for(i=0;i<document.all.tags(elmID).length;i++){
			obj=document.all.tags(elmID)[i];
			if(!obj||!obj.offsetParent){
				continue
			}
			objLeft=obj.offsetLeft;
			objTop=obj.offsetTop;
			objParent=obj.offsetParent;
			while(objParent.tagName.toUpperCase()!="BODY"){
				objLeft+=objParent.offsetLeft;
				objTop+=objParent.offsetTop;
				objParent=objParent.offsetParent
			}
			objHeight=obj.offsetHeight;
			objWidth=obj.offsetWidth;
			if((overDiv.offsetLeft+overDiv.offsetWidth)<=objLeft){
				
			}else if((overDiv.offsetTop+overDiv.offsetHeight)<=objTop){
				
			}else if(overDiv.offsetTop>=(objTop+objHeight)){
				
			}else if(overDiv.offsetLeft>=(objLeft+objWidth)){
				
			}else{
				obj.style.visibility="hidden"
			}
		}
	}
};

function showElement(elmID){
	if(ie){
		for(i=0;i<document.all.tags(elmID).length;i++){
			obj=document.all.tags(elmID)[i];
			if(!obj||!obj.offsetParent){
				continue
			}
			obj.style.visibility=""
		}
	}
};

function HolidayRec(d,m,y,desc){
	this.d=d;
	this.m=m;
	this.y=y;
	this.desc=desc
};
var HolidaysCounter=0;
var Holidays=new Array();

function addHoliday(d,m,y,desc){
	Holidays[HolidaysCounter++]=new HolidayRec(d,m,y,desc)
};

document.write("<div onclick='bShow=true' id='calendar' style='z-index:+999; position:absolute; visibility:hidden;'><table width=210px class='cal_outertbl'><tr class='cal_outerrow'><td><table width=208px><tr><td class='cal_navbar'><div id='caption'></div></td><td class=\"cal_close\" onclick=\"hideCalendar();\" title=\"\">&times;</td></tr></table></td></tr><tr><td style='padding:2px' bgcolor=#ffffff><span id='abe_calendarContent'></span></td></tr>");

if(showToday==1){
	document.write("<tr class='cal_bottom'><td style='padding:2px' align=center><span id='lblToday'></span></td></tr>")
}
document.write("</table></div><div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>");
var monthName=new Array("MonthJanuary","MonthFebruary","MonthMarch","MonthApril","MonthMay","MonthJune","MonthJuly","MonthAugust","MonthSeptember","MonthOctober","MonthNovember","MonthDecember");
var cvpDaysShort=new Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun");
startAt.valueOf()?null:cvpDaysShort.unshift(cvpDaysShort.pop());
var styleAnchor="text-decoration:none;color:#000000;";
var styleNoneSelect="text-decoration:line-through;color:grey;font-size:10px;";
var styleLightBorder="border:1px solid #a0a0a0;";

function initCalendar(){
	!ie?yearNow+=1900:null;
	crossobj=document.getElementById("calendar").style;
	hideCalendar();
	crossMonthObj=document.getElementById("selectMonth").style;
	crossYearObj=document.getElementById("selectYear").style;
	monthConstructed=false;
	yearConstructed=false;
	if(showToday==1){
		document.getElementById("lblToday").innerHTML='<span id="cvp_todayIs">'+cvpSC.translate("todayIs")+'</span>'+" <a href='javascript:;' title='"+cvpSC.translate("calendarGoToMonth")+"' style='"+styleAnchor+"' onclick='monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+cvpSC.step1Container.date.daysShort[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", "+dateNow+" "+cvpSC.step1Container.date.monthShort[monthNow]+" "+yearNow+"</a>"
	}
	document.getElementById("caption").innerHTML='<div id="spanLeft" class="cal_navbox" onclick="decMonth();" onmouseout="clearInterval(intervalID1);" onmousedown="clearTimeout(timeoutID1);timeoutID1=setTimeout(\'StartDecMonth()\',500);" onmouseup="clearTimeout(timeoutID1);clearInterval(intervalID1)"><p class="cal_left" id="changeLeft"></p></div>'+'<div id="spanRight" class="cal_navbox" onmouseout="clearInterval(intervalID1);" onclick="incMonth();" onmousedown="clearTimeout(timeoutID1);timeoutID1=setTimeout(\'StartIncMonth()\',500);" onmouseup="clearTimeout(timeoutID1);clearInterval(intervalID1)"><p class="cal_right" id="changeRight"></p></div>'+'<div id="spanMonth" class="cal_navbox" onclick="popUpMonth();"></div>'+'<div id="spanYear" class="cal_navbox" onclick="popUpYear();"></div>';
	bPageLoaded=true;
	initCalendar=function(){};
	return true
};

function hideCalendar(){
	crossobj.visibility="hidden";
	if(crossMonthObj!=null){
		crossMonthObj.visibility="hidden"
	}
	if(crossYearObj!=null){
		crossYearObj.visibility="hidden"
	}
	showElement('SELECT');
	showElement('APPLET')
};

function closeCalendar(){
	var sTmp;
	var found=false;
	for(var i=0;i<ctlToPlaceValue_d.length&&!found;i++){
		if(ctlToPlaceValue_d[i].value==dateSelected){
			ctlToPlaceValue_d[i].selected=true;
			found=true
		}
	}
	found=false;
	for(var i=0;i<ctlToPlaceValue_m.length&&!found;i++){
		if(ctlToPlaceValue_m[i].value==monthSelected){
			ctlToPlaceValue_m[i].selected=true;
			found=true
		}
	}
	found=false;
	for(var i=0;i<ctlToPlaceValue_y.length&&!found;i++){
		if(ctlToPlaceValue_y[i].value==yearSelected){
			ctlToPlaceValue_y[i].selected=true;
			found=true
		}
	}
	cvp_changePickupDate();
	hideCalendar()
};

function incMonth(){
	monthSelected++;
	if(monthSelected>11){
		monthSelected=0;
		yearSelected++
	}
	constructCalendar()
};

function decMonth(){
	monthSelected--;
	if(monthSelected<0){
		monthSelected=11;
		yearSelected--
	}
	constructCalendar()
};

function constructMonth(){
	popDownYear();
	if(!monthConstructed){
		sHTML="";
		for(i=0;i<12;i++){
			sName=cvpSC.step1Container.date.monthName[i];
			if(i==monthSelected){
				sName="<B>"+sName+"</B>"
			}
			sHTML+="<tr><td id='m"+i+"' onmouseover='this.style.backgroundColor=\"#ffffff\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer;' onclick='monthConstructed=false;monthSelected="+i+";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;"+sName+"&nbsp;</td></tr>"
		}
		document.getElementById("selectMonth").innerHTML="<table width=70 style='font-family:arial; font-size:11px; border-width:1px; border-style:solid; border-color:#a0a0a0;' bgcolor='#C6C6CA' cellspacing=0 onmouseover='clearTimeout(timeoutID1)'	onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>"+sHTML+"</table>";
		monthConstructed=true
	}
};

function popUpMonth(){
	constructMonth();
	crossMonthObj.visibility="visible";
	crossMonthObj.left=(parseInt(crossobj.left)+50).toPX();
	crossMonthObj.top=(parseInt(crossobj.top)+26).toPX();
	hideElement('SELECT',document.getElementById("selectMonth"));
	hideElement('APPLET',document.getElementById("selectMonth"))
};

function popDownMonth(){
	crossMonthObj.visibility="hidden"
};

function incYear(){
	for(i=0;i<1;i++){
		newYear=(i+nStartingYear)+1;
		if(newYear==yearSelected){
			txtYear="&nbsp;<B>"+newYear+"</B>&nbsp;"
		}else{
			txtYear="&nbsp;"+newYear+"&nbsp;"
		}
		document.getElementById("y"+i).innerHTML=txtYear
	}
	nStartingYear++;
	bShow=true
};

function decYear(){
	for(i=0;i<1;i++){
		newYear=(i+nStartingYear)-1;
		if(newYear==yearSelected){
			txtYear="&nbsp;<B>"+newYear+"</B>&nbsp;"
		}else{
			txtYear="&nbsp;"+newYear+"&nbsp;"
		}
		document.getElementById("y"+i).innerHTML=txtYear
	}
	nStartingYear--;
	bShow=true
};

function selectYear(nYear){
	yearSelected=parseInt(nYear+nStartingYear);
	yearConstructed=false;
	constructCalendar();
	popDownYear()
};

function constructYear(){
	popDownMonth();
	sHTML="";
	if(!yearConstructed){
		sHTML="";
		j=0;
		nStartingYear=yearNow;
		for(i=nStartingYear;i<=(nStartingYear+1);i++){
			sName=i;
			if(i==yearSelected){
				sName="<B>"+sName+"</B>"
			}
			sHTML+="<tr><td id='y"+j+"' onmouseover='this.style.backgroundColor=\"#ffffff \"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;"+sName+"&nbsp;</td></tr>";
			j++
		}
		document.getElementById("selectYear").innerHTML="<table width=44 style='font-family:arial; font-size:11px; border-width:1px; border-style:solid; border-color:#a0a0a0;'	bgcolor='#C6C6CA' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"+sHTML+"</table>";
		yearConstructed=true
	}
};

function popDownYear(){
	clearInterval(intervalID1);
	clearTimeout(timeoutID1);
	clearInterval(intervalID2);
	clearTimeout(timeoutID2);
	crossYearObj.visibility="hidden"
};

function popUpYear(){
	var leftOffset;
	constructYear();
	crossYearObj.visibility="visible";
	leftOffset=parseInt(crossobj.left)+document.getElementById("spanYear").offsetLeft;
	if(ie){
		leftOffset+=6
	}
	crossYearObj.left=leftOffset.toPX();
	crossYearObj.top=(parseInt(crossobj.top)+26).toPX()
};

function constructDatesssss(d,m,y){
	sTmp=dateFormat;
	sTmp=sTmp.replace("dd","<e>");
	sTmp=sTmp.replace("d","<d>");
	sTmp=sTmp.replace("<e>",d.zero());
	sTmp=sTmp.replace("<d>",d);
	sTmp=sTmp.replace("mmm","<o>");
	sTmp=sTmp.replace("mm","<n>");
	sTmp=sTmp.replace("m","<m>");
	sTmp=sTmp.replace("<m>",m+1);
	sTmp=sTmp.replace("<n>",(m+1).zero());
	sTmp=sTmp.replace("<o>",cvpSC.step1Container.date.monthShort[m]);
	return sTmp.replace("yyyy",y)
};

function constructCalendar(){
	var aNumDays=Array(31,0,31,30,31,30,31,31,30,31,30,31);
	var startDate=new Date(yearSelected,monthSelected,1);
	var endDate;
	if(monthSelected==1){
		endDate=new Date(yearSelected,monthSelected+1,1);
		endDate=new Date(endDate-(24*60*60*1000));
		numDaysInMonth=endDate.getDate()
	}else{
		numDaysInMonth=aNumDays[monthSelected]
	}
	datePointer=0;
	dayPointer=startDate.getDay()-startAt;
	if(dayPointer<0){
		dayPointer=6
	}
	sHTML='<table cellspacing="0" style="font-family:Verdana;font-size:10px;border:0px none;">'+'<tr id="abe_calendarDaysList">';
	for(var i=new Number(0);i<cvpSC.step1Container.date.daysShort.length;i++){
		sHTML+='<td style="width:24px;font-weight:bold;text-align:right;">'+cvpSC.step1Container.date.daysShort[i]+'</td>'
	}
	sHTML+='</tr><tr>';
	for(var i=1;i<=dayPointer;i++){
		sHTML+="<td>&nbsp;</td>"
	}
	for(datePointer=1;datePointer<=numDaysInMonth;datePointer++){
		dayPointer++;
		sHTML+="<td align=right>";
		sStyle=styleAnchor;
		if((datePointer==odateSelected)&&(monthSelected==omonthSelected)&&(yearSelected==oyearSelected)){
			sStyle+=styleLightBorder
		}
		sHint="";
		for(k=0;k<HolidaysCounter;k++){
			if((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1))){
				if((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0))){
					sStyle+="background-color:#FFDDDD;";
					sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
				}
			}
		}
		var regexp=/\"/g;
		sHint=sHint.replace(regexp,"&quot;");
		if(((datePointer<dayMin)&&(monthSelected==monthMin)&&(yearSelected==yearMin))||(monthSelected<monthMin)&&(yearSelected==yearMin)||(yearSelected<yearMin)){
			sHTML+="&nbsp;<span style='"+styleNoneSelect+"'>"+datePointer+"</span>&nbsp;"
		}else if(((datePointer>dayMax)&&(monthSelected==monthMax)&&(yearSelected==yearMax))||(monthSelected>monthMax)&&(yearSelected==yearMax)||(yearSelected>yearMax)){
			sHTML+="&nbsp;<span style='"+styleNoneSelect+"'>"+datePointer+"</span>&nbsp;"
		}else{
			sHTML+="<a title=\""+sHint+"\" style='"+sStyle+"' href='javascript:;' onclick='dateSelected="+datePointer+";closeCalendar();'>&nbsp;"+datePointer+"&nbsp;</a>"
		}
		sHTML+="";
		if((dayPointer+startAt)%7==startAt){
			sHTML+="</tr><tr>"
		}
	}
	document.getElementById("abe_calendarContent").innerHTML=sHTML;
	document.getElementById("spanMonth").innerHTML="<div>"+cvpSC.step1Container.date.monthName[monthSelected]+"</div><p id='changeMonth' class='cal_month'></p>";
	document.getElementById("spanYear").innerHTML="<div>"+yearSelected+"</div><p id='changeYear' class='cal_year'></p>"
};

function cvp_changePickupDate(){
	var pickupDate=new Date(cvpID.getValue("datePickup_y"),cvpID.getValue("datePickup_m"),cvpID.getValue("datePickup_d"));
	var dropOffDate=new Date(cvpID.getValue("dateDropoff_y"),cvpID.getValue("dateDropoff_m"),cvpID.getValue("dateDropoff_d"));
	if(pickupDate>=dropOffDate){
		dropOffDate.setDate(pickupDate.getDate()+1);
		
		var newYear=dropOffDate.getFullYear();
		var newMonth=dropOffDate.getMonth();
		var newDay=dropOffDate.getDate();
		var options,i;
		var yearObject=cvpID.get("dateDropoff_y");
		if(newYear!=yearObject.value){
			options=yearObject.options;
			i=0;
			while(Number(options[i].value)!=newYear){
				i++
			}
			options[i].selected=true
		}
		var monthObject=cvpID.get("dateDropoff_m");
		if(newMonth!=monthObject.value){
			options=monthObject.options;
			i=0;
			while(Number(options[i].value)!=newMonth){
				i++
			}
			options[i].selected=true
		}
		var dayObject=cvpID.get("dateDropoff_d");
		if(newDay!=dayObject.value){
			options=dayObject.options;
			i=0;
			while(Number(options[i].value)!=newDay){
				i++
			}
			options[i].selected=true
		}
	}
};

function cvp_popUpCalendar(where){
	var leftpos=0;
	var toppos=0;
	var element=new String("date"+where+"_");
	var ctl=cvpID.get(element+"d");
	var ctl_m=cvpID.get(element+"m");
	var ctl_y=cvpID.get(element+"y");
	var ctl2=cvpID.get(element+"d");
	var defaultDayInMs=today.getTime();
	var minDayInMs=defaultDayInMs;
	var maxDayInMs=defaultDayInMs;
	maxDayInMs+=(86400000*360);
	var minDate=new Date(minDayInMs);
	dayMin=minDate.getDate();
	monthMin=minDate.getMonth();
	yearMin=minDate.getFullYear();
	var maxDate=new Date(maxDayInMs);
	dayMax=maxDate.getDate();
	monthMax=maxDate.getMonth();
	yearMax=maxDate.getFullYear();
	if(bPageLoaded){
		if(crossobj.visibility=="hidden"){
			bShow=true;
			dateFormat="dd-mmm-yyyy";
			ctlToPlaceValue_d=cvpID.get(element+"d");
			ctlToPlaceValue_m=cvpID.get(element+"m");
			ctlToPlaceValue_y=cvpID.get(element+"y");
			dateSelected=(ctlToPlaceValue_d.value)/1;
			monthSelected=(ctlToPlaceValue_m.value)/1;
			yearSelected=(ctlToPlaceValue_y.value)/1;
			aTag=ctl;
			do{
				aTag=aTag.offsetParent;
				leftpos+=aTag.offsetLeft;
				toppos+=aTag.offsetTop
			}
			while(aTag.tagName!="BODY");
			if(ie){
				crossobj.left=fixedX==-1?ctl.offsetLeft+leftpos:fixedX;
				crossobj.top=fixedY==-1?ctl.offsetTop+toppos+ctl.offsetHeight+2:fixedY
			}else{
				crossobj.left=(cvpID.x-150).toPX();
				crossobj.top=(cvpID.y+20).toPX()
			}
			constructCalendar(1,monthSelected,yearSelected);
			crossobj.visibility="visible";
			hideElement('SELECT',document.getElementById("calendar"));
			hideElement('APPLET',document.getElementById("calendar"));
			bShow=true
		}else{
			hideCalendar();
			if(ctlNow!=ctl){
				popUpCalendar(ctl,ctl2,"dd-mmm-yyyy")
			}
		}
		ctlNow=ctl
	}
};


function cvpUncompressionComplete(){
	return true
};
