$(document).ready(function() {
//=================================OPBOUW VAN DIT BESTAND============================================
//Met de functies in dit bestand kunnen de standaard-elementen van de magnet worden opgeleukt.
//Standaard staan deze functies aan en kunnen elementen hiervan gewijzigd worden.
//Achter elke optie (of boven de functie) staat in het commentaar (zoals dit) beschreven wat je kunt wijzigen
//Erboven staat ook hoe je de functies helemaal uit kunt zetten.
//Daarna staat waar je eventueel de stylesheets moet/mag aanpassen

//======================================ALGEMENE SETTINGS============================================
var popwidth = 700; //standaard breedte van de lightbox
var popheight = 600; //standaard hoogte van de lightbox
var VautoDimensions = true; //zet op true als lightbox zelf de afmetingen moet detecteren. Anders false.

//======================================SUPERSUCKERFISH-MENU============================================
//uitzetten? verwijder de class 'supermenu' dan uit de master-page
//in de standaard stylesheet (domein.css) staan alle .supermenu styles. (Suckerfish styles.)
supermenu(
		  'supermenu',//1: de class van de navigatie-ul
		  'h',//2: h voor horizontaal menu / v voor verticaal menu
		  '100',//3: breedte van het menu in het geval van een verticaal menu
		  'fade1',//4: fade1 om te faden / anders fade0
		  'slide0',//5: slide1 om te sliden / anders slide0
		  'slow',//6: snelheid van de animatie. Dit kan 'slow','medium','fast' zijn of een getal in milliseconden
		  500,//7: delay. De duur dat het submenu blijft staan wanneer je muis er vanaf is in milliseconden
		  'arrows1',//8: arrows1 om pijltjes bij menuitems met submenu's te laten zien. Anders arrows0
		  8,//9: de minimal breedte van een submenu in em (n.b. de breedte van de sub-ul wordt dynamisch aangepast adhv de tekst in de knoppen)
		  12//10: de maximale breedte van een submenu in em
		  );

//======================================ACCORDEON-MENU============================================
//uitzetten? verwijder de class 'accmenu' op de ul dan uit de master-page
//in de standaard stylesheet (domein.css) staan alle .accmenu styles.
accmenu('accmenu');

//======================================TAALKEUZEMENU============================================
//uitzetten? Verander dan hier de classname van 'languagemenu' naar bv. 'languagemenuoff'
//1: de classname van het taalmenu
//2: delay. De duur dat het submenu blijft staan wanneer je muis er vanaf is in milliseconden
//3: fade of slide
languagemenu('languagemenu',300,'fade');

//======================================FOTOALBUM============================================
//uitzetten kan door voor de volgende regels een dubbele slash (zoals deze regel) te zetten.
//stylesheet om aan te passen galleriffic-2.css
myGallery(
		  10, 			//1: het aantal thumbnail tonen per pagina
		  false, 		//2: navigatie boven thumbnails aan
		  true, 		//3: navigatie onder thumbnails aan
		  false, 		//4: toon div class='nav-controls' met volgende/vorige links
		  true,  		//5: start als slideshow
		  7000,			//6: duratie tussen foto's in slideshow
		  true,			//7: Opent klikken op de grote foto de originele foto in een lightbox?
		  'elastic',	//8: Hoe opent de lightbox. Opties: 'elastic','fade' of 'none'
		  500,			//9: Hoe lang duurt voorgaand effect in milliseconden
		  true			//10: Toon de titel onder de foto
		  );

//======================================LINKS IN LIGHTBOX OPENEN============================================
//uitzetten kan door voor de volgende regel een dubbele slash (zoals deze regel) te zetten.
//1: De tag waarnaar wordt gekeken. Dit kan een id, class, of iets zelfverzonnens zijn.
//2: De waarde van de bovenstaande tag.
//Wanneer dus linklb('title','popup') hieronder staat worden alle links met de volgende tag in een lightbox
//geopend: title='popup'
linklb('title','popup');

//======================================PNG FIX============================================
//uitzetten kan door voor de volgende regel een dubbele slash (zoals deze regel) te zetten.
$(function(){$(document).pngFix();});

//======================================MAGNIFIER============================================
//Alle plaatjes in een paragraaf met als title 'zoom' krijgen een zoom-functie
magnifier('title','zoom');


//=========================================================================================
//=============================HIERONDER NIKS AANPASSEN!!!!================================

function magnifier(v1,v2){
	$('img['+v1+'*='+v2+']').each(function(){$(this).wrap('<a href="'+$(this).attr('src').replace('_Content','___Source')+'" rel="magnify"/>')});
	$('a[rel*=magnify]').magnify({lensWidth:200, lensHeight:200, link:false, delay:100});	
	//in geval van ajax load $('img['+v1+'*='+v2+']').livequery('mouseenter',function(){magnifier(v1,v2)});	
}

function accmenu(){
	if ($('.accmenu').length > 0){
		$('.selected').each(function(){
			$(this).next('ul:first').addClass('ulselected');
			$(this).parent().parent('ul.ulselected').addClass('ulselectedparent');			
			});
		initMenu();
	}
}
function initMenu() {
  $('.ulselectedparent').show(); 
  $('.ulselected').delay(100).slideDown();  
  $('.accmenu li a').click(
//    function() {
//        $(this).next().slideToggle('normal');	
//      }  
    );
  }

function linklb(v1,v2){
	$('a['+v1+'="'+v2+'"]').each(function(){
			var vurl = $(this).attr('href');
			var pathname = window.location.host; 
			$(this).attr('id','#actpop-'+$(this).index()).attr('href','#pop-'+$(this).index()).after('<div style="display:none"><div class="popup" id="pop-'+$(this).index()+'"></div></div>');
			$('#pop-'+$(this).index()+' #mainContent').remove();
				if (vurl.indexOf(pathname) >= 0){
					$('#pop-'+$(this).index()).load(vurl+' #mainContent');
				}else{
					$(this).attr({'href':vurl,'class':'iframe'});
				}
			$(this).fancybox({
			'width'			:	popwidth,
			'height'		:	popheight,
			'autoDimensions'	: VautoDimensions,
			'transitionIn'	:	'fade',
			'transitionOut'	:	'fade',
			'speedIn'		:	500, 
			'speedOut'		:	500, 
			'overlayShow'	:	true,
			'hideOnContentClick'	: false,
			'overlayOpacity'	: 0.65,
			'overlayColor'	:	'#000000',
			'showNavArrows'	:	false,
			'titleShow'		:	false			   
		});
		//return false;
	});
	//in geval van ajax load $('a['+v1+'="'+v2+'"]').livequery('mouseenter',function(){linklb(v1,v2)});	
}

function loadfancybox(target,lightbfx,lightdur,lightit){ // options > http://fancybox.net/api
	target.fancybox({
		'transitionIn'	:	lightbfx,
		'transitionOut'	:	lightbfx,
		'speedIn'		:	lightdur, 
		'speedOut'		:	lightdur, 
		'overlayShow'	:	true,
		'hideOnContentClick'	: true,
		'overlayOpacity'	: 0.85,
		'overlayColor'	:	'#000000',
		'showNavArrows'	:	false,
		'titleShow'		:	lightit
	});
}

// We only want these styles applied when javascript is enabled
function myGallery(thumbs,toppag,botpag,NavControls,slidesh,ssdur,lighb,lightbfx,lightdur,lightit){
	if ($('#thumbs').length > 0){
		$('div.navigation').css({'width' : '300px', 'float' : 'left'});
		$('div.content').css('display', 'block');
		// Initialize Advanced Galleriffic Gallery
		var gallery = $('#thumbs').galleriffic({
			delay:                     ssdur,
			numThumbs:                 thumbs,
			preloadAhead:              14,
			enableTopPager:            toppag,
			enableBottomPager:         botpag,
			//maxPagesToShow:            7,
			imageContainerSel:         '#slideshow',
			controlsContainerSel:      '#controls',
			captionContainerSel:       '#caption',
			loadingContainerSel:       '#loading',
			renderSSControls:          false,
			renderNavControls:         NavControls,
			playLinkText:              'Start Slideshow',
			pauseLinkText:             'Pauzeer Slideshow',
			prevLinkText:              '&lsaquo; Vorige foto',
			nextLinkText:              'Volgende foto &rsaquo;',
			nextPageLinkText:          'Volgende &rsaquo;',
			prevPageLinkText:          '&lsaquo; Vorige',
			enableHistory:             false,
			autoStart:                 slidesh,
			syncTransitions:           true,
			defaultTransitionDuration: 1500,
			onSlideChange:             function(prevIndex, nextIndex) {
				// 'this' refers to the gallery, which is an extension of $('#thumbs')
				this.find('ul.thumbs').children()
					.eq(prevIndex).fadeTo('fast', vaag).end()
					.eq(nextIndex).fadeTo('fast', 1.0);
			},
			onPageTransitionOut:       function(callback) {
				this.fadeTo('fast', 0.0, callback);
			},
			onPageTransitionIn:        function() {
				this.fadeTo('fast', 1.0)
			},
			onTransitionIn:         function(slide, caption, isSync) {
						if (lighb == true){
							loadfancybox($("span.current a"),lightbfx,lightdur,lightit);
						}
						var duration = this.getDefaultTransitionDuration(isSync);
						slide.fadeTo(duration, 1.0);
						caption.fadeTo(duration, 1.0);
			}
		
	});
	var vaag = 0.67;
	$('#thumbs ul.thumbs li a img').css('opacity',vaag);
	$('#thumbs ul.thumbs li a img').hover(function(){
											 $(this).fadeTo('fast',1);
											 },
											 function(){
											 $(this).fadeTo('fast',vaag);
											 });
											}

	}

});//end

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */
;(function($){
	$.fn.superfish = function(op){

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);	
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
			
		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;
			
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();
			
			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);
			
		}).each(function() {
			var menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

	var sf = $.fn.superfish;
	sf.o = [];
	sf.op = {};
	sf.IE7fix = function(){
		var o = sf.op;
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
			this.toggleClass(sf.c.shadowClass+'-off');
		};
	sf.c = {
		bcClass     : 'sf-breadcrumb',
		menuClass   : 'sf-js-enabled',
		anchorClass : 'sf-with-ul',
		arrowClass  : 'sf-sub-indicator',
		shadowClass : 'sf-shadow'
	};
	sf.defaults = {
		hoverClass	: 'sfHover',
		pathClass	: 'overideThisToUse',
		pathLevels	: 1,
		delay		: 800,
		animation	: 'fadeslide',
		speed		: 'normal',
		autoArrows	: true,
		dropShadows : true,
		disableHI	: false,		// true disables hoverIntent detection
		onInit		: function(){}, // callback functions
		onBeforeShow: function(){},
		onShow		: function(){},
		onHide		: function(){}
	};
	$.fn.extend({
		hideSuperfishUl : function(){
			var o = sf.op,
				not = (o.retainPath===true) ? o.$path : '';
			o.retainPath = false;
			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
					.find('>ul').stop(true,true).hide().css('visibility','hidden');
			o.onHide.call($ul);
			return this;
		},
		showSuperfishUl : function(){
			var o = sf.op,
				sh = sf.c.shadowClass+'-off',
				$ul = this.addClass(o.hoverClass)
					.find('>ul:hidden').css('visibility','visible');
			sf.IE7fix.call($ul);
			if (o.animation == 'fadeslide'){
				o.animation = {opacity:'show',height:'show'};
			}else
			if (o.animation == 'none'){
				o.animation = {opacity:'show'};
				o.speed = 0;
			}else
			if (o.animation == 'fade'){
				o.animation = {opacity:'show'};
			}else
			if (o.animation == 'slide'){
				o.animation = {height:'show'};
			}
			o.onBeforeShow.call($ul);
			
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
			return this;
		}
	});

})(jQuery);


