/* Copyright (c) 2007-2010 SPIL GAMES.  */
;(function($){$.fn.imageChanger=function(options){var mergedOptions=$.extend({},$.fn.imageChanger.defaults,options);return this.each(function(){new ImageChanger($(this),mergedOptions);});};$.fn.imageChanger.defaults={listItemsSelector:'li',linkSelector:'a',linkDataSelector:'.js-data',imageLinkSelector:'.image a',imageSelector:'.image img',ratingBoxSelector:'.image .rating',selectedItemClass:'selected'};ImageChanger=function(element,options){this.element=element;this.options=options;this.getSubelements();this.bind();this.selectFirstItem();};ImageChanger.prototype={getSubelements:function(){this.imageLink=this.getImageLink();this.image=this.getImage();this.ratingBox=this.getRatingBox();},bind:function(){var self=this;self.element.find(self.options.listItemsSelector).each(function(){self.bindItem($(this));});},selectFirstItem:function(){var firstLink=this.element.find(this.options.listItemsSelector).eq(0).find(this.options.linkSelector);this.select(firstLink);},getImageLink:function(){return this.element.find(this.options.imageLinkSelector);},getImage:function(){return this.element.find(this.options.imageSelector);},getRatingBox:function(){return this.element.find(this.options.ratingBoxSelector);},bindItem:function(item){var self=this;var link=self.getLink(item);var dataContainer=self.getLinkDataContainer(item);var attributes=new ItemAttributes(link,dataContainer);link.mouseover(function(){self.swap(attributes,link);});},getLinkDataContainer:function(item){return item.find(this.options.linkDataSelector);},getLink:function(item){return item.find(this.options.linkSelector);},swap:function(attributes,link){this.imageLink.attr('href',attributes.href);this.imageLink.attr('title',attributes.title);this.imageLink.attr('target',attributes.target);this.imageLink.unbind('click');this.imageLink.click(function(){link.click();});this.image.attr('src',attributes.imageSrc);this.image.attr('title',attributes.title);this.ratingBox.attr('class','rating stars-'+attributes.rating);this.select(link);},select:function(link){this.deselectAll();link.addClass(this.options.selectedItemClass);},deselectAll:function(){this.element.find(this.options.listItemsSelector+' '+this.options.linkSelector).removeClass(this.options.selectedItemClass);}};ItemAttributes=function(link,dataContainer){this.link=link;this.dataContainer=dataContainer;this.extractAttributes();};ItemAttributes.prototype={extractAttributes:function(){$.extend(this,this.getLinkData(),this.getLinkAttributes());},getLinkData:function(){return{rating:this.dataContainer.find('.rating').text(),imageSrc:this.dataContainer.find('.imageSrc').text()};},getLinkAttributes:function(){return{href:this.link.attr('href'),title:this.link.attr('title'),target:this.link.attr('target')};}};})(jQuery);;(function($){$.fn.simpleHotbox=function(opt){var options=$.extend({},$.fn.simpleHotbox.defaults,opt);var element=$(this);var panel=element.find(options.panelContainer);var filmstrip=element.find(options.filmstripContainer);var index;var size=panel.length;init();function init(){setIndex(0);showElement();startAnimation();bind();}
function bind(){bindFilmstrip();bindPanel();}
function bindFilmstrip(){filmstrip.each(function(i){$(this).hover(function(){resetAnimation(i);},function(){startAnimation();});});}
function bindPanel(){panel.hover(function(){stopAnimation();},function(){startAnimation();});}
function startAnimation(){$(document).everyTime(options.transitionInterval,'transition',function(){makeTransition();});}
function stopAnimation(){$(document).stopTime('transition');}
function resetAnimation(i){stopAnimation();hideElement();setIndex(i);showElement();}
function makeTransition(){hideElement();moveIndex();showElement();}
function setIndex(i){index=i;}
function moveIndex(){index++;if(index>size-1){index=0;}}
function showElement(){panel.eq(index).addClass(options.itemActiveClass);filmstrip.eq(index).addClass(options.frameActiveClass);}
function hideElement(){panel.removeClass(options.itemActiveClass);filmstrip.removeClass(options.frameActiveClass);}};$.fn.simpleHotbox.defaults={panelContainer:'.panel .item',filmstripContainer:'.filmstrip .frame',transitionInterval:3000,itemActiveClass:'item_active',frameActiveClass:'frame_active'};})(jQuery);;jQuery.fn.extend({everyTime:function(interval,label,fn,times,belay){return this.each(function(){jQuery.timer.add(this,interval,label,fn,times,belay);});},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.event.special;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,belay){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(times&&times.constructor!=Number){belay=!!times;times=0;}
times=times||0;belay=belay||false;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(belay&&this.inProgress)
return;this.inProgress=true;if((++counter>times&&times!==0)||fn.call(element,counter)===false)
jQuery.timer.remove(element,label,fn);this.inProgress=false;};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);});});;(function($){$.fn.simpleEqualChildrenWidthFix=function(){var totalWidth=$(this).width();var counter=$(this).children().length;if(!totalWidth){return;}
if(!counter){return;}
$(this).children().each(function(){var elementWidth=counter%2?Math.floor(totalWidth/counter):Math.ceil(totalWidth/counter);$(this).width(elementWidth);totalWidth-=elementWidth;counter--;});};})(jQuery);;$(function(){$('.category-box').imageChanger();});;(function($){$(function(){$('#hotbox').simpleHotbox();});})(jQuery);;$(function(){$('#popular-games ol, #favourite-games ol').dTooltip({drawItemCallback:'drawPopularItem',x:0,y:80,displayDiv:'dtooltipOnlyImg',content:'dtooltipOnlyImg',displayDivHeight:148,displayDivWidth:228});});;$(function(){var parentEl=$('#popular-games ol li, #favourite-games ol li');$('a',parentEl).each(function(){$(this).simpleEllipsis({fixedWidth:140});});$("#new-games li").dEllipsis({overflowElement:'a.caption',textElement:'span.titleHolder',shortSteps:true,wrapInWidth:true});});;(function($){$(function(){$('#custom-menu .middle').simpleEqualChildrenWidthFix();});})(jQuery);
