﻿﻿var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {

 if(a.getAttribute("title") == "jsenabled") {
	a.disabled = true; a.disabled = false;
 }
}

function init_header(){
	$('html').addClass('js')
	$('.close').click(function(){
		$(this.parentNode).hide('fast'); 
 		return false;
	});
	$('.button').mouseover(function() {$(this).addClass("butOver");}).mouseout(function() {$(this).removeClass("butOver");});
	$('.button2').mouseover(function() {$(this).addClass("butOver2");}).mouseout(function() {$(this).removeClass("butOver2");});
}


function init_calendar(){
	$('.date-pick').datePicker();
	$('#date1').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#date2').dpSetStartDate(d.addDays(1).asString());
			}
		}
	);
	$('#date2').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#date1').dpSetEndDate(d.addDays(-1).asString());
			}
		}
	);	
	$('#linkTodosDestinos').click(function(){
		$('#llistaPaisos').bgiframe().fadeIn('fast'); 
 		return false;
	});
}

function init_compartir(){
	$('#linkCompartir').click(function(){
		$('#capaCompartir').fadeIn('fast'); 
 		return false;
	});
	$('.close').click(function(){
		$(this.parentNode).hide('fast'); 
 		return false;
	});
}

function init_calendar_inline(){
	$('.date-pick').datePicker();
	$('#date1').bind(
		'dateSelected',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#date2').dpSetStartDate(d.addDays(1).asString());
			}
		}
	);
	$('#date2').bind(
		'dateSelected',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#date1').dpSetEndDate(d.addDays(-1).asString());
			}
		}
	);	
	
		
	$('.marco').datePicker({inline:true});
	$('#calendar1')
        .bind('dateSelected', function(e, selectedDate, $td) {
                $('#date1').css('display', 'block');
                $('#date1').val(selectedDate.asString());
        });
		
	$('#calendar2').bind(
			'dateSelected',
			function(e, selectedDate, $td){
                $('#date2').css('display', 'block');
				$('#date2').val(selectedDate.asString());
			});		

		
		
	$('#linkTodosDestinos').click(function(){
		$('#llistaPaisos').bgiframe().fadeIn('fast'); 
 		return false;
	});
		
}		

function init_buscador(){
	var formPlegat = $('#formBuscPlegat');
	var formDesplegat = $('#formBuscDesplegat');
	formPlegat.find('div.titol a').click(function(){
		formPlegat.hide();
		formDesplegat.fadeIn('fast'); 
 		return false;
	});
	formDesplegat.find('div.titol a').click(function(){
		formDesplegat.hide();
		formPlegat.fadeIn('fast'); 
 		return false;
	});
}



var newHab;
var newNino;
function init_habitaciones(){
	$("#formNoJs").remove();
	$("select","div.ninos").change(function () {		
		var objHab = this.parentNode.parentNode;
	  	var totNinos = this[this.selectedIndex].value;
	  	if (totNinos>0){  
	  		creaFormNinos(totNinos,objHab.id);
	  	}
	  	else{
	  		$(objHab).find('div.edadNinos').hide().remove();
  		}
	});		
	newHab = $("#habitacion").clone(true);
	newNino = $("div#edadNinos").clone(true);
	var totHab = $("select#habitaciones option:selected").val();
	creaForm(totHab);
	$("select#habitaciones").change(function () {
  		var totHab = $("select#habitaciones option:selected").val();
  		if (totHab>0){ creaForm(totHab);}
	});

}


function creaForm(totHab){
	$("div.habitacion","#divHuespedes").remove();
	for (i=0;i<totHab;i++){

		var numHab=i+1;
		var newEl = newHab.clone();
		newEl.attr("id","habitacion"+numHab).appendTo("#divHuespedes").show();
		newEl.find(".numHabitacion").html("Hab."+numHab+":");    
		newEl.find(".adultos").find("label").attr("for","adultos"+numHab);
		newEl.find(".ninos").find("label").attr("for","ninos"+numHab);
		newEl.find(".adultos").find("select").attr("id","adultos"+numHab).attr("name","adultos"+numHab);
		newEl.find(".ninos").find("select").attr("id","ninos"+numHab).attr("name","ninos"+numHab);
		newEl.find("div.ninos").find("select").change(function () {		
			var objHab = this.parentNode.parentNode;
		  	var totNinos = this[this.selectedIndex].value;
		  	if (totNinos>0){  
		  		creaFormNinos(totNinos,objHab.id);
		  	}
		  	else{
		  		$(objHab).find('div.edadNinos').hide().remove();
	  		}
		});	
	}
	if (totHab<2)	{
		$('#divHuespedes').removeClass('on');	

	}	
	else {$('#divHuespedes').addClass('on');}
	
}