/*
 * Supersubs v0.2b - jQuery plugin
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 *
 * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
 * their longest list item children. If you use this, please expect bugs and report them
 * to the jQuery Google Group with the word 'Superfish' in the subject line.
 *
 */

;(function($){ // $ will refer to jQuery within this closure

	$.fn.supersubs = function(options){
		var opts = $.extend({}, $.fn.supersubs.defaults, options);
		// return original object to support chaining
		return this.each(function() {
			// cache selections
			var $$ = $(this);
			// support metadata
			var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
			// get the font size of menu.
			// .css('fontSize') returns various results cross-browser, so measure an em dash instead
			var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
				'padding' : 0,
				'position' : 'absolute',
				'top' : '-999em',
				'width' : 'auto'
			}).appendTo($$).width(); //clientWidth is faster, but was incorrect here
			// remove em dash
			$('#menu-fontsize').remove();
			// cache all ul elements
			$ULs = $$.find('ul');
			// loop through each ul in menu
			$ULs.each(function(i) {	
				// cache this ul
				var $ul = $ULs.eq(i);
				// get all (li) children of this ul
				var $LIs = $ul.children();
				// get all anchor grand-children
				var $As = $LIs.children('a');
				// force content to one line and save current float property
				var liFloat = $LIs.css('white-space','nowrap').css('float');
				// remove width restrictions and floats so elements remain vertically stacked
				var emWidth = $ul.add($LIs).add($As).css({
					'float' : 'none',
					'width'	: 'auto'
				})
				// this ul will now be shrink-wrapped to longest li due to position:absolute
				// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
				.end().end()[0].clientWidth / fontsize;
				// add more width to ensure lines don't turn over at certain sizes in various browsers
				emWidth += o.extraWidth;
				// restrict to at least minWidth and at most maxWidth
				if (emWidth > o.maxWidth)		{ emWidth = o.maxWidth; }
				else if (emWidth < o.minWidth)	{ emWidth = o.minWidth; }
				emWidth += 'em';
				// set ul to width in ems
				$ul.css('width',emWidth);
				// restore li floats to avoid IE bugs
				// set li width to full width of this ul
				// revert white-space to normal
				$LIs.css({
					'float' : liFloat,
					'width' : '100%',
					'white-space' : 'normal'
				})
				// update offset position of descendant ul to reflect new width of parent
				.each(function(){
					var $childUl = $('>ul',this);
					var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
					$childUl.css(offsetDirection,emWidth);
				});
			});
			
		});
	};
	// expose defaults
	$.fn.supersubs.defaults = {
		minWidth		: 9,		// requires em unit.
		maxWidth		: 25,		// requires em unit.
		extraWidth		: 0			// extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
	};
	
})(jQuery); // plugin code ends


