var homepage={init:function() {}}

windowOnLoad.add("homepage.init()");

var GamePreviewer={clickAnimationTimeout: 200,
imer: '',
scrollIntervalObject: '',
scrollInterval: 4000,
scrollTimeOutObject: '',
scrollTimeout: 10000,
lastActiveContainer: '',
stopScrollingBool: false,
loadingBool: false,
doScroll:0,
count: 0,

content: {newContent: '',
oldContent: ''},

init: function() {GamePreviewer.activateBox('game_01');

GamePreviewer.doScroll=1;

GamePreviewer.setScrollInterval();},

openTeaseredPage: function(destination,target) {if(target == '_blank') {window.open(destination, "home_teaser_" + GamePreviewer.count);
GamePreviewer.count++;}
else {document.location.href=destination;}},

goToNextBox: function(){var activeArr='';
var activeContainer='';
var activeID=0;
var idPrefix='0';
var nextContainer='';
if(GamePreviewer.doScroll == 1) {GamePreviewer.activateBox(GamePreviewer.lastActiveContainer);

$$('.activeOrangeBorder').each(function(el) {if(!el.hasClassName('hidden')){activeArr=el.id.split('_');
activeContainer=activeArr[0] + activeArr[1];
activeID=parseInt(activeArr[1]);
return 0;}});


if(activeID < 10){if($('game_' + idPrefix + (activeID + 1))){nextContainer='game_' + idPrefix + (activeID + 1);}else{nextContainer='game_01';}}else{if($('game_' + activeID + 1)){nextContainer='game_' + activeID + 1;}else{nextContainer='game_01';}}


GamePreviewer.deactivateBox(activeContainer,'auto');


GamePreviewer.activateBox(nextContainer,'auto');}},
activateBoxManual: function(fieldID) {GamePreviewer.deactivateBox(GamePreviewer.lastActiveContainer);
GamePreviewer.activateBox(fieldID);
GamePreviewer.doScroll=0;},

activateBox: function(fieldID, mode) {if(!GamePreviewer.loadingBool && Index.trim(fieldID)!=''){ 
var temp=fieldID.split("_");
var actID=temp[1];


if(mode == 'auto'){Index.fadeLayerIn('img_' + actID, 0.0, 1.0, 1.0, false);}else{$('img_' + actID).removeClassName('hidden');}
$(fieldID).addClassName('hidden');
$(fieldID + '_active').removeClassName('hidden');
if($(fieldID + '_active').innerHTML.length == 0){var fieldContent=$(fieldID).innerHTML;
$(fieldID + '_active').update($(fieldID).innerHTML);}
GamePreviewer.lastActiveContainer=fieldID;  }},

deactivateBox: function(fieldID, mode) {if(!GamePreviewer.loadingBool){$$('.gameForegroundBorder').each(function(el) {el.removeClassName('hidden');});

$$('.activeOrangeBorder').each(function(el) {el.addClassName('hidden');});




$$('.imgPreview').each(function(el) {if(!el.hasClassName('hidden')){if(mode == 'auto'){Index.fadeLayerOut(el.id, 1.0, 0.0, 0.5, false);}else{el.addClassName('hidden');}
return 0; }});   }},

setScrollInterval: function(){GamePreviewer.scrollIntervalObject=window.setInterval('GamePreviewer.goToNextBox();', GamePreviewer.scrollInterval);},

setScrollTimeOut: function(){GamePreviewer.scrollTimeOutObject=window.clearTimeout(GamePreviewer.scrollTimeOutObject);

GamePreviewer.scrollIntervalObject=window.clearInterval(GamePreviewer.scrollIntervalObject);},

continueScrolling: function(){GamePreviewer.activateBox(GamePreviewer.lastActiveContainer);

if(GamePreviewer.stopScrollingBool == false){
GamePreviewer.setScrollInterval();}},

stopScrolling: function(){GamePreviewer.scrollIntervalObject=window.clearInterval(GamePreviewer.scrollIntervalObject);
GamePreviewer.stopScrollingBool=true;},

loadNewContent: function(mode){
if(!GamePreviewer.loadingBool){var loadContentID=0;


GamePreviewer.deactivateBox('all', 'auto');



GamePreviewer.loadingBool=true;


Index.fadeLayerTo('newPreviewBox', 1.0, 0.5, 0.3, false);



$$('.imgPreview').each(function(el) {if(!el.hasClassName('hidden')){Index.fadeLayerTo(el.id, 1.0, 0.0, 0.3, false);}});


Index.fadeLayerIn('gamesLoader', 0.0, 1.0, 0.3, false);


switch (mode) {case 'next':
loadContentID=$('img_05').firstDescendant().id;
break;
case 'prev':
loadContentID=$('img_01').firstDescendant().id;
break;}


new Ajax.Request(
'/ajax/html/bigGamePreviewer/', {method: "get",
parameters: "mode=" + mode + '&id=' + loadContentID,

onSuccess: function(r) {var success=r.responseText;
success=Index.trim(success);

if(success!='none' && success!=''){Index.createDiv('tempDiv', 'bigGamePreviewer', success);


$('pictureContainer').update($('pictureContainer_temp').innerHTML);


GamePreviewer.content.oldContent=$('gameSlider').innerHTML;
GamePreviewer.content.newContent=$('gameSlider_temp').innerHTML;


var mixedContent='';
switch (mode) {case 'next':
mixedContent=GamePreviewer.content.oldContent + GamePreviewer.content.newContent;
break;
case 'prev':
mixedContent=GamePreviewer.content.newContent + GamePreviewer.content.oldContent;
break;}

$('gameSlider').update(mixedContent);
switch (mode) {case 'next':
Index.moveLayer('gameSlider', 0, -494, 2, 'GamePreviewer.finalizeSlider();');
break;
case 'prev':
$('gameSlider').setStyle({position:'relative'});
$('gameSlider').setStyle({left:'-494px'});
Index.moveLayer('gameSlider', 0, 494, 2, 'GamePreviewer.finalizeSlider();');
break;}}else{}}}
);}},

finalizeSlider: function(){$('gameSlider').update(GamePreviewer.content.newContent);
$('gameSlider').setStyle({left:''});
$('gameSlider').setStyle({position:''});


GamePreviewer.loadingBool=false;
Index.fadeLayerTo('newPreviewBox', 0.5, 1.0, 0.3, false); 
Index.deleteDiv('tempDiv');
Index.fadeLayerOut('gamesLoader', 1.0, 0.0, 1, false);


GamePreviewer.activateBox('game_01');


GamePreviewer.stopScrollingBool=false;
GamePreviewer.setScrollInterval();}}

