var IH_TEXT_NEWLINE = "\n";

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
};
/**
 * @function initContent()
 * description Inizializza i widget della pagina al caricamento
 * @return void
 */
function initContent(lang) {
	$('#msgError1').hide();
	$('#divAdvSearch').show();
	$('#divResults').show();
}


/**
 * @function startSearch()
 * description Dà il via a una ricerca base
 * @return void
 */
function startSearch(lang) {
	if (!checkBasicForm(lang) ) { 
		return false;
	}
	else {
		/*
		requestData = "lang=" + lang + "&city=" + $('#txtSearchText').val() + "&checkin=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&checkout=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&guests=" + $('#txtNumOfGuests').val(); 
		alert(requestData);
		$.ajax({
			type: "POST",
			url: "startSearch.aspx",
			data: requestData,
			success: function(msg){
			alert( "Data Saved: " + msg );
		}
		});
		*/
		
		citta_str = new String($('#txtSearchText').val().trim());
		citta_str = citta_str.replace(/[^A-Z^a-z]/gi, "-");
		citta_str = citta_str.replace(/--/g, "-");
		/*
		r = "";
		for (i = 0; i < citta_str.length; i++) {
			
			if (citta_str[i] == " ") 
				r += "-"
			else
				r += citta_str[i];
		}	
		citta_str = r;
		*/
		// alert(citta_str);
		if ( lang == "it" ) {
			url = "/citta-di-" + escape(citta_str) + "/cerca?" + "lang=" + lang + "&ci=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&co=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&g=" + $('#txtNumOfGuests').val();  
		}
		else {
			url = "/city-of-" + escape(citta_str) + "/search?" + "lang=" + lang + "&ci=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&co=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&g=" + $('#txtNumOfGuests').val();  
		}
		window.location = url;
	}
}


/**
 * @function startAdvSearch()
 * description Dà il via a una ricerca estesa, con i parametri avanzati
 * @return void
 */
function startAdvSearch(lang) {
	if (!checkBasicForm(lang) || !checkAdvancedForm(lang) ) { 
		return false;
	}
	else {
		/*
		requestData = "lang=" + lang + "&city=" + $('#txtSearchText').val() + "&checkin=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&checkout=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&guests=" + $('#txtNumOfGuests').val(); 
		alert(requestData);
		$.ajax({
			type: "POST",
			url: "startSearch.aspx",
			data: requestData,
			success: function(msg){
			alert( "Data Saved: " + msg );
		}
		});
		*/

		var zones = "";
		var categories = "";
		var services = "";
		var price = $("#txtMinPrice").val();
		var zona_str = new String();
		
		// alert($("input:radio[name=chkZone]:checked").val());
		zones = $("input:radio[name=chkZone]:checked").val();
		
		if (zones == "0") 
			zona_str = "";
		else
			zona_str = zones;
			
		if (zona_str == undefined) {
			zona_str = "";
		}
		
		arr = $("fieldset#fsCategories input:checked").toArray();
		for (i = 0; i < $("fieldset#fsCategories input:checked").length; i++) {
			name = arr[i].name.replace(/^[A-Za-z]+/g,"");
			if (categories.length > 0)
				categories += "-";
			categories += name;
		}
		
		arr = $("fieldset#fsServices input:checked").toArray();
		for (i = 0; i < $("fieldset#fsServices input:checked").length; i++) {
			name = arr[i].name.replace(/^[A-Za-z]+/g,"");
			if (services.length > 0)
				services += "-";
			services += name;
		}
		
		// alert(services);
		
		citta_str = new String($('#txtSearchText').val().trim());
		citta_str = citta_str.replace(/[^A-Z^a-z]/gi, "-");
		citta_str = citta_str.replace(/--/g, "-");
		
		if ( lang == "it" ) {	
			url = "/citta-di-" + escape(citta_str) + (zona_str.length > 0 ? '/zona-' + zona_str : '' ) + "/cerca?" + "lang=" + lang + "&ci=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&co=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&g=" + $('#txtNumOfGuests').val()  + "&cat=" + categories + "&svc=" + services + "&p=" + price + "&adv=1";  
		}
		else {
			url = "/city-of-" + escape(citta_str) + (zona_str.length > 0 ? "/" + zona_str + "-area" : '' ) + "/search?" + "lang=" + lang + "&ci=" + $('#selCheckInDay').val() + "-" + $('#selCheckInMonth').val() + "&co=" + $('#selCheckOutDay').val() + "-" + $('#selCheckOutMonth').val() + "&g=" + $('#txtNumOfGuests').val() + "&cat=" + categories + "&svc=" + services + "&p=" + price + "&adv=1";  
		}
			
		// alert(url);
		parent.location.href = url;
	}
}


/**
 * @function checkBasicForm()
 * description Esegue un controllo della validità della form di ricerca base
 * @return bool
 */
