/*================================================== GLOBAL JAVASCRIPT */


$('html').addClass('js');


//Global variables
var header_supportnav_timer;
var header_supportnav_timer_duration = 300;

var expand_speed = 250;

var fadein_speed = 200;
var fadeout_speed = 400;
var fadeout_opacity = 0.1;

var cs_fadeout_opacity = 0.2;


$(document).ready(function() {
    /*////////////////////////////////////// INIT */


    // INITIALISE EXPANDABLE MODULES
    InitExpandableModules();

    // INITIALISE SHADOWBOX
    Shadowbox.init({
        language: "en",
        players: ["iframe"],
        useSizzle: true
    });

    // INITIALISE SEARCH BOX
    InitInputDefaultValue(".defaultvalue_input");
    InitSubmitDefaultValue(".defaultvalue_submit", ".defaultvalue_input");

});



//--------------------------------------------- EXPANDABLE MODULES	
function InitExpandableModules() {
    $("#accordion").accordion({ active: false, collapsible: true, autoHeight: false });
    $(".default_open").find("a.expand_link").addClass('close');
    $(".expandable a.expand_link").click(function() {
        var link = $(this);
        var link_classes = link.attr('class').split('open')[0].split('close')[0];
        var module_holder = $(this).parents('div.expandable').find("div.expand_content");

        if ($(this).find('+ div.expand_content').length > 0) {
            module_holder = $(this).find("+ div.expand_content");
        }
        module_holder.stop(true, true).slideToggle(expand_speed, function() {
            if (link.hasClass('close')) {
                //if the module was CLOSED and is OPENING                               
                if (link.parents('#footer').length > 0) {
                    $('#footer a.expand_link').attr('class', link_classes + ' open');
                    //link.html("Click to hide list");
                } else {
                    link.attr('class', link_classes + ' open');
                }
            } else {
                //if the module was OPEN and is CLOSING
                if (link.parents('#footer').length > 0) {
                    $('#footer a.expand_link').attr('class', link_classes + ' close');
                    //link.html("Click to show list");
                } else {
                    link.attr('class', link_classes + ' close');
                }
            }
        });

        return false;
    });
}

function initialize() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(51.4976, -0.1222), 13);
        var mapTypeControl = new GMapTypeControl();
        var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10, 10));
        var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10, 10));
        map.addControl(mapTypeControl, topRight);
        GEvent.addListener(map, "dblclick", function() {
            map.removeControl(mapTypeControl);
            map.addControl(new GMapTypeControl(), bottomRight);
        });
        map.addControl(new GSmallMapControl());
    }
    var where = new GLatLng(51.4986, -0.1263);
    map.setCenter(where, 13);
    var opts = {
        title: " a muse design is currently based in London"
    };
    var marker = new GMarker(where, opts);
    map.addOverlay(marker);

}

//--------------------------------------------- FORMS
/* initialize the inputs which requires a 'default value' system */
function InitInputDefaultValue(input_class) {

    $(input_class).each(function(i) {
        var current_input_id = $(this).attr("id");
        var default_value = GetInputDefaultValue(current_input_id);
        if ($(this).val() == "") {
            $(this).val(default_value);
        }
        InitInputDefaultValueEvents("#" + current_input_id, default_value)
    });
}

/* set the focus and blur events for the 'default value' inputs */
function InitInputDefaultValueEvents(input_id, default_value) {

    $(input_id).click(function() {
        if ($(this).val() == default_value)
            $(this).val("");
    });

    $(input_id).blur(function() {
        if ($(this).val() == "")
            $(this).val(default_value);
    });
}

/* return the value of the label associated to the input */
function GetInputDefaultValue(input_id) {

    var input_default_value = "";
    $("label").each(function(j) {
        if ($(this).attr("for") == input_id) {
            input_default_value = $.trim($(this).text());
        }
    });
    return input_default_value;
}

/* clear the value of the input still using their 'default value' when the form is submitted */
function InitSubmitDefaultValue(submit_class, defaultvalue_class) {

    $(submit_class).click(function() {
        $(this).parent().find(defaultvalue_class).each(function(i) {
            var default_value = GetInputDefaultValue($(this).attr("id"));
            if ($(this).val() == default_value) {
                $(this).val("");
            }
        });
    });
}