function creaFormNinos(totN,idHab){
	var divHab = $('#'+idHab);
	$("div.edadNinos","#habitacion").remove();
	divHab.find("div.edadNinos").remove();
	for (j=0;j<totN;j++){
		var numNinos=j+1;
		var newEdad = newNino.clone(true);
		newEdad.attr("id","");
		newEdad.find("label").html("Edad del niño "+numNinos);    
		newEdad.find("label").attr("for","edad["+idHab+"]["+numNinos+"]");
		newEdad.appendTo(divHab).show();
		newEdad.find("select").attr("id","edad["+idHab+"]["+numNinos+"]").attr("name","edad["+idHab+"]["+numNinos+"]");
	}
}

function init_fotos(){
    var lis=$('.otrasFotos ul').get(0).childNodes;
    $(lis[3]).find('a').addClass('on');
    $(lis[1]).find('a').addClass('on');
   

    $(".otrasFotos li:odd").addClass('par');
    $('.otrasFotos .par img').click(function(){
        var fotogran = $(this).attr("src");
        var textAlt = $(this).attr("alt");
        var fotogran2 = fotogran.split('.');
        var fotoG=fotogran2[0] + '_gran.'+fotogran2[1]; 
		var fotoA=fotogran2[0] + '_ampliacio.'+fotogran2[1];		
        $('#foto2 img').attr('src',fotoG);
		$('#foto2 a').attr('href',fotoA);
       	$('#foto2 p').html(textAlt);
        $(".otrasFotos li:odd a").removeClass('on');
        $(this.parentNode).addClass('on');
         return false;
    });
   
    $(".otrasFotos li:even").addClass('sen');
    $('.otrasFotos .sen img').click(function(){
        var fotogran = $(this).attr("src");
        var textAlt = $(this).attr("alt");
        var fotogran1 = fotogran.split('.');
        var fotoG=fotogran1[0] + '_gran.'+fotogran1[1];
		var fotoA=fotogran1[0] + '_ampliacio.'+fotogran1[1];		
        $('#foto1 img').attr('src',fotoG);
		$('#foto1 a').attr('href',fotoA);
       	$('#foto1 p').html(textAlt);
        $(".otrasFotos li:even a").removeClass('on');
        $(this.parentNode).addClass('on');
         return false;
    });   
   
}


function insertaSVP2(id){
	var ConfigData={VIDEO_ID:arrayVideos[id],WIDTH:320,HEIGHT:240};
	var FlashParams={width:320,height:240};
	insertaSVP( "svp2", ConfigData , FlashParams );
	document.getElementById('text').innerHTML=arrayEntradetes[id];
	reescriuCodi(id);
}	

function reescriuCodi(id){
	var html='';
	for(c=0;c<arrayVideos.length;c++){
		if(id!=c)html+='<a href="#" onclick="insertaSVP2('+c+');">'+arrayTitols[c]+'</a><br/>';
	}
	document.getElementById('videogran').innerHTML=html;
}


function mycarousel_initCallback(carousel) {
	var botoPause=$('#mycarousel-stop');
	var botoPlay=$('#mycarousel-auto');
	var fotosPetites = $('.jcarousel-control a');
	
	fotosPetites.bind('click', function() {
    	carousel.startAuto(0);// Disable autoscrolling
    	fotosPetites.removeClass('on');
    	$(this).addClass('on');
		carousel.scroll(jQuery.jcarousel.intval($(this).attr('title')));
		botoPlay.removeClass('on');
        botoPause.addClass('on');
        return false;
    });

    botoPlay.bind('click', function() {
       carousel.startAuto(2); //Enable autoscrolling 2 sec
       $(this).addClass('on');
       botoPause.removeClass('on');
       return false;
    });
    botoPause.bind('click', function() {
       carousel.startAuto(0);// Disable autoscrolling
       $(this).addClass('on');
       botoPlay.removeClass('on');
        return false;
    });    
   
    $('#mycarousel-next')
    	.bind('click', function() {
        carousel.next();
        carousel.startAuto(0);// Disable autoscrolling
        botoPlay.removeClass('on');
        botoPause.addClass('on');
       return false;
    	})
    	.mousedown(function(){$(this).addClass('on');})
    	.mouseup(function(){$(this).removeClass('on');});

    $('#mycarousel-prev')
    	.bind('click', function() {
        carousel.prev();
        carousel.startAuto(0);// Disable autoscrolling
        botoPlay.removeClass('on');
        botoPause.addClass('on');
        return false;
    	})
    	.mousedown(function(){$(this).addClass('on');})
    	.mouseup(function(){$(this).removeClass('on');});
    
 
    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });   
 		
 		//$('#fotografias .controls div').mouseover(function() {$(this).addClass("on");}).mouseout(function() {$(this).removeClass("on");});    
}