function checkBasicForm(lang) {
	var errors = false;
	var html = "";
	
	// Testo da cercare (città)
	var s = new String($('#txtSearchText').val().trim());
	if ( s.length < 3 ) {
		if ( lang == "it" ) 
			html = html + 'Inserire una citt&agrave; in cui cercare.';
		else if ( lang == "en" ) 
			html = html + 'Insert a city to search in.';
			
		$('#txtSearchText').focus();
			
		errors = true;
	}
	
	html += "<br />";
	
	// Numero di ospiti
	/*
	if ( $('#txtNumOfGuests').val().trim().length == 0 || $('#txtNumOfGuests').val() == "0" || $('#txtNumOfGuests').val() == 0 ) {
		if ( lang == "it" ) 
			html = html + 'Inserire il numero di ospiti.';
		else if ( lang == "en" )
			html = html + 'Insert guest number.';

		$('#txtNumOfGuests').focus();

		errors = true;
	}
	*/
	if (errors) {
		$('#msgError1').html(html);
		$('#msgError1').show();
	}
	else 
		$('#msgError1').hide();
	
	
	return !errors;
}


/**
 * @function checkAdvancedForm()
 * description Esegue un controllo della validità della form di ricerca avanzata
 * @return bool
 */
function checkAdvancedForm(lang) {
	var errors = false;
	var msg = "";

/* I campi di ricerca addizionali - se lasciati vuoti - valgono come se fossero una wildcard.	
	// Categorie
	if ( $("fieldset#fsCategories input:checked").length == 0 ) {
		if ( lang == "it" )
			msg += "Selezionare almeno una categoria ricettiva." + IH_TEXT_NEWLINE;
		else if ( lang == "en" )
			msg += "Please select at least one category." + IH_TEXT_NEWLINE;
		errors = true;
	}
	
	// Zone
	if ( $("fieldset#fsZones input:checked").length == 0 ) {
		if ( lang == "it" )
			msg += "Selezionare almeno una zona." + IH_TEXT_NEWLINE;
		else if ( lang == "en" )
			msg += "Please select at least one single zone." + IH_TEXT_NEWLINE;
		errors = true;
	}
	
	// Servizi
	if ( $("fieldset#fsServices input:checked").length == 0 ) {
		if ( lang == "it" )
			msg += "Selezionare almeno un servizio." + IH_TEXT_NEWLINE;
		else if ( lang == "en" )
			msg += "Please select at least one single service." + IH_TEXT_NEWLINE;
		errors = true;
	}
	
	
	if (errors) {
		alert(msg);
	}
*/	
	
	return !errors;
}


/**
 * @function setCheckInDate
 * @param d La stringa della data 
 * @return
 */
function setCheckInDate(d, lang) {
	d = d.split("-");
	d = new Date(parseInt(d[2], 10), parseInt(d[1], 10) - 1, parseInt(d[0], 10));
	
	$('#selCheckInMonth').val(d.getMonth() + 1 + "-" + d.getFullYear());
	triggerFromCheckInMonth(lang, false);
	$('#selCheckInDay').val(d.getDate());
	triggerFromCheckInDay(lang, false);
}


/**
 * @function setCheckOutDate
 * @param d La stringa della data 
 * @return
 */
function setCheckOutDate(d, lang) {
	d = d.split("-");
	d = new Date(parseInt(d[2], 10), parseInt(d[1], 10) - 1, parseInt(d[0], 10));

	$('#selCheckOutMonth').val(d.getMonth() + 1 + "-" + d.getFullYear());

	triggerFromCheckOutMonth(lang, false);

	$('#selCheckOutDay').val(d.getDate());

}


/**
 * @function initMenu
 * @param drop down del menu laterale 
 * @return
 */
function initMenu() {
  $('#divAdvSearch div').hide();
  $('#divAdvSearch h6.closed').click(
    function() {
        $(this).next().slideToggle('normal');	
      }
    );
 }
$(document).ready(function() {initMenu();});


/**
 * @function sendPrice4Coupon
 * @param hotel_id
 * @param price
 * @return
 */
function sendPrice4Coupon(hotel_id, price) {
	$.ajax({
        type: "GET",
        url: "sendPrice4Coupon.php?h=" + hotel_id + "&p=" + price,
        success: function(msg){
			return msg;
		}
	});			
}


/**
 * @function initComparator
 * @param drop down del menu laterale 
 * @return
 */
function initComparator() {
	jQuery(".divSearchContent").hide();
  $('.divSearchContent').hide();
  $('.labSearchOpen').click(
    function() {
        $(this).next().slideToggle('normal');	
      }
    );
 }
$(document).ready(function() {initComparator();});



/**
 * @function popup
 * @param apre una nuova finestra del browser 
 * @return
 */
function popup(pageURL, title,w,h) {
	var left = (screen.width/2)-(w/2);
	var top = (screen.height/2)-(h/2);
	var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width='+w+', height='+h+', top='+top+', left='+left);
} 

/**
 * Tag Cloud
 */
if (typeof(swfobject) != 'undefined') {

	swfobject.addDomLoadEvent(function() {
	  swfobject.embedSWF(
						"tagcloud.swf", "divTagcloud",
						"300", "120",
						"10", "expressInstall.swf",
						{
							cloud_data:"cloud_data.xml",
							tcolor:"0x999999",
							tcolor2:"0x666666",
							hicolor:"0x333333",
							tspeed:"20",
							fontFace:"Arial"
						},
						{wmode: "window", menu: "false", quality: "best"}
						);
	swfobject.embedSWF("messaggi.swf", "hunchback", "297", "235", "9.0.0", "expressInstall.swf");
	});
}

/*-------------- NETWORK- --------------------------*/

$(document).ready(function(){
	$("#divNetwork").click(function(){
		$(".slide").toggle("fast");
		$(this).toggleClass("active");
		return false;
	});
});
