var choseLang  = {
	show: function(mydiv) {
		if (document.getElementById){
			document.getElementById(mydiv).style.height="auto";
			document.getElementById(mydiv).style.overflow="visible";
		}
	}, 
	hide: function (mydiv){
		if (document.getElementById){
			document.getElementById(mydiv).style.height="22px";
			document.getElementById(mydiv).style.overflow="hidden";
		}
	},
	init: function (mydiv){
		if (document.getElementById(mydiv)){
			document.getElementById(mydiv).style.height="22px";
			document.getElementById(mydiv).style.overflow="hidden";
		}
	}
}

function setWeatherShadow(myId){
	var myBlock = document.getElementById(myId);
	if(myBlock){
		var myText =  myBlock.innerHTML;
		myBlock.innerHTML = "";
		
		var myShadow = document.createElement("span");
		myShadow.innerHTML = myText;
		myBlock.appendChild(myShadow);
		myShadow.style.position = "absolute";
		myShadow.style.zIndex = "19";
		//myShadow.style.filter = 'glow(color=#5f809f, strength=3)';
		if (IE(8)) {
			myShadow.style.color = "#678aab";
			//myShadow.style.filter = 'blur(add=0, direction=135, strength=6)';
			myShadow.style.filter = 'glow(color=#678aab, strength=0)';
			myShadow.style.right = "-1px";
			myShadow.style.top = "1px";
		} else {
			myShadow.style.color = "#5f809f";
			myShadow.style.textShadow = '0 0 2px #5f809f';
			myShadow.style.right = "-1px";
			myShadow.style.top = "1px";
		}
		
		var mySpan = document.createElement("span");
		mySpan.innerHTML = myText;
		myBlock.appendChild(mySpan);
		mySpan.style.position = "absolute";
		mySpan.style.right = "0";
		mySpan.style.top = "0";
		mySpan.style.zIndex = "20";
	}
}

function IE6(){
	var ievs = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
	if (ievs){
		var iev = new Number(RegExp.$1);
		if (iev < 7) return true;
	}
	return false;
}

function IE8(){
	var ievs = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
	if (ievs){
		var iev = new Number(RegExp.$1);
		if (iev >= 8) return true;
	}
	return false;
}

function IE(version){
	var ievs = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
	if (ievs){
		var iev = new Number(RegExp.$1);
		if (iev <= version) return true;
	}
	return false;
}

var resetBox = {
	options:{
		myBlock: "boxBooking",
		myHeight: 0,
		myLiHeight: 0,
		myPadding: 0,
		myAction: ""
	},
	init: function(opts) {
		for (name in opts){
			resetBox.options[name] = opts[name];
		}
	},
	set: function(myValue){
		if(document.getElementById(resetBox.options.myBlock)){
			myPassValue = parseInt(myValue);
			if(myPassValue > 1){
				resetBox.openBox(myPassValue, document.getElementById(resetBox.options.myBlock).offsetHeight-resetBox.options.myPadding, (resetBox.options.myHeight-resetBox.options.myPadding + (resetBox.options.myLiHeight*(myValue*1-1))));
			} else {
				resetBox.openBox(myPassValue, document.getElementById(resetBox.options.myBlock).offsetHeight-resetBox.options.myPadding, resetBox.options.myHeight-resetBox.options.myPadding);
			}
		} else {
			alert("attenzione: "+ resetBox.options.myBlock +" non esiste.");
		}
		return false;
	},
	openBox: function(myVal, height_nowB, heightB){
		var selBig = document.getElementById("selectBg");
		myValuePass = parseInt(myVal);
		if(heightB > height_nowB){
			new_heightB = Math.round((heightB-height_nowB)/6)*1+1;
			if(resetBox.options.myAction == ""){
				setRoomHome(myValuePass, name_adults, name_children, name_childage, name_room, name_rooms);
				resetBox.options.myAction = "opening";
			}
		} else {
			new_heightB = Math.round((heightB-height_nowB)/6)*1-1;
			resetBox.options.myAction = "closing";
		}
		my_heightB = heightB;
		my_height_resultB = height_nowB + new_heightB;
		if ((heightB-height_nowB) > 3 || (heightB-height_nowB) < -3){
			if(selBig){
				selBig.style.bottom = my_height_resultB+"px";
			}
			setTimeout("resetBox.openBox(myValuePass, my_height_resultB, my_heightB)", 20);
			document.getElementById(resetBox.options.myBlock).style.height = my_height_resultB +"px";
		} else {
			if(selBig){
				selBig.style.bottom = heightB+"px";
			}
			document.getElementById(resetBox.options.myBlock).style.height = heightB+"px";
			if(resetBox.options.myAction == "closing"){
				setRoomHome(myValuePass, name_adults, name_children, name_childage, name_room, name_rooms);
			}
			resetBox.options.myAction = "";
			return false;
		}
		return true;
	}
}

