$(document).ready(function() {

    // default value in forms
    $("#search-input").defaultvalue("search");
    $("#find-input").defaultvalue("postcode/city/state");

    // calendar (date picker)
    // $('#calendar').datepicker();

    // suckerfish dropdown (primary navigation)
    $('#dropdown').superfish({
        autoArrows: false
    });

    $('#content-intro .button-drop').superfish({
        autoArrows: false,
        speed: 'fast'
    });

    $('#content-intro .filter-drop').superfish({
        autoArrows: false,
        speed: 'fast'
    });

    // filter dropdown checkboxes
//    $('.filter-drop ul li a').click(function() {
//        $(this).toggleClass('add-me');
//        return false;
//    });


    // styling scrollbars cross-browser
    $('#scroller').jScrollPane({
        scrollbarWidth: 12,
        showArrows: true
    });

    if ($(".listing-half .advanced .button-red").length) {
        $(".listing-half .advanced .button-red").jHelperTip({
            trigger: "hover",
            dC: "#cinebuzz-balloon",
            autoClose: false,
            opacity: 1,
            topOff: -120,
            leftOff: -41
        });
    };
    if ($(".movie-times dd a").length) {
        $(".movie-times dd a").jHelperTip({
            trigger: "hover",
            dC: ".session-balloon",
            autoClose: false,
            opacity: 1,
            topOff: -60,
            leftOff: -41
        });
    };
    if ($(".cinema-movie-buy").length) {
        $(".cinema-movie-buy").jHelperTip({
            trigger: "hover",
            dC: ".session-balloon",
            autoClose: false,
            opacity: 0.9,
            topOff: -52,
            leftOff: -44
        });
    };

    if ($(".cinema-movie-hurry").length) {
        $(".cinema-movie-hurry").jHelperTip({
            trigger: "hover",
            dC: ".session-balloon-hurry",
            autoClose: false,
            opacity: 0.9,
            topOff: -85,
            leftOff: -44
        });
    };
    if ($(".cinema-movie-soldout").length) {
        $(".cinema-movie-soldout").jHelperTip({
            trigger: "hover",
            dC: ".session-balloon-soldout",
            autoClose: false,
            opacity: 0.9,
            topOff: -52,
            leftOff: -44
        });
    };
    if ($("#ui-datepicker-div td a").length) {
        $("#ui-datepicker-div td a").jHelperTip({
            trigger: "hover",
            dC: ".session-balloon",
            autoClose: false,
            opacity: 1,
            topOff: -90,
            leftOff: -41
        });
    };

    // voting system (star ratings)
    //$('.voter > input').rating();
    //$('.voter-2 > input').rating();

    // overlays
//    $('#flash-share-modal').jqm({
//        trigger: '#flash-share-show',
//        overlay: 50
//    })
//    $('#flash-comment-modal').jqm({
//        trigger: '#flash-comment',
//        overlay: 50
//    })
//    $('#flash-email-modal').jqm({
//        trigger: '.listing-full .button-green',
//        ajax: '@href',
//        overlay: 50
//    })
    $('#classify-modal').jqm({
        trigger: '.classify',
        overlay: 50
    })

//    $('#flash-share-modal').jqmAddClose('.close');
//    $('#flash-comment-modal').jqmAddClose('.close');
//    $('#flash-email-modal').jqmAddClose('.close');
    $('#classify-modal').jqmAddClose('.close');

});

location.querystring = (function() {

    // The return is a collection of key/value pairs

    var queryStringDictionary = {};

    // Gets the query string, starts with '?'

    var querystring = decodeURI(location.search);

    // document.location.search is empty if no query string

    if (!querystring) {
        return {};
    }

    // Remove the '?' via substring(1)

    querystring = querystring.substring(1);

    // '&' seperates key/value pairs

    var pairs = querystring.split("&");

    // Load the key/values of the return collection

    for (var i = 0; i < pairs.length; i++) {
        var keyValuePair = pairs[i].split("=");
        queryStringDictionary[keyValuePair[0]]
                = keyValuePair[1];
    }

    // toString() returns the key/value pairs concatenated

    queryStringDictionary.toString = function() {

        if (queryStringDictionary.length == 0) {
            return "";
        }

        var toString = "?";

        for (var key in queryStringDictionary) {
            toString += key + "=" +
                queryStringDictionary[key];
        }

        return toString;
    };

    // Return the key/value dictionary

    return queryStringDictionary;
})();