//z-index fix for IE7
if ($.browser.msie){
var zIndexNumber = 1000;
$('#navigatie').find('li').each(function(i){
	$(this).css('z-index',zIndexNumber);
zIndexNumber -= 10;
});
};

/**
 * --------------------------------------------------------------------
 * jQuery-Plugin "pngFix"
 * Version: 1.2, 09.03.2009
 * by Andreas Eberhard, andreas.eberhard@gmail.com
 *                      http://jquery.andreaseberhard.de/
 *
 * Copyright (c) 2007 Andreas Eberhard
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 *
 * Changelog:
 *    09.03.2009 Version 1.2
 *    - Update for jQuery 1.3.x, removed @ from selectors
 *    11.09.2007 Version 1.1
 *    - removed noConflict
 *    - added png-support for input type=image
 *    - 01.08.2007 CSS background-image support extension added by Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
 *    31.05.2007 initial Version 1.0
 * --------------------------------------------------------------------
 * @example $(function(){$(document).pngFix();});
 * @desc Fixes all PNG's in the document on document.ready
 *
 * jQuery(function(){jQuery(document).pngFix();});
 * @desc Fixes all PNG's in the document on document.ready when using noConflict
 *
 * @example $(function(){$('div.examples').pngFix();});
 * @desc Fixes all PNG's within div with class examples
 *
 * @example $(function(){$('div.examples').pngFix( { blankgif:'ext.gif' } );});
 * @desc Fixes all PNG's within div with class examples, provides blank gif for input with png
 * --------------------------------------------------------------------
 */

