
//MOTOR DE RESERVAS//////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
	


//FIN MOTOR DE RESERVAS///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////


function CreateBookmarkLink(title,url) {

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
 }

Array.prototype.inArray = function (value)
// Returns true if the passed value is found in the
// array. Returns false if it is not.
{
var i;
for (i=0; i < this.length; i++) {
// Matches identical (===), not just similar (==).
if (this[i] === value) {
return true;
}
}
return false;
};


function arreglaCal()
{

}
//EQUIVALENT ARRAY_SEARCH
function getIdx(vector,k){
	for(i=0;i<vector.length;i++){
		if(vector[i]==k) return i
	}
	return false;
}

var _actual=0
function overMenu(id){
	if(_actual!=0){
		document.getElementById("m_"+_actual).style.display="inline";
		document.getElementById("m_"+_actual+"_on").style.display="none";
	}
	
	document.getElementById("m_"+id).style.display="none";
	document.getElementById("m_"+id+"_on").style.display="block";
	_actual=id;
}
function outMenu(id){
	document.getElementById("m_"+id).style.display="inline";
	document.getElementById("m_"+id+"_on").style.display="none";	
}



function cambiaImg(id, src)
{
	MM_findObj(id).src=src;
}


/*function activaCapa(num, img, img2)
{
	// Activa capa en la home
	if (num!=capaActiva)
	{
		// Desactiva capa antigua
		imgold=imgold.replace("_on","");
		MM_findObj("id"+capaActiva).src=imgold;
		decreceCapa(151,capaActiva);
		MM_findObj("img"+capaActiva).onmouseout=function() {
			var imgt=this.childNodes[0].src;
			imgt=imgt.replace("_on","");
			this.childNodes[0].src=imgt;

		};
		// Actualiza los datos de la capa antigua
		imgon=img;
		imgold=img2;
		capaActiva=num;
		// Activa la capa nueva
		MM_findObj("id"+num).src=img;
		MM_findObj("img"+num).onmouseout=function() {
			this.childNodes[0].src=img;
		};
		creceCapa(0,num);

	}
}*/



function decreceCapa(tam, num)
{
	if (tam!=0)
	{
		tam-=10;
		if (tam<0) tam=0;
		MM_findObj("capa"+num).style.height=(tam/10)+"em";
		setTimeout("decreceCapa("+tam+","+num+")",5);
	}
}

function creceCapa(tam, num)
{
	if (tam!=151)
	{
		tam+=10;
		if (tam>151) tam=151;
		MM_findObj("capa"+num).style.height=(tam/10)+"em";
		setTimeout("creceCapa("+tam+","+num+")",5);
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		return [curleft,curtop];
	}
}

function iniciaFormularios()
{
	for (var j=0; j<document.forms.length; j++)
	{
		for (var i=0; i<document.forms[j].elements.length; i++)
		{
			var nam=document.forms[j].elements[i].name.substring(0,5);
			if (nam=="fecha")
			{
				var pos=findPos(MM_findObj(document.forms[j].elements[i].name));
				Calendar.setup({
					inputField     :    document.forms[j].elements[i].name,     // id of the input field
					ifFormat       :    "%d/%m/%Y",      // format of the input field
					button         :    "boton_"+document.forms[j].elements[i].name,  // trigger for the calendar (button ID)
					align          :    "Bl",           // alignment (defaults to "Bl")
					singleClick    :    true
				})
			}
		}
	}
	
}



var rsson=false;
var buscadon=false;

function abreCapaBuscador(id)
{
	if (document.getElementById(id).style.display=="" || document.getElementById(id).style.display=="none") document.getElementById(id).style.display="inline";
	else	document.getElementById(id).style.display="none";
}

function switchRSS(rsson1,id)
{
	if (rsson1) 
	{
		despliegaMenu(id);
		
	
		rsson=true;
	} else {
		escondeMenu(id);
		rsson=false;
	}
}

function opacity(id, opacStart, opacEnd, millisec) {
 var speed = Math.round(millisec / 100);
 var timer = 0;

 if(opacStart > opacEnd) {
  for(i = opacStart; i >= opacEnd; i--) {
   setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
   timer++;
  }
  
 } else if(opacStart < opacEnd) {
  for(i = opacStart; i <= opacEnd; i++)
   {
   setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
   timer++;
   }
   
 }
}






//Aplica transparencia compatible con la mayoría de navegadores
function changeOpac(opacity, id) {
 var object = document.getElementById(id).style; 
 object.opacity = (opacity / 100);
 object.MozOpacity = (opacity / 100);
 object.KhtmlOpacity = (opacity / 100);
 object.filter = "alpha(opacity=" + opacity + ")";
 
 if(opacity<1) document.getElementById(id).style.display="none";
 if(opacity>1 && document.getElementById(id).style.display=="none") {
  document.getElementById(id).style.display="block";
 }
}

function despliegaMenu(pos)
{
	//setOpacity(MM_findObj("submenu"+pos), 0);
	MM_findObj(pos).style.display='inline';	
	//setTimeout("eval('fadingmenu("+pos+",0)')",200);
}