/* flash videos */
function playVideo(flashVideo){
	$('#videogran').html('').flash({src: flashVideo,width: 422,height: 285},{version: 8});	
	return false;
}

function init_videos(){
	var fotosPetites = $('.otrosVideos a');
    fotosPetites.bind('click', function() {
     		fotosPetites.removeClass('on');
    		$(this).addClass('on');
        return false;
    });
}

function init_submenuDetalle(){
	$('div.submenu li.on a').each(function(){
		var secActiva = $(this).attr('class').substring(12);
		$('#' + secActiva).show();
	});
	
	var linkSubmenu = $('.linkSubmenu');
	var submenu = $('.submenu');
	var seccions = $('div.secVariable');
	linkSubmenu.each(function(){
		$(this).bind ('click',function(e){
			var seccio = $(this).attr('class').substring(12);
			var linkMenu= $(this);
			var $submenu = $(this).parents('.submenu').eq(0);
			$submenu.find('li').removeClass('on');
			var seccioOn = $submenu.parent().find('#'+seccio);
			var pestanyaOn = $submenu.find('#li'+seccio);
			pestanyaOn.addClass('on');
			$submenu.parent().find('div.secVariable').hide();
			seccioOn.show();
			return false;
		});
	});
}




function init_ajuste_busqueda(){
	$('#ajuste div.ui-slider').slider({ 
		min:minRange, 
		max:maxRange, 
		steps: maxRange-maxRange, 
		range: true, 
		change: function(e,ui) {
			var wichHandle=$(ui.handle).attr('id');
			if(wichHandle=="handle-left") $('#handle-left-value span').html(ui.value)
			else $('#handle-right-value span').html(ui.value);
		}/*,
		slide: function(e, ui){	alert(ui.value); } */
	});
	$('#handle-left-value span').html(minRange);
	$('#handle-right-value span').html(maxRange);
}

function init_detalle_reserva(){
	$("#linkDesgloseTarifa").click(function(){
		$("#desgloseTarifa").toggle();
		return false;
	});
}

//guia destinos
function carousel_guia_videos_initCallback(carousel) {
    $('#carousel_guia_videos-next')
    	.bind('click', function() {
        carousel.next();
       	return false;
    	});

    $('#carousel_guia_videos-prev')
    	.bind('click', function() {
        carousel.prev();
        return false;
    	});
}

function carousel_guia_fotos_initCallback(carousel) {
    $('#carousel_guia_fotos-next')
    	.bind('click', function() {
        carousel.next();
       	return false;
    	});

    $('#carousel_guia_fotos-prev')
    	.bind('click', function() {
        carousel.prev();
        return false;
    	});
}

/*visita virtual*/
function init_visita_virtual(){
	var fotos = $('#tiraFotosVirtuales li');
	fotos.bind('click',function(){
		fotos.removeClass('on');
		$(this).addClass('on');
		var virtual = $('#fotovirtual');
		var srcImg = $(this).find('img').attr("src");
		var srcImg2 = srcImg.split('.');
		var srcVisita = srcImg2[0] + '_gran.'+srcImg2[1];  
		var text = $(this).find('p').text();
		virtual.find('img').attr('src',srcVisita);
		virtual.find('div.text').html(text);
	});
	fotos
	.mouseover(function() {
		$(this).addClass("over");
	})
	.mouseout(function() {
		$(this).removeClass("over");
	});	
}

/*guia destinos*/
function init_guia_destinos(){
	$('#linkPaises').click(function(){
		$('div.popInfo').hide();
		$('#infoPaisos').fadeIn('fast'); 
 		return false;
	});
	$('#linkDestinos').click(function(){
		$('div.popInfo').hide();
		$('#infoDestins').fadeIn('fast'); 
 		return false;
	});	
	$('.close').click(function(){
		$(this.parentNode).hide('fast'); 
 		return false;
	});
}

