/***********************************************************
 Javascript functions + definitions for T3 Ext user_pagepics
 include file in TS and add BODY onload event to function
 pagepicInit(). CSS class names and DOM node IDs must
 correspond with CSS file and TS configuration.
 (c) 2008-09 EYE Communications AG, written by Michael Stopp
************************************************************/

// set various globals
var pagepicsCount = 0;	// total number of pictures -> will be set by pagepicInit() function
var pagepicsCurrent = 0;
var pagepicPicClasses = ['pagepic_hide', 'pagepic_show'];
var pagepicNavItemClasses = ['picnavitem', 'picnavitemActive'];
var pagepicNavPrevClasses = ['picnavPrev', 'picnavPrevActive'];
var pagepicNavNextClasses = ['picnavNext', 'picnavNextActive'];

// Initialize pagepic mechanism; must be called onload!
function pagepicInit() {
	if ( document.getElementById('pagepic_1') ) {
		pagepicsCount = 1;
		while ( document.getElementById('pagepic_'+(pagepicsCount+1)) ) {
			pagepicsCount++;
		}
		pagepicsCurrent = 1;
		showPic(1);
	}
}

// show a picture (and hide all others) and adjust navigation highlighting
function showPic(nr) {
	var css;
	for(var i=1;i<=pagepicsCount;i++) {
		css = (i == nr) ? pagepicPicClasses[1]: pagepicPicClasses[0];
		setCSS('pagepic_'+i,css);
		if ( pagepicsCount>1 ) {
			css = (i == nr) ? pagepicNavItemClasses[1]: pagepicNavItemClasses[0];
			setCSS('pagepicNav_'+i,css);
		}
	}
}

function setCSS(id,css) {
	document.getElementById(id).setAttribute("class", css);
	document.getElementById(id).setAttribute("className", css);	// for IE
}

// prev link was clicked in pagepic navigation
function pagepicNavPrev() {
	if ( pagepicsCount>1 ) {
		if (pagepicsCurrent > 1) pagepicsCurrent--;
		else if ( pagepicsCurrent == 1 ) pagepicsCurrent = pagepicsCount;
		showPic(pagepicsCurrent);

		// adjust navigation highlighting
		var css = ( pagepicsCurrent == 1 ) ? pagepicNavPrevClasses[0] : pagepicNavPrevClasses[1];
		setCSS('picnavPrev',css);
		css = ( pagepicsCurrent < pagepicsCount ) ? pagepicNavNextClasses[1] : pagepicNavNextClasses[0];
		setCSS('picnavNext',css);
	}
}

// next link was clicked in pagepic navigation
function pagepicNavNext() {
	if ( pagepicsCount>1 ) {
		if (pagepicsCurrent < pagepicsCount) pagepicsCurrent++;
		else if ( pagepicsCurrent == pagepicsCount ) pagepicsCurrent = 1;
		showPic(pagepicsCurrent);
	
		// adjust navigation highlighting
		var css = ( pagepicsCurrent == pagepicsCount ) ? pagepicNavNextClasses[0] : pagepicNavNextClasses[1];
		setCSS('picnavNext',css);
		css = ( pagepicsCurrent > 1 ) ? pagepicNavPrevClasses[1] : pagepicNavPrevClasses[0];
		setCSS('picnavPrev',css);
	}
}

// pic number link was clicked in pagepic navigation
function pagepicGoPic(n) {
	pagepicsCurrent = n;
	showPic(pagepicsCurrent);

	// adjust navigation highlighting
	var css = ( pagepicsCurrent > 1 ) ? pagepicNavPrevClasses[1] : pagepicNavPrevClasses[0];
	setCSS('picnavPrev',css);
	css = ( pagepicsCurrent < pagepicsCount ) ? pagepicNavNextClasses[1] : pagepicNavNextClasses[0];
	setCSS('picnavNext',css);
}