windowOnLoad.add("GamePreviewer.init()");

var allGameCharts={activeTab:'',
lowPerformance:0,
ajaxRequestPending:0, 
tempLists:[],
viewLessHeight:'124px',
viewMoreHeight:'432px',
contentSliderRegistry:[],
myFilters:[],
maxGamesPerPage:10,

init:function() {},

preloadImages:function() { var i=0;   

 images=new Array();
 
 images[0]=glob.cdnHost+"/skins/default/gfx/global/dd_right_arrow_down.jpg"
 

 for(i=0; i<images.length; i++) 
 { 
 var imageObj=new Image();
 imageObj.src=images[i]; 
 }},


addNextPrevButtons:function() {var gamesList=$('top'+allGameCharts.activeTab+'Games'+'List').childElements()[0].childElements();

if(gamesList.length < allGameCharts.maxGamesPerPage) {$('topGameChartsPrev').hide();
$('topGameChartsNext').hide();} else {$('topGameChartsPrev').show();
$('topGameChartsNext').show();}},

hideAllPages: function() {var pages=$('top'+allGameCharts.activeTab+'Games'+'List').childElements();
pages.each(function (elem ){$(elem.id).hide();});},

openLastPage:function(pageId) {var pages=$('top'+allGameCharts.activeTab+'Games'+'List').childElements();
$(pages[pages.length -1]).show() ;},

gameFilterListAjax: function(myParams, overWriteContent, callBackFunction) {if(allGameCharts.ajaxRequestPending == 0) {allGameCharts.ajaxRequestPending=1;

new Ajax.Request(
'/ajax/html/topGameChartsGetGames/', {method: "get",
parameters: myParams,

onSuccess: function(r) {var success=r.responseText;
success=Index.trim(success);
success=success.replace(/topGameCharts\./g,'allGameCharts.');
if(success!='none' && success!='') {var oldContent=$('top'+allGameCharts.activeTab+'Games'+'List').innerHTML;

if(allGameCharts.lowPerformance == 0) {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.5, to: 0.0, duration: 0.4, afterFinish: function() {
if(overWriteContent!=1) { 
$('top'+allGameCharts.activeTab+'Games'+'List').update(oldContent + success);} else {$('top'+allGameCharts.activeTab+'Games'+'List').update(success);
allGameCharts.showRefreshButton();}
 
allGameCharts.hideAllPages();
allGameCharts.openLastPage();


new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.0, to: 1.0, duration: 0.4, afterFinish: function() {allGameCharts.ajaxRequestPending=0;
upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}}});

if(typeof(callBackFunction)!='undefined') {eval(callBackFunction);}} });} else {if(overWriteContent!=1) { 
$('top'+allGameCharts.activeTab+'Games'+'List').update(oldContent + success);} else {$('top'+allGameCharts.activeTab+'Games'+'List').update(success);
allGameCharts.showRefreshButton();}


allGameCharts.hideAllPages();
allGameCharts.openLastPage();

upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}

allGameCharts.ajaxRequestPending=0;

if(typeof(callBackFunction)!='undefined') {eval(callBackFunction);}}

return 'content';} else {if(allGameCharts.lowPerformance == 0) {if(overWriteContent == 1) {allGameCharts.showRefreshButton(0);
new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.5, to: 0.0, duration: 0.4, afterFinish: function() {$('top'+allGameCharts.activeTab+'Games'+'List').update(Index.trim($('topGameChartsNoContentMessage').innerHTML));
new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.0, to: 1.0, duration: 0.4});}});} else {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.5, to: 1.0, duration: 0.4});}} else {if(overWriteContent == 1) {allGameCharts.showRefreshButton(0);}
$('top'+allGameCharts.activeTab+'Games'+'List').update(Index.trim($('topGameChartsNoContentMessage').innerHTML));}