/**
* Aquesta funció amaga controla le opcions de cerca de la
* caixa de cerca de la portada
* @date 5.9.08
*/
function init_opciones_busqueda() {
    $('.divHotel').hide();
    $('.divCodiPromocional').hide();
    $('.divCategoria').hide();
    $('.formReserva form').after('<div class="masOpc"><p>Más opciones de búsqueda:</p><ul><li id="divHotel"><a href="#">Hotel</a></li><li id="divCodiPromocional"><a href="#">Codigo promocional</a></li><li id="divCategoria"><a href="#">Categoría</a></li></ul></div>');
    
    // Mostrem les opcions que calgui
    $('.masOpc a').click(function() {
            var $li = $(this).parent('li');
            $('.' + $li.attr('id')).show();
            $li.html($(this).text());
            
            // Aquest és un patch per amagar els combos de país i destí
            if ($li.attr('id') == "divHotel") {
                $('.divPais').hide();
                $('.divDestino').hide();
            }
            
            return false;
        });
}

/**
* Aquesta funció amaga controla le opcions de cerca de la
* caixa de cerca de les planes de reserva.
* @date 5.9.08
*/
function init_opciones_busqueda_reserva() {
    $('.pHotel').hide();
    $('.pCodiPromocional').hide();
    $('.pCategoria').hide();
    $('#pBusqueda .macro form').append('<div class="masOpc"><p>Más opciones de búsqueda:</p><ul><li id="pHotel"><a href="#">Hotel</a></li><li id="pCodiPromocional"><a href="#">Codigo promocional</a></li><li id="pCategoria"><a href="#">Categoría</a></li></ul></div>');
    function init_click() {
        // Mostrem les opcions que calgui
        $('.masOpc a').click(function() {
            var $li = $(this).parent('li');
            $('.' + $li.attr('id')).show();
            $li.html($(this).text());
            
            // Aquest és un patch per amagar els combos de país i destí
            if ($li.attr('id') == "pHotel") {
		        $li.html('<a href="#">País y destino</a>');
	            $li.attr('id', 'pPaisDesti');

                $('.pPais').hide();
	            $('.pDestino').hide();

                init_click();
	        } else if ($li.attr('id') == "pPaisDesti") {
   		        $li.html('<a href="#">Hotel</a>');
	            $li.attr('id', 'pHotel');
                
                $('.pPais').show();
	            $('.pDestino').show();
                $('.pHotel').hide();

                init_click();
            }
                
                return false;
            });
    }
    init_click();
}


/**
 * Inicialitza dos calendaris per a que es vegin en línia
 * @date 11.10.08
 */
function init_calendar_inline_home(){
	$('.calendar').datePicker({inline:true});
	$('#calendar1')
        .bind('dateSelected', function(e, selectedDate, $td) {
                $('#date1').css('display', 'block');
                $('#date1').val(selectedDate.asString());
        });
		
	$('#calendar2').bind(
			'dateSelected',
			function(e, selectedDate, $td){
                $('#date2').css('display', 'block');
				$('#date2').val(selectedDate.asString());
			});
}		

/**
 * Inicialitza tots els efectes de la taula de reserves
 * @date 18.10.08
 */
function init_table_effects () {
	$('.mi-cuenta .resultats-reserves tr').hover(function() {
		$(this).addClass('over');
	}, function() {
		$(this).removeClass('over');
	});
	
	var desplegableObert = null;
	$('.mi-cuenta .resultats-reserves .eines .imprimir').click(function() {
		if (desplegableObert == this) {
			amagarDesplegable();
		}
		else {
			// amaguem algun que ja estigui obert
			amagarDesplegable();
			
			$(this).find('#imgImprimirSinDesplegar').hide();
			$(this).find('#imgImprimirDesplegar').show();
			
			$(this).find('.desplegable-imprimir').show();
			desplegableObert = this;
			
			$(document.body).click(amagarDesplegable);
			return false;
		}
		
		function amagarDesplegable() {
			if (desplegableObert != null) {
				$(desplegableObert).find('#imgImprimirSinDesplegar').show();
				$(desplegableObert).find('#imgImprimirDesplegar').hide();
				
				$(desplegableObert).find('.desplegable-imprimir').hide();
				desplegableObert = null;
			}
		}
	});
}

/**
 * Inicialitza els events necessaris per afegir usuaris al registre d'agències
 * @date 2.11.08
 */
