/*Unhides e-mail adresses, MMK 11/5 2009*/
$(document).ready(function(){
	var at = / at /;
	var dot = / dot /g;
	$('span.hiddenemail').each(function () {
		var addr = $(this).text().replace(at,'@').replace(dot,'.');
		$(this).after('<a href="mailto:' + addr + '" title="' + addr + '">' + addr + '</a>');
		$(this).remove();
	});
});

/* 
A fix for flickering CSS bg images on links in IE6. More info: mister-pixel.com
there is also an IIS fix available: www.aspnetresources.com/blog/cache_control_extensions.aspx */
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}


$(document).ready(function(){
	
	/* Fix mouseover behaviour on shortcut menus
	$("ul.shortcut li").hover(function(){ $("ul", this).slideDown("fast"); }, function() { $("ul", this).fadeOut("fast"); });
	*/
	
	// IE gets some :hover action
	if (document.all) {
		$("ul.shortcut li").hoverClass("Hover");
		$("ul.shortcut li ul").hoverClass("Hover"); //change border around submenu
		$("#nav>ul>li").hoverClass("Hover");
	}

	// magic pullquotes
	$("span.pullquote").each(function(){

		var quote = '<blockquote class="pullquote"><span class="qstart">&#8220;</span>' + $(this).text() + '<span class="qend">&#8221;</span>';

		$(this.parentNode).before(quote);
	});
	
	//init tabs for the timeline
	$('#timeline').tabs({fxFade: true, fxSpeed: 'fast', on: -1, tooltips: 1});

	//if we don't want extra markup for making the mouseover border, we could use this:
	//$("div.section>h3>a").append('<b></b>');
	
	
	//Temp. thing for switching classes
	// Removed by TORK 2007.11.08
	// $("#header").append('<div id="altcss"><a href="#" class="styleswitch" title="text12">12px text</a><a href="#" class="styleswitch" title="altcolor">Light borders</a></div>');
	// $('a.styleswitch').each(function(){
	// 	$(this).click(function(){
	// 		$("body").toggleClass(this.title);
	// 		$(this).toggleClass("active");
	// 	});
	// });
				
	
});

// Generic function for adding .hover on any element in IE<7
$.fn.hoverClass = function(c) {
	return this.each(function(){
		$(this).hover( 
			function() { $(this).addClass(c);  },
			function() { $(this).removeClass(c); }
		);
	});
};



// tabs v1.4- jQuery plugin for accessible, unobtrusive tabs by Klaus Hartl. http://stilbuero.de/tabs/
// Free beer and free speech. Enjoy!
$.fn.tabs = function(options) {
    // configuration
    var ON_CLASS = 'on';
    var OFF_CLASS = 'hide';
    // options
    options = options || {};
    options['activeTab'] = (options.on && typeof options.on == 'number' && options.on > 0) ? options.on - 1 : 0;
    if ((options.fxSlide || options.fxFade) && !options.fxSpeed) {
        options['fxSpeed'] = 'normal';
    }
    var re = /([_\-\w]+$)/i;
    return this.each(function() {
        // retrieve active tab from hash in url
        if (location.hash) {
            var hashId = location.hash.replace('#', '');
            $(this).find('>ul>li>a').each(function(i) {
                if (re.exec(this.href)[1] == hashId) {
                    options.activeTab = i;
                    var unFocus = function() { // required to not scroll to fragment
                        scrollTo(0, 0);
                    };
                    // be nice to IE via Conditional Compilation
                    // this needs to preceed call to unFocus for other browsers
                    /*@cc_on
                    setTimeout(unFocus, 150); // IE needs a little timeout here
                    @*/
                    unFocus();
                    setTimeout(unFocus, 100); // be nice to Opera
                }
            });
        }
        if (options.fxAutoheight) {
            // TODO: $(window).resize();
            var divs = $(this).find('>div');
            var heights = [];
            divs.each(function(i) {
                heights.push( $(this).height() );
                if (options.activeTab != i) {
                    $(this).addClass(OFF_CLASS);
                }
            });
            heights.sort(function(a, b) {
                return b - a;
            });
            divs.each(function() {
                $(this).css({height: heights[0] + 'px'});
            });
        } else {
            $(this).find('>div').not(':eq(' + options.activeTab + ')').addClass(OFF_CLASS);
        }
        $(this).find('>ul>li:eq(' + options.activeTab + ')').addClass(ON_CLASS);
        var container = this;
        $(this).find('>ul>li>a').click(function() {
            if (!$(this.parentNode).is('.' + ON_CLASS)) {
                var target = $('#' + re.exec(this.href)[1]);
                if (target.size() > 0) {
                    var self = this;
                    var visible = $(container).find('>div:visible');
                    var callback;
                    if (options.callback && typeof options.callback == 'function') {
                        callback = function() {
                            options.callback.apply(target, [target[0], visible[0]]);
                        }
                    }
                    var activateTab = function() {
                        $(container).find('>ul>li').removeClass(ON_CLASS);
                        $(self.parentNode).addClass(ON_CLASS);
                    };
                    if (options.fxSlide && options.fxFade) {
                        visible.animate({height: 'hide', opacity: 'hide'}, options.fxSpeed, function() {
                            activateTab();
                            target.animate({height: 'show', opacity: 'show'}, options.fxSpeed, function() {
                                /*@cc_on visible[0].style.filter = ''; @*/ // @ IE, retain acccessibility for print
                                visible.addClass(OFF_CLASS).css({display: '', height: 'auto'}); // retain flexible height and acccessibility for print
                                target.addClass(OFF_CLASS).css({height: 'auto'}); // retain flexible height
                                if (callback) callback();
                            });
                        });
                    } else if (options.fxSlide) {
                        visible.slideUp(options.fxSpeed, function() {
                            activateTab();
                            target.slideDown(options.fxSpeed, function() {
                                visible.addClass(OFF_CLASS).css({display: '', height: 'auto'}); // retain flexible height and acccessibility for print
                                target.addClass(OFF_CLASS).css({height: 'auto'}); // retain flexible height
                                if (callback) callback();
                            });
                        });
                    } else if (options.fxFade) {
                        visible.fadeOut(options.fxSpeed, function() {
                            activateTab();
                            target.fadeIn(options.fxSpeed, function() {
                                /*@cc_on visible[0].style.filter = ''; @*/ // @ IE, retain acccessibility for print
                                visible.addClass(OFF_CLASS).css({display: ''}); // retain acccessibility for print and other media types
                                if (callback) callback();
                            });
                        });
                    } else {
                        visible.addClass(OFF_CLASS);
                        activateTab();
                        target.removeClass(OFF_CLASS);
                        if (callback) {
                            callback();
                        }
                    }
                } else {
                    alert('There is no such container.');
                }
            }
			$(this).find('span.tooltip').remove();
            return false;
		}).hover(
			function(){
				$(this).append('<span class="tooltip">'+this.title+'</span>');
				this.xtitle = this.title;
				this.title = "";
			},
			function(){
				$(this).find('span.tooltip').remove();
				this.title = this.xtitle;
			}
		);
    });
};
$.fn.triggerTab = function(tabIndex) {
    var i = tabIndex && tabIndex > 0 && tabIndex - 1 || 0;
    return this.each(function() {
        $(this).find('>ul>li>a').eq(i).click();
    });
};

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
