var hasTripAdvisorAds = false;
var _uacct = "UA-57638-1";
var vIE = vIE();

$(document).ready(function() {
    $('input#query').click(function (e) { $('input#query').attr('value', '');});
});

/*
$(document).ready(function() 
{
	if (isLive) loadGoogleAnalytics();
});
 */

function getAccommodationId()
{
	return window['accommodationid'] != undefined ? window['accommodationid'] : null; 
}

function getSection()
{
	return window['section'] != undefined ? window['section'] : null; 
}

/**
 * Loads Google Analytics API
 * @return void
 */
function loadGoogleAnalytics()
{
	$.getScript("http://www.google-analytics.com/urchin.js", function(){
		_uacct = "UA-57638-1";
		urchinTracker();
	});
}

/**
 * Default popup window options
 * 
 * @return string The options
 */
function makeOptions()
{
    return 'toolbar=1,scrollbars=1,location=1,status=1,menubar=1,resizable=1,width=780,height=550';
}

/**
 * Opens up the window for travellers' photograhs
 * @param url string The window URL
 * @return false
 */
function travellerPhotosWindow(url){
	var trvPhotosWindow = window.open(url,'NewWindow','toolbar=0,scrollbars=1,location=1,status=0,menubar=0,resizable=0,width=815,height=770');
	trvPhotosWindow.focus();
	return false;
}

/**
 * Options for Commerce PopUnder (CPU) popups
 * @return string the options
 */
function makeCPUOptions()
{
    return makeOptions();
}

/**
 * Sets the Commerce PopUnder (CPU) cookie
 * 
 * This cookie expires after 1 day.
 * 
 * @return void
 */
function setCPUCookie()
{
	$.cookie('cpu', '1', { expires: 1, path: '/' });
}

/**
 * Tests whether the CPU cookie is set
 * @return Boolean True if CPU is set
 */
function isCPUCookieSet()
{
	return $.cookie('cpu') == '1';
}

/**
 * Opens un the Expedia Exit Window (EEW) popup.
 * 
 * record == true so that the backend knows if should
 * keep a trace of the action 
 * 
 * @param locationid integer The location ID
 * @param accommodation integer The accommodation ID
 * @return boolean False
 */
function openExpediaExitWindow(locationid, accommodation)
{
	var url = "/EEW-"+locationid+".html";
	
	if (accommodation != null) url = "/EEW-"+locationid+"-"+accommodation+".html";
	
	url += "?record=true";
	
	popunder(url, 'popunder', makeCPUOptions());
}

//Internet Explorer Version Detection.
function vIE(){return (navigator.appName=='Microsoft Internet Explorer')?parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}


String.prototype.trim = function() 
{
	return this.replace(/^\s+/, '').replace(/\s+$/, '');
};

function showMessage(message, _options, timeout)
{
	var options = {
	 	'-webkit-border-radius': '10px',
	 	'-moz-border-radius': '10px',
	 	 'padding': '15px',
	 	 'color': '#000',
	 	 'font-weight': 'bold',
         'opacity': '0.95',
         'margin' : 'auto',
		 'width': '200px',
		 'left': '45%'
     	};

	for(i in _options)
	{
		options[i] = _options[i]; //overrides
	}

	$.blockUI({ css: options,
     	message: message
    }); 
	 
    if (timeout != null) setTimeout($.unblockUI, timeout);
}

function showHelpMessage(div)
{
	$('#helpclosebutton').remove();
	
	var button = new jQuery('<button/>');
	button.click(function () {$.unblockUI({});});
	button.css('position', 'relative');
	button.css('left', '+48%');
	button.text('Close');
	button.attr('id', 'helpclosebutton');
	
	div.append(button);
	
	$.blockUI({ css: {
	 	'-webkit-border-radius': '10px',
	 	'-moz-border-radius': '10px',
	 	 'padding': '15px',
	 	 'color': '#000',
	 	 'font-weight': 'normal',
	 	 'font-size': '75%',
	 	 'text-align': 'left',
         'opacity': '0.95'
     	}, 
     	message: div
     });
}

function showAlertMessage(message, callback)
{
	var p = new jQuery('<p/>');
	
	var txt = new jQuery('<span/>');
	txt.text(message);
	
	var button = new jQuery('<button/>');
	button.text('Ok');
	
	if (callback != null)
	{
		button.click(function () { $.unblockUI({}); callback(); });
	}
	else
	{
		button.click(function () {$.unblockUI({});});
	}
	
	var br = new jQuery('<br/>');
	
	p.append(txt);
	p.append(br).append(br);
	p.append(button);
	
	showMessage(p);
}

function showPleaseWaitMessage()
{
	var p = new jQuery('<p/>');
	
	var txt = new jQuery('<span/>');
	txt.text("Please wait... ");
	p.append(txt);
	
	var img = new jQuery('<img/>');
	img.attr('src', '/images/indicator.gif');
	img.attr('id', 'indicator');
	img.attr('height', '15');
	p.append(img);

	showMessage(p);
}

/**
 * Opens up the window for generic use
 * @param url string The window URL
 * @return false
 */
function openWindow(url){
	var openWindow = window.open(url,'NewWindow','toolbar=0,scrollbars=1,location=1,status=0,menubar=0,resizable=0,width=815,height=770');
	openWindow.focus();
	return false;
}
