﻿//Extend jQuery - USEAGE: $("...").is(":focus") or $("input:focus").doStuff();
jQuery.extend(jQuery.expr[':'], {
    focus: function(element) {
        return element == document.activeElement;
    }
});

//drop down menus
var fins_menu_timeout = 500;
var fins_menu_closetimer = 0;
var fins_menu_sddMenuitem = 0;
var fins_dd_aTag;
var fins_dd_trigger;

function sddOpen() {
    sddCanceltimer();
    sddClose();
    fins_menu_sddMenuitem = $(this).find('ul').eq(0).css('display', 'block');

    fins_dd_aTag = $('a.link.dd');

    fins_dd_trigger = $(this).find(fins_dd_aTag).addClass('on');
    
    
}

function sddClose() {
    if (fins_menu_sddMenuitem) fins_menu_sddMenuitem.css('display', 'none');
    if (fins_dd_trigger) fins_dd_trigger.removeClass('on');
}

function sddTimer() {
    fins_menu_closetimer = window.setTimeout(sddClose, fins_menu_timeout);
}

function sddCanceltimer() {
    if (fins_menu_closetimer) {
        window.clearTimeout(fins_menu_closetimer);
        fins_menu_closetimer = null;
    }
}


//drop down menus
$(document).ready(function() {

    $('.navigation > li.dd').bind('mouseover', sddOpen);
    $('.navigation > li.dd').bind('mouseout', sddTimer);

});

document.onclick = sddClose;


//Tooltip

//tt menus
var fins_tt_timeout = 500;
var fins_tt_closetimer = 0;
var fins_tt_sttMenuitem = 0;

function sttOpen() {
    sttCanceltimer();
    sttClose();
    fins_tt_sttMenuitem = $(this).find('div.tooltip').eq(0).css('display', 'block');
}

function sttClose() {
    if (fins_tt_sttMenuitem) fins_tt_sttMenuitem.css('display', 'none');
}

function sttTimer() {
    fins_tt_closetimer = window.setTimeout(sttClose, fins_tt_timeout);
}

function sttCanceltimer() {
    if (fins_tt_closetimer) {
        window.clearTimeout(fins_tt_closetimer);
        fins_tt_closetimer = null;
    }
}

//quick tooltip

function quickTip() {
    $("#triggerElement").mouseover(showMenu);

    var showMenu = function(ev) {
        //get the position of the placeholder element
    var pos = $("#triggerElement").offset();
    var width = $("#triggerElement").width();
        //show the menu directly over the placeholder
        $("#quickTip").css({ "left": (pos.left + width) + "px", "top": pos.top + "px" });
        $("#quickTip").show();
    }
}


/* Client-side access to querystring name=value pairs
Version 1.3
28 May 2008
	
License (Simplified BSD):
http://adamv.com/dev/javascript/qslicense.txt
*/
function Querystring(qs) { // optionally pass a querystring to parse
    this.params = {};

    if (qs == null) qs = location.search.substring(1, location.search.length);
    if (qs.length == 0) return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
    qs = qs.replace(/\+/g, ' ');
    var args = qs.split('&'); // parse out name/value pairs separated via &

    // split out each name=value pair
    for (var i = 0; i < args.length; i++) {
        var pair = args[i].split('=');
        var name = decodeURIComponent(pair[0]);

        var value = (pair.length == 2)
			? decodeURIComponent(pair[1])
			: name;

        this.params[name] = value;
    }
}

Querystring.prototype.get = function(key, default_) {
    var value = this.params[key];
    return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
    var value = this.params[key];
    return (value != null);
}

// Used for allowing to hit Enter Key when submitting form
function clickButton(e, buttonid) {
    var bt = document.getElementById(buttonid);
    if (typeof bt == 'object') {
        if (navigator.appName.indexOf("Netscape") > (-1)) {
            if (e.keyCode == 13) {
                if (bt && typeof (bt.click) == 'undefined') {
                    bt.click = addClickFunction1(bt)
                }
            }
        }
        if (navigator.appName.indexOf("Microsoft Internet Explorer") > (-1)) {

            if (event.keyCode == 13) {
                bt.click();
                return false;
            }
        }
    }
}

function addClickFunction1(bt) {
    var result = true;
    if (bt.onclick) result = bt.onclick();
    if (typeof (result) == 'undefined' || result) {
        eval(bt.href);
    }
}




