// Author: Dennis Fagan - For Sonic Boom Creative Media
function MainNavAccordianInit() {
    var NavBlock = $('#MainNav');
    
    NavBlock.accordion( {
        autoHeight: false,
		header:'.accordion',
		navigation: true,
		collapsible: true,
		active: false
    });
    NavBlock.bind('accordionchange', function(e, ui){
        Cufon.refresh('#MainNav a');

    });

    $("#MainNav").removeClass("ui-accordion-icons");

    $("#MainNav, #MainNav a, #MainNav ul, #MainNav li").removeClass("ui-helper-reset ui-accordion-content ui-widget-content ui-corner-all ui-corner-bottom ui-accordion-header ui-corner-top");

    $("#MainNav li").removeAttr("class");

    $("#MainNav .ui-icon").remove(); 
}
// Search Auto Complete
function AutoCompleteInit() {

    $('#SearchTextBox').autocomplete({ position: { my: "right top", at: "right bottom" },

        search: function(event, ui) {

            var keyCode = event.keyCode;

        },

        // where the data is coming from 

        source: function(request, response) {

            $.ajax({

                url: "/Webservices/SearchDataServices.asmx/GetSearchData",

                dataType: "xml",

                data: {

                    //where you would type into the webservice the value you are trying to find

                    prefixText: request.term

                },

                //when it is successful do something

                success: function(data) {



                    //map creats a new array

                    autodata = $("SearchResult", data).map(function() {

                        return {

                            value: $("SearchTitle", this).text(),

                            link: $("Link", this).text()

                        };

                    })

                    response(autodata)

                }

            })

        },

        minLength: 2,

        select: function(event, ui, response) {

            //this where do the linking when selected

            var pageLink = ui.item.link;

            window.location = "" + pageLink + ""



        },

        open: function() {

            $(this).removeClass("ui-corner-all").addClass("ui-corner-top");

        },

        close: function() {



            $(this).removeClass("ui-corner-top").addClass("ui-corner-all");

        },

        focus: function(event, ui) {



            $('.ui-autocomplete li').removeClass('selected');



            var selectedItem = $('#ui-active-menuitem').parent();

            $(selectedItem).addClass('selected');

        }

    }); 
}


//GoogleMap Object with pointers

function GoogleMap (MapWrapper)

{

    //Properties

    var self = ""; //creates a reference to itself for drawing points on a map



    //Create the Detail Windows

    this.attachDetailWindow = function(contentString, marker)

    {

        var infowindow = new google.maps.InfoWindow({

            content: contentString

    });

    google.maps.event.addListener(marker, 'click', function() {

        infowindow.open(self,marker);

    });

    }

    //Create the Markers

    this.DrawMapMarker = function(latPoint, LongPoint)

    {

        var location = new google.maps.LatLng(latPoint, LongPoint);

        var Marker = new google.maps.Marker(

        {

            position: location,

            map: self

        });

        return Marker;

    }

    //Initialize the map

    this.init = function(options) {

        var _map = new google.maps.Map(MapWrapper, options);

        self = _map;

    }

    //Initialize with markers and optional popups

    this.initWithMarkers = function(options, markerPoints)

    {

        this.init(options);

        for (i=0; i < markerPoints.length; i++)

        {

            var Marker = this.DrawMapMarker(markerPoints[i].Lat, markerPoints[i].Lon);

            if (markerPoints[i].Details != null)

            {

                this.attachDetailWindow(markerPoints[i].Details, Marker);

            }

        }

    }

}

//Overwriting .Net Default Functionality
function ValidationSummaryOnSubmit(validationGroup) {

    if (typeof(Page_ValidationSummaries) == "undefined")

        return;

    var summary, sums, s;

    for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {

        summary = Page_ValidationSummaries[sums];

        summary.style.display = "none";

        if (!Page_IsValid && IsValidationGroupMatch(summary, validationGroup)) {

            var i;

            if (summary.showsummary != "False") {

                summary.style.display = "";

                if (typeof(summary.displaymode) != "string") {

                    summary.displaymode = "BulletList";

                }

                switch (summary.displaymode) {

                    case "List":

                        headerSep = "<br>";

                        first = "";

                        pre = "";

                        post = "<br>";

                        end = "";

                        break;

                    case "BulletList":

                    default:

                        headerSep = "";

                        first = "<ul>";

                        pre = "<li>";

                        post = "</li>";

                        end = "</ul>";

                        break;

                    case "SingleParagraph":

                        headerSep = " ";

                        first = "";

                        pre = "";

                        post = " ";

                        end = "<br>";

                        break;

                }

                s = "";

                if (typeof(summary.headertext) == "string") {

                    s += summary.headertext + headerSep;

                }

                s += first;

                for (i=0; i<Page_Validators.length; i++) {

                    if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {

                        s += pre + Page_Validators[i].errormessage + post;

                    }

                }

                s += end;

                summary.innerHTML = s;

                window.scrollTo(0,0);

            }

            if (summary.showmessagebox == "True") {

                s = "";

                if (typeof(summary.headertext) == "string") {

                    s += summary.headertext + "\r\n";

                }

                var lastValIndex = Page_Validators.length - 1;

                for (i=0; i<=lastValIndex; i++) {

                    if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {

                        //$('#' + Page_Validators[i].controltovalidate).addClass('error');//Custom Line is here

                        switch (summary.displaymode) {

                            case "List":

                                s += Page_Validators[i].errormessage;

                                if (i < lastValIndex) {

                                    s += "\r\n";

                                }

                                break;

                            case "BulletList":

                            default:

                                s += "- " + Page_Validators[i].errormessage;

                                if (i < lastValIndex) {

                                    s += "\r\n";

                                }

                                break;

                            case "SingleParagraph":

                                s += Page_Validators[i].errormessage + " ";

                                break;

                        }

                    }

                }

                //alert(s);

            }

        }

    }

}

//Init stuff

$(function() {

    $('html').removeClass('no-js');

    MainNavAccordianInit();

    AutoCompleteInit();



    var jpMusicPlayer = $("#jquery_jplayer_1");

    var CurrentTrack = 0;

    var PlayList = [

        { mp3: "/media/music/OnHoldSpot.mp3" },

        { mp3: "/media/music/BackgroundMusic.mp3" }

    ];

    jpMusicPlayer.jPlayer({

        ready: function() {

            jpMusicPlayer.jPlayer("setMedia", PlayList[0]);

        },

        swfPath: "/media/swf",

        supplied: "mp3"

    });

    $(".jp-play").live("click", function() {

        $.toggle(function() {

            jpMusicPlayer.jPlayer("play");

        }, function() {

            jpMusicPlayer.jPlayer("pause");

        });

        return false;

    });

    jpMusicPlayer.live($.jPlayer.event.ended, function() {

        if (CurrentTrack >= PlayList.length - 1) {

            CurrentTrack = 0;

            jpMusicPlayer.jPlayer("setMedia", PlayList[0]);

            jpMusicPlayer.jPlayer("play");

        }

        else {

            CurrentTrack += 1;

            jpMusicPlayer.jPlayer("setMedia", PlayList[CurrentTrack]);

            jpMusicPlayer.jPlayer("play");

        }

    });

    $("a.facebook,a.twitter,a.youtube,a.rss").tooltip({ delay: 50, tipClass: 'tooltip', cancelDefault: true, position: 'top right', offset: [-330, -700] });

});
