/**
* @author Den Markin <denmarkin@gmail.com>, http://dmarkin.name
* @version $Id$
* @package La Réserve de Beaulieu
*/

// QueryLoader.showPreloader();

$(document).ready( function() {
// function initInterface () {
    
	// fastbooking tuning    
	$('#fromyear').change( function () { update_departure(); });
	$('#B1').click( function () { hhotelDispoprice(this.form); });
	$('#cancelBooking').click( function () { hhotelcancel('FRRPinede',''); });
    start();
	
	// common
	$('h1#logo').click( function () {
		top.location	= base_url;
	});
	$('#footer #linksContainer li:not(:last)').append('|');
	$('#hdudlk-hdudlk').focus( function () {
		$(this).val('');
	});
	$('#header #mainNavContainer ul li a').each(function () {
		if ($(this).attr('href') == location.href) {
			$(this).addClass('selected');
			$(this).next().show();
			$(this).parent().parent().parent().children('a:first').addClass('selected');
			$(this).parent().parent().parent().children('a:first').next().show();
		}
	});
	
	// lang selector alternate
	$('#langSelector').change( function () {
		switchLanguage($(this).val());
	});
	// lang selector cooked with jQuery/css
	createDropDown('langSelector', 'Select Language', function (lang) {
		switchLanguage(lang);
	}, true);
	createDropDown('frommonth');
	createDropDown('fromday');
	createDropDown('fromyear');
	createDropDown('nbdays');
	createDropDown('adulteresa');
	if(typeof initSlideshow == 'function') {
        initSlideshow();
    }
    // QueryLoader.hidePreloader();
});
// }

function createDropDown(source, label, callback, flags){
	var source = $("#"+source);
	var newEl = source.attr('id') + 'DropDown';
	var selected = source.find("option[selected]");  // get selected <option>
	var options = $("option", source);  // get all <option> elements
	// create <dl> and <dt> with selected value inside it
	$(source).after('<dl id="'+newEl+'" class="dropdown"></dl>');
	if (undefined != label) {
		$("#"+newEl).append('<dt><a href="javascript:;">' + label + '</a></dt>');
	} else {
		$("#"+newEl).append('<dt><a href="javascript:;">' + selected.text() + 
			'<span class="value">' + selected.val() +
			'</span></a></dt>');
	}
	$("#"+newEl).append('<dd><ul></ul></dd>');
	// iterate through all the <option> elements and create UL
	options.each(function(){
		if (!$(this).attr('disabled')) {	// skip disabled options
		    
		    if (flags == true) {
			    flagTag = '<img src="'+base_url+'../images/interface/flags/'+$(this).text()+'.png" alt="'+$(this).text()+'" title="'+$(this).text()+'" />';
			} else {
			    flagTag = '';
			}
		    
			$("#"+newEl+" dd ul").append('<li><a href="javascript:;">' + 
				$(this).text() + '<span class="value">' +
				$(this).val() + '</span></a></li>');
		}
	});
	
	$("#"+newEl+".dropdown dt a").click(function() {
		$(".dropdown dd ul").hide();
		$("#"+newEl+".dropdown dd ul").toggle();
	});
	$("#"+newEl+".dropdown dd ul li a").click(function() {
		var text = $(this).html();
		$("#"+newEl+".dropdown dt a").html(text);
		$("#"+newEl+".dropdown dd ul").hide();
		var v	= $(this).find("span.value").html();
		source.val(v);	// set source el value
		if (typeof(callback) == 'function')	callback(v);
	});
	$(document).bind('click', function(e) {
		var $clicked = $(e.target);
		if (! $clicked.parents().hasClass("dropdown"))
			$(".dropdown dd ul").hide();
	});
	
	$('#'+newEl + ".dropdown dd ul").width($('#'+newEl).width() - 2);
	source.hide();
}

function switchLanguage (lang) {
	eraseCookie('reservebeaulieu_lang');
	createCookie('reservebeaulieu_lang', lang, 365);
	l = location.href.replace('/'+country_code+'/', '/'+lang+'/');
	location.href=l;
}