allGameCharts.openLastPage();
allGameCharts.ajaxRequestPending=0;

upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}

if(typeof(callBackFunction)!='undefined') {eval(callBackFunction);}

return 'noContent';}}});}},

gameFilterListRefresh: function(theWay, overWriteContent) {
if(typeof(overWriteContent) == 'undefined') { 
overWriteContent=0;} else {overWriteContent=1;}

var currentOff=0;
var pages=$('top'+allGameCharts.activeTab+'Games'+'List').childElements();

var currentOff=0;
if(pages.length > 1) {pages.each(function(elem){
if($(elem.id).style.display!='none') {currentOff=parseInt(elem.id.replace(/page-([a-zA-Z]{2,10})_/,'')) ;
return;}});}

switch(theWay) {case 'prev':
var myParams='theWay=prev';

var prevOff=currentOff - 1;

if((currentOff > 0) && typeof(pages[prevOff])!='undefined') {if(allGameCharts.lowPerformance == 0) {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 1.0, to: 0.0, duration: 0.7, afterFinish: function() {allGameCharts.hideAllPages();
$(pages[prevOff]).show();
new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.0, to: 1.0, duration: 0.7, afterFinish: function() {upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}}});}});} else {allGameCharts.hideAllPages();
$(pages[prevOff]).show();

upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}}}

   break;

   case 'next':

var myParams='theWay=next';

var nextOff=currentOff + 1;

if(typeof(pages[nextOff])!='undefined') {if(allGameCharts.lowPerformance == 0) {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 1.0, to: 0.0, duration: 0.7, afterFinish: function() {allGameCharts.hideAllPages();
$(pages[nextOff]).show();
new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 0.0, to: 1.0, duration: 0.7, afterFinish: function() {upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}}});}});} else {allGameCharts.hideAllPages();
$(pages[nextOff]).show();
upNdown.enableSliding();
if(typeof(GamePreviewer)!='undefined') {GamePreviewer.doScroll=1;}}} else {myParams=myParams+'&offset='+currentOff+'&gameType='+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list1']+'&genreToken='+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list2'];
if(allGameCharts.lowPerformance == 0) {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 1.0, to: 0.5, duration: 0.7, afterFinish: function() {allGameCharts.gameFilterListAjax(myParams, overWriteContent);}});} else {allGameCharts.gameFilterListAjax(myParams, overWriteContent);}}
 break;
 
 case 'static': 
 var myParams='theWay=next';

myParams=myParams+'&offset=-1&gameType='+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list1']+'&genreToken='+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list2'];
if(allGameCharts.lowPerformance == 0) {new Effect.Opacity('top'+allGameCharts.activeTab+'Games'+'List', {from: 1.0, to: 0.5, duration: 0.7, afterFinish: function() {allGameCharts.gameFilterListAjax(myParams, overWriteContent);}});} else {allGameCharts.gameFilterListAjax(myParams, overWriteContent);}
 
 break;} },

