﻿var _encoder_div = null;

function htmlEncode(data) {
	return _encoder_div.text(data).html();
}

function copyHTML() {
	for (var i = 1; i < arguments.length; i++)
		$(arguments[i]).html(arguments[0]);
}

function getArrayList(array, prefix, suffix) {

	var result = '';
	for (var i = 0; i < array.length; i++)
		result += (prefix + array[i] + suffix);
		
	return result;
}

function switchShow() {
	for (var i = 0; i < arguments.length - 1; i++)
		$(arguments[i]).hide();
	$(arguments[arguments.length - 1]).show();
}

function switchMenu(key) {
	var menu_items = $('#casinoMenu a');
	
	for (var i = 0; i < menu_items.length; i++)
		$(menu_items[i]).removeClass().addClass(menu_items[i].id);
	
	if (key != 'off') {
		var menu_item = $('#destination-' + key);	
		menu_item.removeClass().addClass(menu_item[0].id + '-on');
	}
	
	_right_menu.data('selected', key);
}

function switchMain(key) {
	$('#centerContent').children('div').hide();
	$(key).show();
}

function dateSelected(sender, args) {
	var dtDP = $find(PageReferences.DDate);
	var dtRT = $find(PageReferences.RDate);
	
	var dateD = dtDP.get_selectedDate();
	var dateR = dtRT.get_selectedDate();
		
	if (dateD == null) {
		dtRT.set_minDate(dtDP.get_minDate());
		dtRT.set_maxDate(dtDP.get_maxDate());
	} else {
		var max = new Date(dateD); max.setFullYear(max.getFullYear() + 1);		
		dtRT.set_minDate(dateD);
		dtRT.set_maxDate(max);
	}
	
	if (dateD && dateR) {	
		if (dateR < dateD)
			dtRT.clear();
	}
}

function wireupChips() {
	$("#chip-1").mouseenter (function() {$("#tooltip-1").fadeIn("fast");});
	$("#chip-1").mouseleave (function() {$("#tooltip-1").fadeOut("fast");});

	$("#chip-2").mouseenter (function() {$("#tooltip-2").fadeIn("fast");});
	$("#chip-2").mouseleave (function() {$("#tooltip-2").fadeOut("fast");});

	$("#chip-3").mouseenter (function() {$("#tooltip-3").fadeIn("fast");});
	$("#chip-3").mouseleave (function() {$("#tooltip-3").fadeOut("fast");});

	$("#chip-4").mouseenter (function() {$("#tooltip-4").fadeIn("fast");});
	$("#chip-4").mouseleave (function() {$("#tooltip-4").fadeOut("fast");});
}

function renderCasinoMenu($menu) {
	var html = '';
	var func = function(item, suffix) {
		return  '<div class="destinations-divider"></div>' +
				'<a href="#" id="destination-' + item[0] + '" class="destination-' + item[0] + suffix + '" onclick="casinoClick(this, \'' +  item[0] + '\');return false;">' + htmlEncode(item[1]) + '</a>';
	}
	for (var i = 0; i < _menu_data.length; i++) {
		html += func(_menu_data[i], i==0 ? '-on' : '');
	}	
	$menu.html(html);
}

function addRows(table, data) {

	var tbody = $('tbody', table);
	var parent = tbody.length > 0 ? tbody : table;
	
	parent.children('tr:not(:first)').remove();
	
	if (data && data.length) {
	
		var checkMark = '<img src="app_themes/default/images/hotelp-scheduletable-checkmark.gif" width="18" height="15" alt="" />';
		var space = '&nbsp;';
		
		var rows = '';		
		var css, opt1, opt2;
		
		for (var i = 0; i < data.length; i++) {
		
			css = (i % 2 == 0) ? '' : 'shaded';
			opt1 = (data[i].Opt1 == "X") ? checkMark : '&nbsp;';
			opt2 = (data[i].Opt2 == "X") ? checkMark : '&nbsp;';
			
			rows += '<tr valign="middle" align="left" class="' + css + '">';
			rows += '<td class="sched">' + data[i].Schedule + '</td>';
			rows += '<td class="time">' + data[i].Departs + '</td>';
			rows += '<td class="time">' + data[i].Arrives + '</td>';
			rows += '<td class="freq">' + data[i].Freq + '</td>';
			rows += '<td class="fare">' + data[i].Fare + '</td>';
			rows += '<td class="opt">' + opt1 + '</td>';
			rows += '<td class="opt last">' + opt2 + '</td>';
			rows += '</tr>';
		}

		parent.append(rows);
	}	
}

function changeCoupons(animate) {
	var orig = $('#origCity').val(); dest = $('#destCasino').val();
	changeCoupon($('#lSidebarDealsBoxMidInner'), 'lSidebarDealsBox-', orig, dest, animate);
	changeCoupon($('#casino_deal'), 'casino-info-dealBox-', orig, dest, animate);
}

function changeCoupon($c, classPrefix, orig, dest, animate) {
	var found = false;
	
	found = found || changeCouponLinesHandler($c, classPrefix, orig, dest, animate);
	found = found || changeCouponLinesHandler($c, classPrefix, orig, "*", animate);
	found = found || changeCouponLinesHandler($c, classPrefix, "*", dest, animate);
	found = found || changeCouponLinesHandler($c, classPrefix, "*", "*", animate);
}

function changeCouponLinesHandler($c, classPrefix, orig, dest, animate) {
	var found = false;
	$.each(
		_coupon_data,
		function(index, value) {
			if ((value.Orig == orig) && (value.Dest == dest)) {
				found = true;
				changeCouponLines($c, classPrefix, value.Lines);
				return false;
			}
		}
	);
	return found;
}

function changeCouponLines($c, classPrefix, lines) {
	$c.html('');
	for (var i = 0; i < lines.length; i++) {
    	var line = lines[i];
    	var css = classPrefix;	
    	switch (line.Type) {
			case 'T': css += 'title'; break;
			case 'R': css += 'regular'; break;
			case 'F': css += 'fine'; break;
        }           
        $c.append($('<p/>').addClass(css).text(line.Text));
    }
}

function printMe() {
	
	var $container = $('#pageContainer');	
	var $printer = $('<div id="printer"></div>').appendTo($('body'));
		
	var $clone = $('#centerContent').clone();
		
	$printer.append($clone);
	$printer.css('text-align', 'left');
	
	$container.addClass('noprint');
	
	window.setTimeout(function() {
		window.print();
		$container.removeClass('noprint');
		$clone.remove();
		$printer.remove();		
	}, 10);
}

function querySt(ji) {
	hu = window.location.search.substring(1);
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0] == ji) {
			return ft[1];
		}
	}
}