function init_add_users() {
	// afegim l'element per a podes esborrar un usuari
	/* $('#usuari-addicional-1, #usuari-addicional-2').append('<p class="esborrar-usuari">Borrar usuario</p>') */
	
	// visualització d'usuaris
	var num_users = 0;
	var MAX_USERS = 2;
	$('.afegir-usuari').click(function() {
		if(num_users < MAX_USERS) {
			num_users++;
			showDiv ('usuari-addicional-' + num_users);
		}
		return false;
	})
	
	// esborrat d'usuaris
	$('.esborrar-usuari').click(function() {
		hideDiv ('usuari-addicional-' + num_users)
		var $div = document.getElementById('usuari-addicional-' + num_users);
		clearForm($div);
		num_users--;
	})
	
	// @author http://www.learningjquery.com/2007/08/clearing-form-data
	function clearForm(form) {
		// iterate over all of the inputs for the form
		// element that was passed in
		$(':input', form).each(function() {
			var type = this.type;
			var tag = this.tagName.toLowerCase(); // normalize case
			// it's ok to reset the value attr of text inputs,
			// password inputs, and textareas
			if (type == 'text' || type == 'password' || tag == 'textarea')
				this.value = "";
			// checkboxes and radios need to have their checked state cleared
			// but should *not* have their 'value' changed
			else if (type == 'checkbox' || type == 'radio')
				this.checked = false;
			// select elements need to have their 'selectedIndex' property set to -1
			// (this works for both single and multiple select elements)
			else if (tag == 'select')
				this.selectedIndex = -1;
		});
	};
}

/**
 * Inicialitza els events necessaris per afegir els calendaris de filtre de data
 * @date 2.11.08
 */
function init_calendar_filter_private_home(){

	$('#data-entrada').datePicker({startDate: '01/01/1990'});
	$('#data-sortida').datePicker();
	$('#data-entrada').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#data-sortida').dpSetStartDate(d.addDays(1).asString());
			}
		}
	);
	$('#data-sortida').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#data-entrada').dpSetEndDate(d.addDays(-1).asString());
			}
		}
	);
	
		
	$('#linkTodosDestinos').click(function(){
		$('#llistaPaisos').bgiframe().fadeIn('fast'); 
 		return false;
	});
}

/**
 * Inicialitza el canvi de menús segons el tipus de targeta
 * @date 16.11.08
 */
function init_switch_credit_cards() {
	$('.tipus-targeta').hide();
	$('.validacio-targeta-tradicional').hide();
	$('.validacio-targeta-switch-solo').hide();
	
	$('#SecCargarAgencia div.check input[name=pagament-agencia]').change(function(){
		var type = $('#SecCargarAgencia div.check input[name=pagament-agencia]:checked').attr('id');
		if (type == 'pag-transferencia-agencia') {
			$('.tipus-targeta').hide();
		} else if (type == 'pag-targeta-neto-agencia') {
			$('.tipus-targeta').show();
		}
	});
	
	$('#targeta-agencia').change(function() {
		var ccType = $('#targeta-agencia option:selected').attr('class');
		if (ccType == 'targeta-switch-solo') {
			$('.validacio-targeta-tradicional').hide();
			$('.validacio-targeta-switch-solo').show();
		} else if (ccType == 'targeta-tradicional') {
			$('.validacio-targeta-tradicional').show();
			$('.validacio-targeta-switch-solo').hide();
		} else {
			$('.validacio-targeta-tradicional').hide();
			$('.validacio-targeta-switch-solo').hide();
		}
	});
}

function init_modificar_reserva() {
	// tractament del formulari dinàmic
	$('.modificar-reserva .nens p').hide();
	$('.modificar-reserva .num-nens')
		.each(function () {
			mostra_form_edat_nens(this);
		})
		.change(function () {
			mostra_form_edat_nens(this);
		});
	
	function mostra_form_edat_nens (elem) {
		var numNens = $(elem).find('option:selected').val();
		var $nens = $(elem).parents('.afegir-ocupants:first').find('.nens');
		$nens.find('p').hide();
		for (var i = 0; i < numNens; i++) {
			$nens.find('p:eq(' + i + ')').show();
		}
	}
	
	// control de visualització de les opcions de modificació
	$('.modificar-reserva #ocupantes-promocode, .modificar-reserva #quitar-habitaciones, .modificar-reserva #nombres-huespedes').hide();
	$('.modificar-reserva .modificar-reserva li a').click(function() {
		$('.modificar-reserva ' + $(this).attr('href')).toggle();
		return false;
	});
}




