(function($) {

jQuery.fn.pngFix = function(settings) {

	// Settings
	settings = jQuery.extend({
		blankgif: 'blank.gif'
	}, settings);

	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);

	if (jQuery.browser.msie && (ie55 || ie6)) {

		//fix images with png-source
		jQuery(this).find("img[src$=.png]").each(function() {

			jQuery(this).attr('width',jQuery(this).width());
			jQuery(this).attr('height',jQuery(this).height());

			var prevStyle = '';
			var strNewHTML = '';
			var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
			var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
			var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
			var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
			var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
			var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
			if (this.style.border) {
				prevStyle += 'border:'+this.style.border+';';
				this.style.border = '';
			}
			if (this.style.padding) {
				prevStyle += 'padding:'+this.style.padding+';';
				this.style.padding = '';
			}
			if (this.style.margin) {
				prevStyle += 'margin:'+this.style.margin+';';
				this.style.margin = '';
			}
			var imgStyle = (this.style.cssText);

			strNewHTML += '<span '+imgId+imgClass+imgTitle+imgAlt;
			strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
			strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
			strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
			strNewHTML += imgStyle+'"></span>';
			if (prevStyle != ''){
				strNewHTML = '<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;'+'">' + strNewHTML + '</span>';
			}

			jQuery(this).hide();
			jQuery(this).after(strNewHTML);

		});

		// fix css background pngs
		jQuery(this).find("*").each(function(){
			var bgIMG = jQuery(this).css('background-image');
			if(bgIMG.indexOf(".png")!=-1){
				var iebg = bgIMG.split('url("')[1].split('")')[0];
				jQuery(this).css('background-image', 'none');
				jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
			}
		});
		
		//fix input with png-source
		jQuery(this).find("input[src$=.png]").each(function() {
			var bgIMG = jQuery(this).attr('src');
			jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
   		jQuery(this).attr('src', settings.blankgif)
		});
	
	}
	
	return jQuery;

};
})(jQuery);

