/**
 * @author Utasi Tamás
 */
//<![CDATA[
var bit = 6;
var unitWidth = 750/bit;
var unitHeight = 355/bit;
var temp = "";
var imgIndex = 3;
var origWidth = 250;
var timeout = 10;
var xOffset = origWidth / timeout;
var img_array;
var img_med_array;
var actDirName;
var maxLenght; 

function set( dirName, lenght ){
	window.scrollTo(0,0);
	actDirName = dirName;
	maxLenght = lenght;
	img_array = new Array();
	for( i = 0; i < lenght; i++ ){
		img = new Image();
		if(dirName[dirName.lenght-1] == '/'){
			dirName = String.substr(0,dirName.lenght-1);
		}
		img.src = 'img/' + dirName + '/small/' + (i+1) + '.jpg';
		img_array.push( img );
	}
//	document.getElementById('slide_show_bg').style.height = window.screen.availHeight;
	open_slide_show( 0 );
}


function open_slide_show( i ){
	container = document.getElementById('slide_show_container');
	if( i == 0 ){
		/*A képek beállítása*/
		document.getElementById('iOne').src = img_array[imgIndex-3].src;
		document.getElementById('iTwo').src = img_array[imgIndex-2].src;
		document.getElementById('iThree').src = img_array[imgIndex-1].src;
		document.getElementById('iFour').src = img_array[imgIndex].src;
		setMediumImage( (imgIndex-2) + '.jpg');
		/*Az ablak előtérbe helyezése*/
		document.getElementById('slide_show_bg').style.visibility = 'visible';
		document.getElementById('window').style.visibility = 'visible';
		document.getElementById('window_controller').style.visibility = 'visible';
		container.style.visibility = 'visible';
		/*Az ablak beltartalmának kimentése (hogy nagyításnál ne okozzon zavart)*/
		temp = document.getElementById('slide_show_container').innerHTML;
		document.getElementById('slide_show_container').innerHTML = '';
		/*Rekurzív hívás, a konténer nagyítása*/
		open_slide_show( 1 );
	}else if( i <= bit ){
		/*A nagyításért felelős rész*/
		container.style.width = unitWidth * i + 'px';
		container.style.height = unitHeight * i + 'px';
		timeoutId = window.setTimeout( "open_slide_show("+ ++i + ");" ,25 );
	}else{
		/*A konténer tartalmának visszaírása*/
		document.getElementById('slide_show_container').innerHTML = temp;
	}
}

function setMediumImage( medImgName ){
	img = new Image();
	img.src = 'img/' + actDirName + '/medium/' + medImgName;
//	printf(img.src);
	document.getElementById('big').src = img.src;
	document.links['bigImageHref'].href = 'javascript:enlarge(\'' + 'img/' + actDirName + '/big/' + medImgName + '\',800,600);';
}

function close_slide_show() {
	/*Az iníciális állapot visszaállítása start*/
	imgIndex = 3;
	document.images["iOne"].src = img_array[ 0 ].src;
	document.images["iTwo"].src = img_array[ 1 ].src;
	document.images["iThree"].src = img_array[ 2 ].src;
	document.images["iFour"].src =  img_array[ 3 ].src;
	setMediumImage( '1.jpg');
	/*Az iníciális állapot visszaállítása end*/
	/*Az ablak elrejtése*/
	hideWindow();
}

function hideWindow(){
	document.getElementById('slide_show_bg').style.visibility = 'hidden';
	document.getElementById('slide_show_container').style.visibility = 'hidden';
	document.getElementById('window').style.visibility = 'hidden';
	document.getElementById('window_controller').style.visibility = 'hidden';
}

/*
 *A lapozó műveletek megvalósítása 
 */

var first = true;
var last = true;

function next(){
	if( imgIndex == 3 && first == true ){
		setMediumImage('2.jpg');
		first = false;
	}else if( imgIndex == img_array.length ) {
		setMediumImage( maxLenght + '.jpg' );
		last = true;
	}else if( imgIndex < img_array.length ) {
		nextEffect( origWidth );
		document.images["iOne"].src = img_array[ imgIndex - 3 ].src;
		document.images["iTwo"].src = img_array[ imgIndex - 2 ].src;
		document.images["iThree"].src = img_array[ imgIndex - 1 ].src;
		setMediumImage( imgIndex + '.jpg' );
		document.images["iFour"].src =  img_array[ imgIndex ].src;
	}
}

function pre(){
	if( imgIndex == img_array.length && last == true ){
		setMediumImage( (maxLenght-1) + '.jpg' );
		last = false;
//		--imgIndex;
	}else if( imgIndex == 3 ){
		setMediumImage( '1.jpg' );
		first = true;
//		--imgIndex;
	}else if( imgIndex > 3 ) {
		document.getElementById( 'one' ).style.width = '0px';
		document.getElementById( 'four' ).style.width = origWidth + 'px';
//		printf(img_array[ imgIndex - 4 ].src);
		document.images["iOne"].src = img_array[ imgIndex - 4 ].src;
		document.images["iTwo"].src = img_array[ imgIndex - 3 ].src;
		document.images["iThree"].src = img_array[ imgIndex - 2 ].src;
		setMediumImage( (imgIndex-2) + '.jpg' );
		document.images["iFour"].src = img_array[ imgIndex - 1 ].src;
		preEffect( 0 );
	}
}

function max(a, b){ return Math.max(a,b);}
function min(a, b){ return Math.min(a,b);}

function nextEffect( i ) {
	if( i > 0 ) {
		i -= xOffset;
		document.getElementById('one').style.width = max(i, 0) + 'px';
		document.getElementById('two').style.left = max(i, 0) + 'px';
		document.getElementById('three').style.left = max(i, 0) + origWidth + 'px';
		document.getElementById('four').style.left = max(i, 0) + 2*origWidth + 'px';
		document.getElementById('four').style.width = min((origWidth-i), origWidth) + 'px';
		window.setTimeout("nextEffect(" + i + ");", timeout);
	}else{
		imgIndex++;
	}
}

function preEffect( i ) {
	if( i < origWidth ) {
		i += xOffset;
		document.getElementById( 'one' ).style.width = min(i, origWidth) + 'px';
		//document.getElementById( 'one' ).innerHTML = document.getElementById( 'one' ).innerHTML;
		document.getElementById( 'two' ).style.left = min(i, origWidth) + 'px';
		document.getElementById( 'three' ).style.left = min(i, origWidth) + origWidth + 'px';
		document.getElementById( 'four' ).style.left = min(i, origWidth) + 2*origWidth + 'px';
		document.getElementById( 'four' ).style.width = (origWidth - min(i, origWidth) ) + 'px';
		window.setTimeout( "preEffect(" + i + ")", timeout );
	}else{
		--imgIndex;
		document.images["iOne"].src = img_array[ imgIndex - 3 ].src;
		document.images["iTwo"].src = img_array[ imgIndex - 2 ].src;
		document.images["iThree"].src = img_array[ imgIndex - 1 ].src;
		document.images["iFour"].src = img_array[ imgIndex ].src;
		/*Az elem újrajarzolásának kikényszerítése*/
		document.getElementById( 'one' ).innerHTML = document.getElementById( 'one' ).innerHTML;
	}
}

/*FOR DEBUG*/
function printf( msg ){
	 document.getElementById('sys').innerHTML += ('<br />' + msg + ' '); 
}
//]]>
