
    /*
     * Author: Karl O'Leary,
     * Company: Emagine Media, http://www.emagine.ie
     * Description: Master JS controller for BB
     *
     * Change Log:
     * - 20090511.1553, Karl, cleaned out the bettingslip and registration code to thier own files
     * - 2008-12-18, Karl, added the functionality for the EE Registration form
     * - 2008-11-27, Karl, created
     */



    /*
     * Script variables.
     */
    var version = "0.4";
    var description = "Master Controller";
    var username = "";
    var validated = false;
    var url_path = "";




    /*
     * On load test if the logged in user is of a certain type and load
     * the new betting slip for them.
     */
    $(document).ready(function(){
        username = $("#username").html();        

        url_path = jQuery.url.attr("path");

        if (url_path=="/contact.asp")
            googleMapsLoad();

        if ((username=="KARLAAx" || username=="AARONJ" || username=="AD1001") && (url_path.indexOf("/events/default.asp")==0 || url_path.indexOf("/events/90Mins.asp")==0 )) {
            $("#bettingslip_holder").css("display","block");
            bettingslipLoad();
            bettingslipSetup();
        }

        if (url_path.indexOf("/register")==0) {
            registrationSetup();            
        }

        if (url_path.indexOf("/cashier")==0) {
            cashierSetup();
        }
    });


    /*
     * What to do when the window closes.
     */
    $(window).unload(function () {
        if (url_path=="/contact.asp")
            GUnload();
    });



    // Ajax Login FUNCTIONS =============================================================================================================================================================


    function loginChecking() {}


    function loginResponse(responseText) {
        var custref = $("custref", responseText).text();
        var balance = $("balance", responseText).text();
        var currency = $("currency", responseText).text();
        $("#content_top1").html("");
        $("#content_top1").append('<div class="form_box1a">Welcome '+custref+'. Your Account Balance is: <strong>'+currency+' '+balance+'<\/strong><\/div>');
        $("#content_top1").append('<div class="form_box2a"><a href="\/cashier\/statement.asp" class="toplink2">My Account <\/a> <span class="space_margin">|<\/span> <a href="..\/home.asp?Login=false" class="link">Log Out<\/a><\/div>');
        reloadBettingSlip();
    }


    function errorResponse() {
        alert("We are unable to verify your login Please try again later or contact support@brucebetting.com");
    }


    function betErrorResponse() {
        alert("We are unable to place your bet. Please try again later or contact support@brucebetting.com");
    }





    // Google Maps FUNCTIONS =============================================================================================================================================================


    function googleMapsLoad() {
        if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl());
            map.setCenter(new GLatLng(53.409532, -7.844238), 6);

            GDownloadUrl("/shop_locations.xml", function(data) {
                var xml = GXml.parse(data);
                var markers = xml.documentElement.getElementsByTagName("marker");
                for (var i = 0; i < markers.length; i++) {
                    var name = markers[i].getAttribute("name");
                    var address = markers[i].getAttribute("address");
                    var type = markers[i].getAttribute("type");
                    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
                    var marker = googleMapsCreateMarker(point, name, address, type);
                    map.addOverlay(marker);
                }
            });
        }
    }


    function googleMapsCreateMarker(point, name, address, type) {
        var gIconBlue = new GIcon();
        gIconBlue.image = 'http://www.brucebetting.com/graphics/mm_20_red.png';
        gIconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
        gIconBlue.iconSize = new GSize(12, 20);
        gIconBlue.shadowSize = new GSize(22, 20);
        gIconBlue.iconAnchor = new GPoint(6, 20);
        gIconBlue.infoWindowAnchor = new GPoint(5, 1);

        var gIconRed = new GIcon();
        gIconRed.image = 'http://www.brucebetting.com/graphics/mm_20_red.png';
        gIconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
        gIconRed.iconSize = new GSize(12, 20);
        gIconRed.shadowSize = new GSize(22, 20);
        gIconRed.iconAnchor = new GPoint(6, 20);
        gIconRed.infoWindowAnchor = new GPoint(5, 1);

        var gCustomIcons = [];
        gCustomIcons["shop x"] = gIconBlue;
        gCustomIcons["shop"] = gIconRed;

        var marker = new GMarker(point, gCustomIcons[type]);
        var html = "<b>" + name + "</b> <br/>" + address;
        GEvent.addListener(marker, 'click', function() {
            marker.openInfoWindowHtml(html);
        });
        return marker;
    }