//supermenu
function supermenu(classofmenu,horver,v_width,fade1,slide1,speed,delay,arrows,ssmin,ssmax){
	if (horver == 'v'){
		$("ul."+classofmenu).addClass('sf-vertical');
		$(".sf-vertical, .sf-vertical li").css('width',v_width+"px");
		$(".sf-vertical li ul,.sf-vertical li.sfHover ul").css('left',v_width+"px");
	}

	var vspeed = speed;
	var vdelay = delay;	
	var vani = 'fadeslide';
	if(fade1 == "fade1" && slide1 == "slide1"){vani = 'fadeslide'}else
	if(fade1 == "fade0" && slide1 == "slide0"){vani = 'none'}else	
	if(fade1 == "fade1"){vani = 'fade'}else
	if(slide1 == "slide1"){vani = 'slide'}
	var varrows = false;
	if (arrows == 'arrows1'){varrows = true}
	$("ul."+classofmenu).supersubs({ 
	    minWidth:    ssmin,   // minimum width of sub-menus in em units 
	    maxWidth:    ssmax,   // maximum width of sub-menus in em units 
	    extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
	                       // due to slight rounding differences and font-family 
	}).superfish({ 
	    delay:       vdelay,                            // one second delay on mouseout 
	    animation:   vani,  							// fade-in and slide-down animation 
	    speed:       vspeed,                          // faster animation speed 
	    autoArrows:  varrows,                           // disable generation of arrow mark-up 
	    dropShadows: false ,                         // disable drop shadows 
	    onInit:        function(){},     			  // callback function fires once Superfish is initialised – 'this' is the containing ul 
	    onBeforeShow:  function(){},     			  // callback function fires just before reveal animation begins – 'this' is the ul about to open 
	    onShow:        function(){},     			  // callback function fires once reveal animation completed – 'this' is the opened ul 
	    onHide:        function(){}     			 // callback function fires after a sub-menu has closed – 'this' is the ul that just closed     
		});								  			// call supersubs first, then superfish, so that subs are 
									                 // not display:none when measuring. Call before initialising 
									                 // containing tabs for same reason. 

}

