/// <reference path="lib/jquery-1.4.2.min.js" />

var Tribeca = {};

Tribeca.main = function()
{
	return {
		
		init : function()
		{
			Tribeca.popups.init();
			Tribeca.search.init();
		}

	}
}();

Tribeca.popups = function()
{
	var _public = null;
	var _popup = null;

	return {

		init : function()
		{
			_public = this;

			// close events
			$(".popup .close a").click(function() {
				_public.close();
				return false;
			});
		},
		
		open : function(el, caller)
		{
			this.close();

			if (typeof el === "string")
			{
				el = $("#" + el);
			}

			_popup = el;
			_popup.show();
		},

		close : function()
		{
			if (_popup == null) return;

			_popup.hide();
			_popup = null;
		}

	}
}();

Tribeca.search = function()
{
	var _public = null;
	var _input = null;

	return {
		
		init : function()
		{
		   /*
			_public = this;
			_input = $("#txtSearch")

			_input.bind('keypress', function(e) {
				if (e.keyCode == 13)
				{
				    _public.open();
					
					e.preventDefault();
				}
			});

			$("#header .search .btn-search").click(function() {
				_public.open();
				return false;
			});
			*/
		},

		open : function()
		{
			Tribeca.popups.open("popup-search", _input);
		}

	}
}();

$(document).ready(function() { Tribeca.main.init(); });

var SearchTimer = 0;
function SearchLookup(txt) {
    clearTimeout(SearchTimer)
    if ($.trim(txt.value).length > 2) {
        SearchTimer = setTimeout("DoSearch()", 250);
    }
}
function DoSearch() {
    doAjaxFormEx('DoSearch', 'SearchFrm', '');
}

function ProcessForm() {
    var sError = '';
    var sFirstObject = null;
    var frm = 'DemoRequestFrm';
    // ------------------------------------
    // ------------------------------------
    // NAME - txtName
    var txt = getObject(frm, 'txtName');
    var txtValue = $.trim(txt.value);
    if (txtValue === "") {
        sError += '- Name\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }
    // POSITION - txtPosition
    txt = getObject(frm, 'txtPosition');
    txtValue = $.trim(txt.value);
    if (txtValue === "") {
        sError += '- Position\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }
    // EMAIL - txtEmail
    txt = getObject(frm, 'txtEmail');
    txtValue = $.trim(txt.value);
    if (txtValue === "") {
        sError += '- Email Address\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }
    else if (!IsEmailAddress(txtValue)) {
        sError += '- Valid Email Address\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }

    // COMPANY - txtCompany
    txt = getObject(frm, 'txtCompany');
    txtValue = $.trim(txt.value);
    if (txtValue === "") {
        sError += '- Company Name\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }

    // PHONE NUMBER - txtPhone
    txt = getObject(frm, 'txtPhone');
    txtValue = $.trim(txt.value);
    if (txtValue === "") {
        sError += '- Phone Number\r\n';
        if (sFirstObject === null) sFirstObject = txt;
    }
    // ------------------------------------
    // ------------------------------------
    if (sError === '') {
        doAjaxFormEx('DemoRegistration', 'DemoRequestFrm', '');
    }
    else {
        alert('Please complete the folowing to proceed: \r\n\r\n' + sError);
        sFirstObject.focus();
    }
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
    }

function validatePaymentForm() {
    var _wrappedSet = $('select[id^=item_]');
    var _bOk = false;
    var _bHasUnder9s = false;
    _wrappedSet.each(function() {
        if (this.value > 0) {
            if ($(this).attr('isP') === '1') {
                _bOk = true;
            }
            else {
                _bHasUnder9s = true;
            }
            return;
        }
    });
    if (_bOk === false) {
        if (_bHasUnder9s === true) {
            alert('Under 9\'s cannot travel alone, please select an adult to accompany them.');
            return false;
        } else {
            alert('You must select at least one ticket to continue.');
            return false;
        }
    }
    return true;
}

function bookClass(id) {
    var dl = $("#dlBook_" + id);
    
    if (!dl || (dl.length == 0)) return false;
    
    if (dl.val() === "0") {
        alert('You must select at least one ticket to continue.');
        return false;
    }
    
    __doPostBack("__Page", "ShowBooking_" + id);
}
