
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:{'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);});});var Fader=function(args)
{this.init(args);}
Fader.prototype={init:function(args)
{var self=this;this.currentItem=1;this.items=[];$(args.selector.item,args.selector.wrap).each(function(i)
{$(this).toggleClass('rel abs').css({opacity:(i==0)?'1':'0',top:0,left:0,background:'#fff'});self.items.push(this);});$(args.selector.items,args.selector.wrap).html(this.items.reverse());if(args.naviButtons.show&&this.items.length>1)
{this.addNaviButtons(args);}
this.autoRotate(args);$(args.selector.wrap).mouseenter(function()
{$(this).stopTime('fadeAutoRotate');}).mouseleave(function()
{self.autoRotate(args);});},fadeNext:function(args)
{var self=this;if(!$(args.selector.item,args.selector.wrap).is(':animated'))
{if(this.currentItem==this.items.length)
this.currentItem=1;else
this.currentItem++;var item=$(args.selector.item,args.selector.wrap).eq(this.items.length-1);var itemClone=$(item).clone();$(itemClone).prependTo(args.selector.items,args.selector.wrap);$(item).remove();this.updateCurrent(this.currentItem);$(args.selector.item,args.selector.wrap).eq(this.items.length-1).animate({opacity:'1'},{queue:true,duration:args.speed,complete:function()
{$(this).siblings().eq(0).css('opacity',0);}});}},fadePrev:function(args)
{var self=this;if(!$(args.selector.item,args.selector.wrap).is(':animated'))
{if(this.currentItem==1)
this.currentItem=this.items.length;else
this.currentItem--;var item=$(args.selector.item,args.selector.wrap).eq(0);var itemClone=$(item).clone();$(itemClone).appendTo(args.selector.items,args.selector.wrap);$(item).remove();this.updateCurrent(this.currentItem);$(itemClone).animate({opacity:'1'},{queue:true,duration:args.speed,complete:function()
{$(this).prev(args.selector.item).css('opacity','0');}});}},autoRotate:function(args)
{var self=this;$(args.selector.wrap).everyTime(10000,'fadeAutoRotate',function()
{self.fadeNext(args);});},addNaviButtons:function(args)
{var self=this;var naviWrap=$('<p>',{'class':'navi-wrap abs hid clear'}).appendTo(args.selector.wrap);var prevButton=$('<a>',{'class':'prev rel hid','href':'#','click':function(e)
{e.preventDefault();self.fadePrev(args);},'text':args.naviButtons.prevText}).appendTo('.navi-wrap',args.selector.wrap);var sequenceIndicator=$('<span>',{'class':'sequence','html':'<span class="current">1</span>/'+self.items.length}).appendTo('.navi-wrap',args.selector.wrap);var nextButton=$('<a>',{'class':'next rel hid','href':'#','click':function(e)
{e.preventDefault();self.fadeNext(args);},'text':args.naviButtons.nextText}).appendTo('.navi-wrap',args.selector.wrap);},updateCurrent:function(current)
{$('.current','.navi-wrap').text(current);}};$(function()
{var BRANNFader=new Fader({selector:{wrap:'.fade-wrap',items:'.items',item:'.item'},naviButtons:{show:false,prevText:'Forrige',nextText:'Neste',displaySequence:true},speed:500});});var InputTextReplacer=function(args)
{if($(args.inputs).length>0)
this.init(args);}
InputTextReplacer.prototype={init:function(args)
{var self=this;this.inputs=$(args.inputs).filter(':text, textarea');this.inputs.each(function(i,elem)
{var label=$('label[for="'+$(this).attr('id')+'"]');if(args.hideLabels)
$(label).hide();var labelText=$(label).text();$(this).val(labelText).focus(function()
{if($(this).val()==labelText)
$(this).val('');}).blur(function()
{if(($(this).val()!=labelText)&&($(this).val()==''))
$(this).val(labelText);});});}};$(function()
{var CHESSInputTextReplacer=new InputTextReplacer({inputs:'input.ireplace, textarea.ireplace',hideLabels:true});});$(document).ready(function(){$('div.fade').hover(function(){var fade=$('> div',this);if(fade.is(':animated')){fade.stop().fadeTo(250,1);}else{fade.fadeIn(250);}},function(){var fade=$('> div',this);if(fade.is(':animated')){fade.stop().fadeTo(1000,0);}else{fade.fadeOut(1000);}});});