function setChildAge(nchild, chdid, roomn, label_children_age){
	var selectHtml = "";
	if(nchild > 0){
		selectHtml = '<label>'+ label_children_age +'</label>';
		for (var cc=1; cc<=nchild; cc++) {
			selectHtml =  selectHtml + '<select name="bform[reqRooms]['+roomn+'][childAge][' + cc + ']" class="select_small">' +
                '<option value="-">&nbsp;-</option>' +
                '<option value="0">&lsaquo; 1</option>';
				for(var k=1; k<=18; k++){
					k_opt = k<10 ? "&nbsp;"+ k : k;
					selectHtml =  selectHtml + "\n" + '<option value="'+ k +'">'+ k_opt +'</option>';
				}
				selectHtml =  selectHtml + '</select>';
		}
	}
	if(document.getElementById(chdid)){
		document.getElementById(chdid).innerHTML = selectHtml;
	}
	
	$(".select_small").each(function(){
		$(this).rules("add", {
			required: true,
			min: 0,
			messages: {
				required: msgChildAge,
				min: msgChildAge
				
			}
		});
	});
}

function createSelect(num, init, label, labels, selected){
	if(label != ""){
		label = " "+ label;
	}
	if(labels != ""){
		labels = " "+ labels;
	} else {
		labels = label;
	}
	var mySel = "";
	for(var k=init; k<=num; k++){
		if(k!=init) label = labels;
		if (selected != 0 && selected == k){
			mySel = mySel + "\n" + '<option value="'+ k +'" selected="selected">'+ k + label +'</option>';
		} else {
			mySel = mySel + "\n" + '<option value="'+ k +'">'+ k + label +'</option>';
		}
	}
	return mySel;
}

function setRoom(nrooms, label_adults, label_children, label_children_age, label_room){
	var myResults = "";
	myResults = myResults + '<ul>\n';
	for (var i=1; i<=nrooms; i++){
		if ( nrooms > 1){
			myResults = myResults + '	<li class="titleRoom"><strong>'+ label_room +' '+ i +'</strong></li>\n';
		}
		myResults = myResults + '	<li>\n'+
		'		<span class="quarta">\n'+
		'			<label>'+ label_adults +'</label>\n'+
		'			<select name="bform[reqRooms]['+ i +'][adults]">\n'+
		'			'+ createSelect(6, 1, label_adults, "", 2) + 
		'			</select>\n'+
		'		</span>\n'+
		'		<span class="quarta">\n'+
		'			<label>'+ label_children +'</label>\n'+
		'			<select name="bform[reqRooms]['+ i +'][child]" onchange="setChildAge(this.value,\'chdAge_'+ i +'\', '+ i +',\''+ label_children_age +'\');">\n'+
		'			'+ createSelect(4, 0, label_children, "", 0) + 
		'			</select>\n'+
		'		</span>\n'+
		'		<span class="childAge" id="chdAge_'+ i +'"></span>\n'+
		'	</li>\n';
	}
	myResults = myResults + '</ul>\n';
	if (document.getElementById('contOption')){
		document.getElementById('contOption').innerHTML = myResults;
	} else {
		alert("blocco non valido");
	}
}

function set_room(select_id, value){
	
	var my_options = "";
	var my_block = document.getElementById(select_id);
	
	my_options = '<label>'+ nameRoom[value]['s'] +"</label>\n";
	my_options = my_options + '<select name="bform[numRooms]" id="bform[numRooms]" onchange="setRoom(this.value, name_adults , name_children, name_childage, nameRoom['+value+'][\'s\']);">'+"\n";
	my_options = my_options + '<option value="1">1 '+nameRoom[value]['s']+'</option>'+"\n";
	my_options = my_options + '<option value="2">2 '+nameRoom[value]['p']+'</option>'+"\n";
	my_options = my_options + '<option value="3">3 '+nameRoom[value]['p']+'</option>'+"\n";
	my_options = my_options + '<option value="4">4 '+nameRoom[value]['p']+'</option>'+"\n";
	my_options = my_options + '</select>'+"\n";
	my_block.innerHTML = my_options;
	setRoom(1, name_adults , name_children, name_childage, nameRoom[value]['s']);
	
} 

var drop_order = {
	show: function(mydiv) {
		if (document.getElementById){
			document.getElementById(mydiv).style.height="auto";
			document.getElementById(mydiv).style.overflow="visible";
		}
	},
	hide: function(mydiv){
		if (document.getElementById){
			document.getElementById(mydiv).style.height="20px";
			document.getElementById(mydiv).style.overflow="hidden";
		}
	},
	init: function(mydiv){
		if (document.getElementById(mydiv)){
			document.getElementById(mydiv).style.height="20px";
			document.getElementById(mydiv).style.overflow="hidden";
		}
		if (document.getElementById('my_radio')){
			document.getElementById('my_radio').style.display="none";
		}
	},
	set_send: function(mydiv){
		var mio_div = document.getElementById('my_radio');
		var elements = mio_div.getElementsByTagName("input");
		for (var i = 0; i < elements.length; ++i) {
			name_radio = (elements[i].getAttribute("name") + "[" + i + "]");
			if (name_radio == mydiv) {
				document.getElementById('struct_ord_'+i).setAttribute("checked","checked");
			} else {
				document.getElementById('struct_ord_'+i).removeAttribute("checked");
			}
		}
		drop_order.hide('dropdown_order');
		
		if (IE6()){
			document.Invia = function() {
				document.getElementById("searchForm").submit();
			}
			setTimeout("document.Invia();", 10);
		} else {
			document.forms['searchForm'].submit();
		}
	}
}

function number_format (number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}