allFilterListInit: function(listName) {var children=$(listName).childElements();
var iterat=0;
children.each(function(el) {  
el.id= listName + iterat;

Event.observe(el.id , "click", function() { 
allGameCharts.rowClick(el.id, listName);});

Event.observe(el.id , "mouseover", function() { 
allGameCharts.rowHover(el.id );});
Event.observe(el.id , "mouseout", function() { 
allGameCharts.rowNormal(el.id );});

iterat++;  });   },

allFilterList: function(listName) {if($(listName).hasClassName('closedList')) {$(listName).removeClassName('openedList');
$(listName).addClassName('closedList');

$(listName).removeClassName('closedList');
$(listName).addClassName('openedList');

if(allGameCharts.lowPerformance == 0) {$(listName).hide();
new Effect.Appear(listName, { duration: 0.3});}} else {$(listName).removeClassName('openedList');
$(listName).addClassName('closedList');}},

rowClick:function(objId, listName) {var mAvalue=Index.trim($(objId).descendants()[0].innerHTML);

allGameCharts.rowNormal(objId)
allGameCharts.rowNormal(objId)

$(listName).removeClassName('openedList');
$(listName).addClassName('closedList');

var elemToMove=$(objId).cloneNode(true);
elemToMove.addClassName('firstChild');

$(listName).update(allGameCharts.tempLists[listName]);
allGameCharts.allFilterListInit(listName);

var children=$(listName).childElements();
children.each(function(el) { 
if(el.hasClassName('firstChild')) {el.removeClassName('firstChild');} 
if(el.id == elemToMove.id) {$(listName).removeChild(el);}});

$(listName).insert({top: elemToMove});},


rowHover:function(objId) {$(objId).addClassName('myRowHover');},
rowNormal:function(objId) {$(objId).removeClassName('myRowHover');},

startFilterList: function(list1, list2) {if(allGameCharts.ajaxRequestPending == 1) {return;}

var gameType=Index.trim($(list1).descendants()[0].descendants()[0].innerHTML);
var genreToken=Index.trim($(list2).descendants()[0].descendants()[0].innerHTML);

allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list1']=gameType;
allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list2']=genreToken;

allGameCharts.hideFilterBoxes(allGameCharts.activeTab);

allGameCharts.gameFilterListRefresh('static', 1);},