function escondeMenu(pos)
{
	MM_findObj(pos).style.display='none';
}


	function open_picture(i){
		var fotogal=MM_findObj("link_"+i);
		Shadowbox.open(fotogal);
	}
	

	
	var obligs=Array()
function setFormInputs(idform){
	var form=document.getElementById(idform)
	
	//Array de Obligatorios (campo oculto del formulario)
	if(typeof form.oblig != "undefined") {
		obligs[idform]=form.oblig.value.split(",")	
	}else{
			obligs[idform]=Array()
	}
	
	
	for(i=0;i<form.length;i++){
		
		var c = form[i]
		if(c.type=="select-one" || c.type=="text" || c.type=="textarea") {
			c.onfocus=function(){
				this.style.borderColor="#ffffff"
				
			}
			c.onblur=function(){
			//Comprueba si es un campo obligatorio o no para ponerlo en rojo en caso de estar vacio
				if(getIdx(obligs[idform],this.name)!==false){
					if(this.value=="") this.style.borderColor="#FF9900"
					else this.style.borderColor="#689B00"
				}else{
					this.style.borderColor="#353535"
				}
			}
		}
	
	}
}


function getIdx(vector,k){
	for(i=0;i<vector.length;i++){
		if(vector[i]==k) return i
	}
	return false;
}



function validar_enviar_js(idform){
	form=document.getElementById(idform)
	//alert(idform)
	//Array de Obligatorios (campo oculto del formulario)
	if(typeof form.oblig != "undefined") {
		obligs[idform]=form.oblig.value.split(",")	
	}else{
			obligs[idform]=Array()
	}
	
	var enviar=true
	
	for(var j=0;j<form.length;j++){
		
		var c = form[j]
		if(c.type=="select-one"|| c.type=="text" || c.type=="textarea"){
			
				if(getIdx(obligs[idform],c.name)!==false){
					if(c.value=="") {c.style.borderColor="#CC3300"
					enviar=false}
				}
		}
	}
	
	if(enviar==true)form.submit()
}


function masinfo(id) {
		document.getElementById("resum"+id).style.display='none';
		document.getElementById("mas"+id).style.display='none';
		document.getElementById("menos"+id).style.display='block';
		v="#ampliado"+id;
		$(v).slideDown('slow');
}

function menosinfo(id) {
		v="#ampliado"+id;
		$(v).slideUp('slow');
		document.getElementById("menos"+id).style.display='none';
		document.getElementById("mas"+id).style.display='block';
		v="#resum"+id;
		$(v).slideDown('slow');
}

/*RESERVAS*/
	function muestra(str){	
		document.getElementById(str).style.display="block";
	}
	
	function oculta(str){
		document.getElementById(str).style.display="none";
	}
	
	function html_entity_decode( string, quote_style ) {
 
    var histogram = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();
    
    if (false === (histogram = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
        return false;
    }
 
    for (symbol in histogram) {
        entity = histogram[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    tmp_str = tmp_str.split('&#039;').join("'");
    
    return tmp_str;
}

function get_html_translation_table(table, quote_style) {
    
    var entities = {}, histogram = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    
    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';
 
    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
 
    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
        // return false;
    }
 
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }
 
    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';
 
    // ascii decimals for better compatibility
    entities['38'] = '&amp;';
 
    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        histogram[symbol] = entities[decimal];
    }
    
    return histogram;
}
	
	function actualiza_campos(){
			
		var f=document.getElementById("formres")
		_adultos=Number(document.getElementById("Adults").value)
		_bebes=Number(document.getElementById("Bebes").value)
		_ninos1=Number(document.getElementById("Kids").value)
		_ninos2=Number(document.getElementById("Ninos2").value)
		
		var id=_hotel
		var extra=Number(lmax[id])-Number(ladultos[id])
		if(isNaN(_ninos2)) _ninos2=0
		if(ninos2!=true)_ninos2=0
		if(extra==0){
			_ninos1x=_ninos1
			_ninos2x=_ninos2
			_bebesx=_bebes
		}else{
			if(lextra[id]===true){
				_ninos1x=_ninos1-extra
				_ninos2x=_ninos2-extra
			}else {
				_ninos1x=_ninos1
				_ninos2x=_ninos2
			}
			_bebesx=_bebes-extra
		}
		if(_ninos1x<0)_ninos1x=0
		if(_ninos2x<0)_ninos2x=0
		if(_bebesx<0)_bebesx=0
		
		

			set_select("Adults",1,ladultos[id]-_ninos1x-_ninos2x-_bebesx,_adultos)
			//NIÑOS1//////////////////////////////////////////////////
			var new_ninos=Number(ladultos[id])-_ninos2x-_bebesx-_adultos
			if(lextra[id]===true)new_ninos+=extra
			
			if(new_ninos<lninos[id])set_select("Kids",0,new_ninos,_ninos1)
			else set_select("Kids",0,lninos[id],_ninos1)
			if(ninos2==true){
			
				//NIÑOS2//////////////////////////////////////////////////
				var new_ninos2=Number(ladultos[id])-_ninos1x-_bebesx-_adultos
				if(lextra[id]===true)new_ninos2+=extra
				
				if(new_ninos2<lninos[id])set_select("Ninos2",0,new_ninos2,_ninos2)
				else set_select("Ninos2",0,lninos2[id],_ninos2)
			}
			
			//BEBES////////////////////////////////////////////////////////
			var new_bebes=Number(ladultos[id])-_ninos2-_ninos1-_adultos+extra
			
			if(new_bebes<lbebes[id])set_select("Bebes",0,new_bebes,_bebes)
			else set_select("Bebes",0,lbebes[id],_bebes)
	}
	
