﻿/* 

BBZ Limousine and Livery Service, Inc.

*/

function getQuerystring(key, default_) {
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];
}

//submit
function submitForm(path, params, method, name) {
    method = method || "post"; // Set method to post by default, if not specified.
    name = name || "Unknown";

    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
    form.setAttribute("name", name);

    for (var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);
    form.submit();
}

function isNotBlankOrDefault($element) {
    if ($element.val() == '' || $element.val() == $element.attr('default')) return false;
    else return true;
}

function login() {
    var path = 'https://book.mylimobiz.com/bbzlimo/Account/Logon';
    var method = 'POST';
    var $username = $('#login_username');
    var $password = $('#login_password');
    var name = "Login";

    if (isNotBlankOrDefault($username) || isNotBlankOrDefault($password)) {
        submitForm(path, { 'username': $username.val(), 'password': $password.val() }, method, name);
    }
    else {
        alert('Please enter a valid username and password');
    }
}

function textBoxBlur(element, isPassword) {
    if (element.value == '') {
        if (isPassword && BrowserDetect.browser != 'Explorer') element.type = 'text';
        element.value = $(element).attr('default');
    }
}

function textBoxFocus(element, isPassword) {
    if (element.value == $(element).attr('default')) {
        if (isPassword && BrowserDetect.browser != 'Explorer') element.type = 'password';
        element.value = '';
    }
}

function textBoxFormEnter(element, event) {
    if (event.keyCode == '13') { $(element).siblings('[type="button"]').click(); }
}

function trackFlight(){
    var query = document.getElementById('flightno').value;
    flightTracker = window.open('http://flightaware.com/live/flight/' + query.toUpperCase(), 'name', 'height=600,width=800,resizable=1,scrollbars=1');
	if (window.focus) { flightTracker.focus() }
}

function addEmailToNewsletter() {
    var email = document.getElementById('nlemail').value;
    $.get(root + 'bbzservices/newsletters.aspx?o=add&e=' + email);
    var message = '<div><p>Your email address: <b>' + email + '</b> has been added.<br/<br/>Thank you for your interest in joining our mailing list!</p></div>';
    $(message).modalPanel();
}

function doSearch() {
    var query = document.getElementById('s').value;
    if (query != 'search') {
        submitForm('/search/', { 'q': query }, 'get', 'Search');
    }
}

var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.opera,
		    identity: "Opera",
		    versionSearch: "Version"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.userAgent,
		    subString: "iPhone",
		    identity: "iPhone/iPod"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();

var getPage = '../bbzservices/getPage.aspx';

$(function () {
    if (BrowserDetect.browser != 'Explorer') $('#login_password')[0].type = 'text';
});
