/**
 * Location:	/modules/view/default/js/index.js
 * Copyright:	Neist & Felskov, 2009+
 *
 * Author:		Neist & Felskov
 * Mail:		kontakt@nfdesign.dk
 * Web:			www.nfdesign.dk
 *
 ***********
 *
 * Håndterer galleriet i toppen af forsiden.
 */

/**
 * IndexGallery
 *
 **********
 *
 * Klargør forside-galleriet.
 */
function IndexGallery(){
	if(!document.getElementById('index_main_gallery')) return;

	// Klargør variabler
	this.index=0;
	this.status=0;
	this.fader=document.getElementById('index_main_gallery_fader');

	// Indlæs listen over artikler
	var tmp=document.getElementById('index_main_gallery').getElementsByTagName('div'); this.list=[];
	var i=tmp.length; var j=i;

	if(i>0)do{
		// Er dette en artikel?
		if(tmp[j-i].className.toLowerCase()=='index_main') this.list[this.list.length]=tmp[j-i];
	}while(--i);
	tmp=null;

	// Gennemgå listen over artikler og klargør navigationen i galleriet
	var i=this.list.length; var j=i;
	if(i>0)do{
		// Klargør navigationen
		var x=j; var y=x; var html='';
		do{html+='<a class="'+((y-x!=j-i)?'arrow_right_dim2':'arrow_right')+'" href="javascript:gallery.goTo('+(y-x)+');">'+(y-x+1)+'</a>';}while(--x);

		// Indsæt navigationen
		this.list[j-i].getElementsByTagName('div')[0].getElementsByTagName('div')[1].innerHTML=html;
	}while(--i);

	// Gennemgå listen over artikler og indsæt navigationen

	// Start slidingen
	this.timer=setTimeout(function(){gallery.next();},10000);
}

/**
 * next
 *
 **********
 *
 * Viser den næste artikel i rækken.
 */
IndexGallery.prototype.next=function(){
	// Er der en handling i gang? - Så afbryder vi funktionen
	if(this.status!=0) return;
	this.status=1;

	// Klargør fading
	this.fader.innerHTML=this.list[this.index].getElementsByTagName('div')[0].getElementsByTagName('div')[0].innerHTML;

	// Opdater index
	this.index++;
	if(this.index>=this.list.length) this.index=0;

	// Vis den rigtige nyhed
	var i=this.list.length; var j=i;
	if(i>0)do{
		this.list[j-i].style.display=(j-i!=this.index)?'none':'block';
	}while(--i);

	// Initialiser fading
	this.fader.style.top=this.list[this.index].getElementsByTagName('div')[0].getElementsByTagName('div')[0].offsetTop+'px';
	this.fader.style.filter='alpha(opacity=100)'; this.fader.style.opacity=1; this.fader.style.display='block';

	// Kør fading
	new Effect(function(p){if(document.all) gallery.fader.style.filter='alpha(opacity='+(100-p*100)+')'; else gallery.fader.style.opacity=(1-p); if(p==1) gallery.status=0;},{duration:0.5});

	// Start slidingen
	if(this.timer) clearTimeout(this.timer);
	this.timer=setTimeout(function(){gallery.next();},10000);
}

/**
 * goTo
 *
 **********
 *
 * Viser den valgte artikel.
 *
 **********
 *
 * Parametre:
 * index (int)							Angiv hvilken artikel, der skal vises.
 */
IndexGallery.prototype.goTo=function(index){
	// Er der en handling i gang? - Så afbryder vi funktionen
	if(this.status!=0) return;
	this.status=1;

	// Klargør fading
	this.fader.innerHTML=this.list[this.index].getElementsByTagName('div')[0].getElementsByTagName('div')[0].innerHTML;

	// Opdater index
	this.index=index;

	// Vis den rigtige nyhed
	var i=this.list.length; var j=i;
	if(i>0)do{
		this.list[j-i].style.display=(j-i!=this.index)?'none':'block';
	}while(--i);

	// Initialiser fading
	this.fader.style.top=this.list[this.index].getElementsByTagName('div')[0].getElementsByTagName('div')[0].offsetTop+'px';
	this.fader.style.filter='alpha(opacity=100)'; this.fader.style.opacity=1; this.fader.style.display='block';

	// Kør fading
	new Effect(function(p){if(document.all) gallery.fader.style.filter='alpha(opacity='+(100-p*100)+')'; else gallery.fader.style.opacity=(1-p); if(p==1){gallery.status=0; gallery.fader.innerHTML='';}},{duration:0.5});

	// Start slidingen
	if(this.timer) clearTimeout(this.timer);
	this.timer=setTimeout(function(){gallery.next();},10000);
}