function set_select(input,minim,maxim,selected){
	var idxs;
	campo=document.getElementById(input);
	if(campo.type=="select-one"){
		campo.options.length=0;
		campo.options[0]=new Option(labels[input],minim);
		var idx=1;
		for(i=minim;i<=maxim;i++){
			campo.options[idx]=new Option(i,i);
			if(i==Number(selected))idxs=idx;
			idx++;
		}
		campo.selectedIndex=idxs;
	}
}

function setSelIndex(input,idx){
	var campo1=document.getElementById(input);
	campo1.selectedIndex=0
}
function copia_dir_comercial() 
{
	d=document.agencias;
	if (d.mismos.checked) {
		d.pais2.value=d.pais.value;
		d.direccion2.value=d.direccion.value;
		d.cp2.value=d.cp.value;
		d.poblacion2.value=d.poblacion.value;
		d.provincia2.value=d.provincia.value;
		d.phone2.value=d.phone.value;
		d.fax2.value=d.fax.value;
	} else {
		d.pais2.value="";
		d.direccion2.value="";
		d.cp.value3=d.cp2="";
		d.poblacion2.value="";
		d.provincia2.value="";
		d.phone2.value="";
		d.fax2.value="";
	}
}

function copia_responsable() 
{
	d=document.agencias;
	if (d.mismos2.checked) {
		d.trato_responsable2.value=d.trato_responsable.value;
		d.nombre_responsable2.value=d.nombre_responsable.value;
		d.apellidos_responsable2.value=d.apellidos_responsable.value;
		d.email_responsable2.value=d.email_responsable.value;
		d.nacionalidad_responsable2.value=d.nacionalidad_responsable.value;
		d.dni_responsable2.value=d.dni_responsable.value;
	} else {
		d.trato_responsable2.value="";
		d.nombre_responsable2.value="";
		d.apellidos_responsable2.value="";
		d.email_responsable2.value="";
		d.nacionalidad_responsable2.value="";
		d.dni_responsable2.value="";
	}
}

function getIdx(vector,k){
	for(i=0;i<vector.length;i++){
		if(vector[i]==k) return i
	}
	return false;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&id.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n) ; return x;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
}
}

function NewWindow(theURL, hauteur, largeur) 
{
var winl = (screen.width - largeur) / 2;
var wint = (screen.height - hauteur) / 2;
winprops = 'height='+hauteur+',width='+largeur+',top='+wint+',left='+winl+',scrollbars=0'
win = window.open(theURL, "", winprops)
}

function NewWindowScroll(theURL, hauteur, largeur) 
{
var winl = (screen.width - largeur) / 2;
var wint = (screen.height - hauteur) / 2;
winprops = 'height='+hauteur+',width='+largeur+',top='+wint+',left='+winl+',scrollbars=1'
win = window.open(theURL, "", winprops)
}

function NewWindowScrollResize(theURL, hauteur, largeur) 
{
var winl = (screen.width - largeur) / 2;
var wint = (screen.height - hauteur) / 2;
winprops = 'height='+hauteur+',width='+largeur+',top='+wint+',left='+winl+',scrollbars=1,resizable=1'
win = window.open(theURL, "", winprops)
}

function obtieneInfo(url)
{
	var html = $.ajax({
                  url: url,
                  async: false
                 }).responseText;
    return html;
}


//////////GALERIA///////////////////////////


function openGal(){
	//$("#"+gal.id).fadeIn(0)
	next.onclick=function(){changeGal(1)}
	prev.onclick=function(){changeGal(-1)}
	openGalSlide(0)
}


function openGalSlide(num){


	if(num>gal.slides)num=gal.slides
	if(num<0)num=0
	
	$("#"+gal.id).animate({marginLeft: num*(-gal.width)}, 500,"swing")
	gal.actual=num

	updateArrows(num)
}

function updateArrows(num){
	if(num==0) prev.style.display="none"
	else {if(prev.style.display!="block")$("#"+prev.id).fadeIn(200)}
	if(num==gal.slides) next.style.display="none"
	else {if(next.style.display!="block")$("#"+next.id).fadeIn(200)}
}
function changeGal(num){
	openGalSlide(gal.actual+num)
}

function fadein(capa)
{
	$(capa).fadeIn(300);
}


function fadeout(capa)
{
	$(capa).fadeOut(300);
}
