var last_clicked = ''; var currentPosition = 0;
var quick_search_focused = false;
$(document).ready(function() {

	$('#newsletterform').labelInInput();

	$('#menu').MenuInitiation();
	$('object,embed').wModeFlashFix();

	$('#footer_sitemap > li > ul > li').each(function(i,li)
	{
		li = $(li);
		if(li.children('ul').length === 0)
		{
			li.addClass('no-children');
		}
	});

    $('div#quick_search div input.quick_search_input').focus(function() {
        quick_search_focused = true;
        this.value = "";
    });

    $('div#quick_search div input.quick_search_go').click(function() {
        if (!quick_search_focused) {
            $('div#quick_search div input.quick_search_input').val('');
        }
    });
	
	

	

    $('.expander').click(function(a) {
        slideToggle(a.currentTarget.id);
    });
    $('.collapser').click(function(a) {
        fadeOut(a.currentTarget.id);
    });

	
	
    function slideToggle(element) {
        var c = element.split("_");

        strExpander = c[1];
		
		// This check is specific to the newsarchive. Checks if the user is allowed to expand months or if she has expanded the whole year.
        try {
            var parent = $("#" + strExpander).parent().get(0).id;

            if (all_expanded['months_' + parent] == true)
                return;
        }
        catch (err) {

        }

		// Sliding
        if (last_expanded[c[0]] != element) {
            if (last_expanded[c[0]] != "" && last_expanded[c[0]] != undefined) {
                obj = "div#" + last_expanded[c[0]].split("_")[1];
                $(obj).slideUp('fast');
                $("#" + last_expanded[c[0]]).removeClass("active");
            }
            $("#" + element).addClass("active");
            last_expanded[c[0]] = element;
        } else {
            $("#" + element).removeClass("active");
            last_expanded[c[0]] = "";
        }

        $("div#" + strExpander).slideToggle('fast');

        window.focus();
    }

    function fadeOut(element) {
        var c = element.split("_");

        strExpander = c[0] + "_" + c[2];
        strDivToFadeOut = "div#" + c[2];

        $(strDivToFadeOut).slideUp('fast');
        $("#" + strExpander).removeClass("active");
        last_expanded[c[0]] = "";

        window.focus();
    }
	/*
    $('div#site_header').click(function() {
        hideMenu();
    });

    $('div#menu_closer').click(function() {
        hideMenu();
    });

    function hideMenu() {
        $('div#menu div.expanded').slideUp('fast');
        $('div#menu a.expander').removeClass("active");
        last_expanded["menuexpander"] = "";
    }*/
});


(function($) {
	$.fn.MenuInitiation = function() {
		return $(this).each(function(container) {
			var container = $(this);

			container.data('hideMenus',function(objTarget)
			{

				if(objTarget && $(objTarget).length !== 0)
				{
					if($(objTarget).is('li.open') === false && $(objTarget).parents('li.open').length === 0)
					{
						container.find('li.open').removeClass('open')
							.children('span.open').removeClass('open')
								.siblings('div.submenu').removeClass('open').hide();
					}
				}
				else
				{
					container.find('li.open').removeClass('open')
						.children('span.open').removeClass('open')
							.siblings('div.submenu').removeClass('open').hide();
				}
			});
			
			var cssToInt = function(obj,cssAttr)
			{
				return parseInt(obj.css(cssAttr).replace('px',''),10)
			}

			var toggleMenu = function()
			{
				var menuItem = $(this);
				container.data('hideMenus')(false);

				if(menuItem.hasClass('open') !== true)
				{
					var menuWidth = $('#menu').width();
					var menuItemLeft = menuItem.parent().position().left;
					var submenu = menuItem.parent().find('div.submenu');
					var subMenuWidth = cssToInt(submenu,'width') + cssToInt(submenu,'padding-left') + cssToInt(submenu,'padding-right');

					var difference = (menuItemLeft + subMenuWidth) - menuWidth;
					if(difference > 0)
					{
						submenu.css({'left':(difference*-1)+'px'})
					}
					else { difference = 0; }
					
					//submenu.css({'background-position':((difference + (menuItem.outerWidth()/2))-7) +'px 0px'});
					submenu.find('div.marker:eq(0)').css({'left':((difference + (menuItem.outerWidth()/2))-7) +'px'});
					
					menuItem.addClass('open')
						.parents('li:eq(0)').addClass('open');
					submenu.addClass('open').show();
				}
			};
			
			container
				.addClass('activated')
				.find(' > ul >li > span')
					.bind('click',toggleMenu).hoverIntent({ over:toggleMenu,timeout:500,out:function(){} }).end()
					.find('> ul > li').each(function(i,item)
					{
						item = $(item);
						var index = item.prevAll().length;
						var intro = $('#menuIntroductions > li:eq('+ index +')').html();
						if(intro.length !== 0)
						{
							item.children('div.submenu').prepend($('<div></div>').html(intro)).prepend('<div class="marker"></div>');
						}
					});
				container.find('.submenu > ul > li').each(function(i,li)
				{
					li = $(li);
					if(li.children('ul').length === 0)
					{
						li.addClass('no-children');
					}
				});
			
			$('body').bind('click',function(e)
			{
				container.data('hideMenus')(e.target);
			});

		});
	};
})(jQuery);

(function ($) {
    $.fn.wModeFlashFix = function () {
        return this.each(function (i, obj) {
            if (obj.tagName === 'EMBED') {
                var embed = $(obj).clone(true);
//                if (embed.prop('wmode').length === 0) {
                    embed.attr('wmode', 'transparent');
                    $(obj).replaceWith(embed);
//                }
            }
            else if (obj.tagName === 'OBJECT') {
                var object = null;
                $(obj).find("param").each(function (j, obj2) {
                    if($(obj2).attr('name').toLowerCase()=="wmode")
                    {
                        object=obj2;
                    }
                });
                if(object==null) {
                    try {
                        object = $(obj).clone();
                    }
                    catch (e) {
                        object = $($(obj).parent().html());
                    }

                    if (object.find('param[name="wmode"]').length === 0) {
                        $('<param name="wmode" value="transparent"/>').appendTo(object);
                        $(obj).replaceWith(object);
                    }
                }
            }
        });
    };
})(jQuery);

(function($) {
	$.fn.labelInInput = function()
	{
		return $(this).each(function(i,fieldset)
		{
			
				
				fieldset = $(fieldset);
				var inputs = $(fieldset).find("input[type='text']");
	
				inputs.each(function(i,textinput)
				{
					textinput = $(textinput);
					var inputid = textinput.attr('id'),
						inputlabel = fieldset.find("label[for='"+ inputid +"']");
			
					if(inputlabel.length > 0)
					{
						inputlabel.addClass('used');
						if(textinput.val() === '' || textinput.val() === inputlabel.text())
						{
							textinput
								.val(inputlabel.text())
								.addClass('labelinserted')
								.data('labeltext',inputlabel.text())
								.bind('focus active',function(e)
								{
									thisinput = $(this);
									if(thisinput.hasClass('labelinserted'))
									{
										thisinput
											.val('')
											.removeClass('labelinserted');
									}
								})
								.bind('blur',function(e)
								{
									thisinput = $(this);
									if(thisinput.val() === thisinput.data('labeltext') || thisinput.val() === '')
									{
										thisinput
											.val(thisinput.data('labeltext'))
											.addClass('labelinserted');
									}
								});
						}
					}
				});
		});
	}
})(jQuery);

/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);