//==================================
function languagemenu(classname,timout,fx){
	var fx = fx;
	var langlist = $('.'+classname);
	if(langlist.length > 0){
		langlist.css({'display':'none','position':'absolute','top':'0px','left':'0px'});
		langlist.wrap('<div id="langwrap" style="position:relative;"/>');
		$('#langwrap').wrap('<div id="langposition"/>');
		langlist.before('<div id="activelang" style="position:absolute;top:0px;left:0px;"><a href="javascript:void(0);" style="display:block;">'+$('.languagemenu li a.selected,.languagemenu li a.open,.languagemenu li a.openselected').html()+'</a></div>');	

			
			function showmenu(){
				if(fx == 'fade'){
					langlist.stop(true,true).fadeIn();
				}else if (fx == 'slide'){
					langlist.stop(false,true).slideDown();					
				}
			}
			function hidemenu(){
				if(fx == 'fade'){
					langlist.fadeOut();
				}else if (fx == 'slide'){
					langlist.slideUp();					
				}
			}
			
			$("#activelang a") 
			.mouseover( function() { 
					showmenu(); 
			}) 
			.mouseout( function() { 
					t = setTimeout(function(){ 
							hidemenu()                                      
					}, timout); // adjust your time here 
			}); 


			langlist.hover(function(){ 
					clearTimeout(t); 
			},function(){ 
					hidemenu();                                              
			}); 
	}

}
//shuffle function
//$('ul').shuffle();
//var arr = [1,2,3,4,5,6];
//arr = $.shuffle(arr);
(function($){
  $.fn.shuffle = function() {
    return this.each(function(){
      var items = $(this).children();
      return (items.length)
        ? $(this).html($.shuffle(items))
        : this;
    });
  }
 
  $.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);
/**
 * jQuery.timers - Timer abstractions for jQuery
 * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
 * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
 * Date: 2009/10/16
 * http://plugins.jquery.com/project/timers
 * @author Blair Mitchelmore
 * @version 1.2
 *
 **/

jQuery.fn.extend({
	everyTime: function(interval, label, fn, times) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
});

jQuery.extend({
	timer: {
		global: [],
		guid: 1,
		dataKey: "jQuery.timer",
		regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
		powers: {
			// Yeah this is major overkill...
			'ms': 1,
			'cs': 10,
			'ds': 100,
			's': 1000,
			'das': 10000,
			'hs': 100000,
			'ks': 1000000
		},
		timeParse: function(value) {
			if (value == undefined || value == null)
				return null;
			var result = this.regex.exec(jQuery.trim(value.toString()));
			if (result[2]) {
				var num = parseFloat(result[1]);
				var mult = this.powers[result[2]] || 1;
				return num * mult;
			} else {
				return value;
			}
		},
		add: function(element, interval, label, fn, times) {
			var counter = 0;
			
			if (jQuery.isFunction(label)) {
				if (!times) 
					times = fn;
				fn = label;
				label = interval;
			}
			
			interval = jQuery.timer.timeParse(interval);

			if (typeof interval != 'number' || isNaN(interval) || interval < 0)
				return;

			if (typeof times != 'number' || isNaN(times) || times < 0) 
				times = 0;
			
			times = times || 0;
			
			var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});
			
			if (!timers[label])
				timers[label] = {};
			
			fn.timerID = fn.timerID || this.guid++;
			
			var handler = function() {
				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
					jQuery.timer.remove(element, label, fn);
			};
			
			handler.timerID = fn.timerID;
			
			if (!timers[label][fn.timerID])
				timers[label][fn.timerID] = window.setInterval(handler,interval);
			
			this.global.push( element );
			
		},
		remove: function(element, label, fn) {
			var timers = jQuery.data(element, this.dataKey), ret;
			
			if ( timers ) {
				
				if (!label) {
					for ( label in timers )
						this.remove(element, label, fn);
				} else if ( timers[label] ) {
					if ( fn ) {
						if ( fn.timerID ) {
							window.clearInterval(timers[label][fn.timerID]);
							delete timers[label][fn.timerID];
						}
					} else {
						for ( var fn in timers[label] ) {
							window.clearInterval(timers[label][fn]);
							delete timers[label][fn];
						}
					}
					
					for ( ret in timers[label] ) break;
					if ( !ret ) {
						ret = null;
						delete timers[label];
					}
				}
				
				for ( ret in timers ) break;
				if ( !ret ) 
					jQuery.removeData(element, this.dataKey);
			}
		}
	}
});

jQuery(window).bind("unload", function() {
	jQuery.each(jQuery.timer.global, function(index, item) {
		jQuery.timer.remove(item);
	});
});

jQuery.extend({
	random: function(X) {
	    return Math.floor(X * (Math.random() % 1));
	},
	randomBetween: function(MinV, MaxV) {
	  return MinV + jQuery.random(MaxV - MinV + 1);
	}
});