showRefreshButton:function (overWriteShow) {if(typeof(overWriteShow) == 'undefined') {if($('maybeINeedARefreshButton'+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list1'])) {var showButton=Index.trim($('maybeINeedARefreshButton'+allGameCharts.myFilters['top'+allGameCharts.activeTab+'Games']['list1']).innerHTML);} else {var showButton=0;}} else {var showButton=0;}

if(showButton == 1) {$('kinkyRefreshSelector').removeClassName('hidden');} else {$('kinkyRefreshSelector').addClassName('hidden');}},

topTabGamesList:function(showTabName, hideTabName) {if(allGameCharts.ajaxRequestPending == 1) {return;}

allGameCharts.activeTab=showTabName;

allGameCharts.hideFilterBoxes(hideTabName);

if(showTabName == 'Alphabetical') {$('tabTopGameCharts').removeClassName('activeTabLeft');
$('tabTopGameCharts').addClassName('activeTabMiddle');} else {$('tabTopGameCharts').addClassName('activeTabLeft');
$('tabTopGameCharts').removeClassName('activeTabMiddle');}

if(!$('top'+hideTabName+'GamesList').hasClassName('hidden')) {$('top'+hideTabName+'GamesList').addClassName('hidden');}

if(!$('filterTop'+hideTabName+'Games').hasClassName('hidden')) {$('filterTop'+hideTabName+'Games').addClassName('hidden')}


if($('top'+showTabName+'GamesList').hasClassName('hidden')) {$('top'+showTabName+'GamesList').removeClassName('hidden');}

if($('filterTop'+showTabName+'Games').hasClassName('hidden')) {$('filterTop'+showTabName+'Games').removeClassName('hidden')}

if(allGameCharts.lowPerformance == 0) {new Effect.Fade('filterTop'+hideTabName+'Games', { duration: 0.2});

new Effect.Fade('top'+hideTabName+'GamesList', { duration: 0.2, afterFinish: function() {
new Effect.Appear('filterTop'+showTabName+'Games', { duration: 0.2});

new Effect.Appear('top'+showTabName+'GamesList', { duration: 0.2, afterFinish: function() {if(Index.trim($('top'+showTabName+'GamesList').innerHTML) == '') {$('top'+showTabName+'GamesList').innerHTML=$('topGameChartsAjaxLoadIcon').innerHTML;
allGameCharts.gameFilterListRefresh('static', 1);} else {allGameCharts.showRefreshButton();}}});}});} else {$('top'+hideTabName+'GamesList').hide();
$('top'+showTabName+'GamesList').show();

$('filterTop'+hideTabName+'Games').hide();
$('filterTop'+showTabName+'Games').show();

if(Index.trim($('top'+showTabName+'GamesList').innerHTML) == '') {allGameCharts.gameFilterListRefresh('static', 1);} }},

hideFilterBoxes: function(hideTabName) {if($('all'+hideTabName+'GameFilterList')) {$('all'+hideTabName+'GameFilterList').removeClassName('openedList');
$('all'+hideTabName+'GameFilterList').addClassName('closedList');}

if($('all'+hideTabName+'GameFilterList')){$('all'+hideTabName+'GenresFilterList').removeClassName('openedList');
$('all'+hideTabName+'GenresFilterList').addClassName('closedList');}},

assignMediaThumbs: function(gameId) {$$('span.mediaUrlForGame'+gameId).each(function(elem){var img=Index.trim($(elem.id).innerHTML);
var idToReplaceNamePart=elem.id.replace('extraMediaContainerUrl','');
$('extraMediaContainer'+idToReplaceNamePart).setStyle({backgroundImage: 'url('+img+')'});});},

viewMore: function(gameId, gameType) {allGameCharts.assignMediaThumbs(gameId);

if(Object.isUndefined(allGameCharts.contentSliderRegistry[gameId])) {if($('pictureSlider'+gameId)){allGameCharts.contentSliderRegistry[gameId]=new ContentSlider('topGameChartsGetMedia',240 ,'gameCharts'+gameId, 'gameID='+gameId+'&gameType='+gameType, 1,false , { execute:function() {allGameCharts.assignMediaThumbs(gameId)} });}} 

if(allGameCharts.lowPerformance == 0) {$('longDesc_'+gameId).removeClassName('hidden');
$('longDesc_'+gameId).hide();
$('extraMedia_'+gameId).removeClassName('hidden');
$('extraMedia_'+gameId).hide();

new Effect.Morph(gameId, {style:'height:'+allGameCharts.viewMoreHeight ,duration: 0.8, afterFinish: function() {new Effect.Fade('shortDesc_'+gameId, { duration: 0.2, afterFinish: function() {$(gameId).removeClassName('closedBox');
$(gameId).addClassName('openedBox');

new Effect.Appear('extraMedia_'+gameId, { duration: 0.2, afterFinish: function() {}});

new Effect.Appear('longDesc_'+gameId, { duration: 0.2, afterFinish: function() {}});}});}});} else {$(gameId).removeClassName('closedBox');
$(gameId).addClassName('openedBox');
$('shortDesc_'+gameId).addClassName('hidden');
$('longDesc_'+gameId).removeClassName('hidden');
$('extraMedia_'+gameId).removeClassName('hidden');}},

viewLess: function(gameId) {if(allGameCharts.lowPerformance == 0) {$('shortDesc_'+gameId).removeClassName('hidden');
$('shortDesc_'+gameId).hide();
new Effect.Fade('extraMedia_'+gameId, { duration: 0.2, afterFinish: function() {}});

new Effect.Fade('longDesc_'+gameId, { duration: 0.2, afterFinish: function() {new Effect.Morph(gameId, {style:'height:'+allGameCharts.viewLessHeight ,duration: 0.8, afterFinish: function() {$(gameId).removeClassName('openedBox');
$(gameId).addClassName('closedBox');
new Effect.Appear('shortDesc_'+gameId, { duration: 0.2, afterFinish: function() {}});}});}});} else {$(gameId).removeClassName('openedBox');
$(gameId).addClassName('closedBox');
$('shortDesc_'+gameId).removeClassName('hidden');
$('longDesc_'+gameId).addClassName('hidden');
$('extraMedia_'+gameId).addClassName('hidden');}}}

