duet = new Array();
fost_duet = new Array();
a_trecut_una_buna = false;
cur_slide = null;
cur_slide_true = null;
interv = false;

// set what happens once the image has loaded 
   

// preload the image file



function db_arata(idu,cu_opac){
	if($(idu) ){
		if(cu_opac && 1){
			changeOpac(1,  idu);
			opacity(idu, 1, 100, 500);
		}
		$(idu).className = 	$(idu).className.replace(/nodisp/gi,'');		
	}
}
function db_ascunde(idu,verif){
	if($(idu) ){
		if(!verif ||  db_se_vede(idu))
			$(idu).className += ' nodisp';
	}
}
function $(id){
	if(document.getElementById(id)){
		return document.getElementById(id);
	}
	return false;
}

function $$(id){
	if(m = document.getElementById(id))
		return m.style;
	return false;
}

function changeOpac(opacity, id) {
//$('uptit').innerHTML += ''+id+':'+opacity+', ';
	var obj = $(id);
	if(!obj) return;
	var object = obj.style;object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
function opacity(id, opacStart, opacEnd, millisec,comand) {

    var timer = 0;
   	var pasi = 30;
    if(opacStart < opacEnd) {
		var dife = opacEnd - opacStart;
		
		for(i =1; i<= pasi;i++){
			var op = Math.round(opacStart + dife/pasi*i);
			setTimeout("changeOpac(" + op+ ",'" + id + "')",Math.round(millisec/pasi * (i-1)) );
		}

    } 
    else {
		var dife = opacStart - opacEnd;
		
		for(i =1; i<= pasi;i++){
			var op = Math.round(opacEnd - dife/pasi*i);
			setTimeout("changeOpac(" + op+ ",'" + id + "')",Math.round(millisec/pasi * (i-1)) );
		}

    } 	
	

	if(comand){
		setTimeout(comand,millisec);
		
	}
	
}
function opti_tab(prefixvictim,sel,nrvictim,clasasel,clasanosel,prefixindic,clasaindsel,clasaindnosel){
	if(!$(prefixvictim  + '1')){
		return;
	}
	for(i = 1; i <= nrvictim; i++){
		var m = $(prefixvictim + i);
		var ind = $(prefixindic + i);
		if(!m){
			continue;
		}

		m.className = clasasel ? m.className.replace(clasasel,'') : m.className;	
		m.className = clasanosel ? m.className.replace(clasanosel,'') : m.className;			
		if(ind){
			ind.className = clasaindsel ? ind.className.replace(clasaindsel,'') : ind.className;	
			ind.className = clasaindnosel ? m.className.replace(clasaindnosel,'') : ind.className;	
		}

		if(i == sel){
			m.className = clasasel ?  m.className + ' ' + clasasel : m.className;
			if(ind){
				ind.className = clasaindsel ? ind.className + ' ' + clasaindsel : ind.className;
			}
		}	
		else{
			if(clasanosel){
				m.className = m.className + ' ' + clasanosel;
			}
			if(ind && clasaindnosel){
				ind.className = ind.className + ' ' + clasaindnosel;
			}			
		}
	}
}

function preload_img(id,tip,ignore_procstart) {
	if(!document.img_opti) 
		document.img_opti = new Array();

	num_48 = Math.floor((widthdisp-12) /2);
	if(!tip)
		tip = 1;
	//1 =  div-ul e landscape sua centrat, 2 = sunt 2, 3 = daca sunt 8		
	if(tip==1){
		var width = Math.round(widthdisp * 96/100) + 12;
		var height = Math.floor(widthdisp * 64/100);		
		var lo = 1;				
	}
	else if(tip==2){
		var width = num_48;
		var height = Math.floor(widthdisp * 64/100);		
		var lo = 0;				
	}
	
	else if(tip==3){
		var width = Math.floor((widthdisp-16) /4);
		var height = Math.floor(widthdisp * 32/100);		
		var lo = 0;				
	}		
	show_indice();
	
	sor = STI+'jpg.php?w='+width+'&h='+height+'&url='+imagini[id][1]+'&lo='+lo;
	testimage = new Image; 
	testimage.onload  =  function (){ construct_image(id,tip,sor,ignore_procstart); };
	testimage.src = sor;

	//alert('in: ' + testimage.width)	;
}

function make_prev_allowed(){
	//trebuie sa detectam unde suntem si in functie de asta care e cel anterior
	//1. imaginea din cur_slide este 1/pagina
	if(!cur_slide || !imagini[cur_slide] ){
		return 1;
	}
	
	var de_studiat = ((cur_slide-1) > 0) ? (cur_slide-1) : imagini_max ;
	var im = imagini[de_studiat] ;

	for(var i= de_studiat;i>0;i--){		
		if(!$('im_'+ i)){
			//daca e orizontala sau deja  a fost una
			if(a_trecut_una_buna || (imagini[i][2]==1) ){
				if(imagini[i][2]==0){
					if(a_trecut_una_buna && (a_trecut_una_buna<i) ){
						cur_slide_true = i;
					}
					a_trecut_una_buna = false;
				}

				return i;					
			}
			else{
				a_trecut_una_buna = i;
			}
		}
	}		

	for(var i= imagini_max ;i>0;i--){		
		if(!$('im_'+ i)){
			if(a_trecut_una_buna || (imagini[i][2]==1) ){
				if(imagini[i][2]==0){
					if(a_trecut_una_buna && (a_trecut_una_buna<i) ){
						cur_slide_true = i;
					}				
					a_trecut_una_buna = false;
				}
				return i;					
			}
			else{
				a_trecut_una_buna = i;
			}
		}
	}		

	//daca si asta
}

function do_home(strict,ignore_procstart,ignore_big,cu_interval){
	if(!imagini[1]){
		return;	
	}
	if(interv && !cu_interval) {
		window.clearInterval(interv);	
	}
	
	$('imgs').onclick = function(){
		if(!window['process_started']){
			if(window['imagini_max'] < 4){
				remove_all();	
			}
			do_home();
		}
	};
	if(cur_slide_true && !strict && !ignore_big){
		//alert(cur_slide_true);
		cur_slide = cur_slide_true;
		cur_slide_true = false;
	}
	
	//afla numar curent (de afisat);
	if(process_started && !ignore_procstart){
		return;
	}
	if(strict){
		cur_slide = strict;
		var to_do = cur_slide;
	}
	else if(strict ===0){
		var to_do = make_prev_allowed();
		strict = cur_slide = to_do;				
		//alert(to_do);
	}	
	else{
		var to_do = find_cur(false,ignore_procstart);		
	}
	if(!imagini[to_do]){
		to_do =1;	
	}
	
	
	//remove_all();
	
	var d = duet.length;
	//strict indica daca nu va incarca 1 daca are un duet in asteptare
	if( (imagini[to_do][2] == 1) && (!strict || (strict == to_do) ) && !ignore_big ){
		if(process_started ===1){
			process_started = false;
		}
		preload_img(to_do,1);	
	}
	//primul din duet
	else if((imagini[to_do][2] <1) && (d < (duet_length-1)) ){
		process_started = 1;
		duet[d] = to_do;
		if(!strict){
			do_home(null,true,false,cu_interval);
		}
		else{
			do_home(null,true,true,cu_interval);		
		}
	}
	else if((imagini[to_do][2] <1) && (d == (duet_length-1) ) ){
		duet[d] = to_do;
		process_started = false;		
		preload_img(duet[0],2);	
	}	
	else if(ignore_big){
		do_home(strict,ignore_procstart,ignore_big,cu_interval);
	}
	else{
		return;
	}
}
function do_eight(old_to_do,ignore_procstart){
	if(!imagini[1]){
		return;	
	}	
	var to_do = find_cur(false,ignore_procstart);
	
	if((to_do == 1) && (!old_to_do)){
		remove_all(); 
	}
	
	if(process_started && !ignore_procstart){
		return;
	}
	if(old_to_do && (old_to_do > to_do)){
		cur_slide =false;
		return;
	}
	preload_img(to_do,3,true);				
}



function remove_all(except){

	var desters = new Array();
	for(zu in $('imgs').childNodes){
		if($('imgs').childNodes[zu] && $('imgs').childNodes[zu].id ){
			var zus = $('imgs').childNodes[zu].id;
			if(zus!=except){
				desters[desters.length] = zus;
			}
		}
	}
	for(i = 0; i <desters.length; i++){
		$('imgs').removeChild($(desters[i]));
	}
	if(!except){
		//cur_slide = false;
	}
	
}

function show_indice(){
	for(var i = 0; i <= 100; i++) {
		setTimeout("$$('indmic').width ='"+ (i * 1) +"%'",i * 50);
	}
	db_arata('indice');
	
}

function find_cur(just_compute,ignore_procstart,in_minus){
	if(!window['cur_slide']){
		cur_slide =false;
	}

	var prop = false;
	var arkeys = new Array();
	ak = 0;
	for(var i in imagini){
		if(!in_minus){
			if((!cur_slide ) || (cur_slide <  Number(i))){
				prop = Number(i);
				break;
			}
			else if(!imagini[Number(i)+1]){
				//ma oblig sa aiba indice 1 prima
				prop = 1;		
				
				break;
			}
		}
		else{
			arkeys[ak++] = i;				
		}
	}
	if(in_minus){
		arkeys.reverse();
		
		for(i = 0; i< ak; i++){
			var num = arkeys[i];
			if((!cur_slide ) || (cur_slide >  Number(num))){
				prop = Number(num);
				break;
			}
			else if(!imagini[Number(num)-1]){
				//ma oblig sa aiba indice 1 prima
				prop = arkeys[0];		
				
				break;
			}		
		}		
	}
	if(!just_compute && (!process_started || ignore_procstart)){
		cur_slide = prop;
	}
	return prop;
	
}


/*
	<div class="img"><img src="images/img1.jpg" width="422"  alt="lalal" title="lalala" /></div>
	<div class="desp"> </div>
*/

function construct_image(id,tip,sorc,ignore_procstart){
		
		//1 =  div-ul e landscape sua centrat, 2 = sunt 2, 3 = daca sunt 8
		if(!tip){
			tip = 1;
		}
		var cla = (tip == 1) ? 'img imgabs transp' : 'img transp';
		db_ascunde('indice');		

		
		if($('di_'+id) || (process_started && !ignore_procstart  ) ){

			if(duet.length ==2){
				process_started = true;
				duet = new Array();
			}
			return;
		}
		process_started = true;
		//alert(testimage.src);

		document.img_opti[id]= new Image; 
		document.img_opti[id].src= sorc;
		document.img_opti[id].alt= imagini[id][0];		
		document.img_opti[id].title= imagini[id][0];					

		var im =  document.img_opti[id];	
		
		im.setAttribute("id", 'im_'+id);			
		
		var di = document.createElement('div');	
		di.setAttribute("class", cla);		
		di.setAttribute("id", 'di_'+id);	
	

		di.appendChild(im);		
		
		if(tip ==2){
			if(duet[0] == id){
				var contd = document.createElement('div');	
				contd.setAttribute("class", 'imgabs trsp');						
				contd.setAttribute("id",  'cont_'+id);		
				$('imgs').appendChild(contd);				
			}
			else if($('cont_'+duet[0])){
				var desp = document.createElement('div');	
				desp.setAttribute("class", 'desp');				
				desp.setAttribute("id",  'desp_'+id);		
				$('cont_'+duet[0]).appendChild(desp);				
				$('desp_'+id).className = 'desp';	

			}
			else{
				return;
			}
			$('cont_'+duet[0]).appendChild(di);
		}		
		else{			
			$('imgs').appendChild(di);

		}
		$('di_'+id).className = cla;		
		if(tip == 1){
			$$('di_'+id).width = (num_48*2 + 12)+'px';	
		}
		else if(tip == 2){
			$$('di_'+id).width = (num_48)+'px';	
		}		
		
		else if(tip == 3){
			$$('di_'+id).width = Math.floor((widthdisp-16) /4)+'px';	
			$$('di_'+id).margin = '0 4px 4px 0';				
		}			

		if(tip==1 ){		
			var coma = "remove_all('di_"+id+"');process_started = false;";
			opacity('di_'+id, 0, 100, 700,coma);
		}
		else if(tip==3){
			setTimeout("do_eight("+id+",true);",100);		
			var coma = "process_started = false;";
			$('di_'+id).onclick = function(){
				window.location = imagini[id][3];
			};			
			opacity('di_'+id, 0, 100, 700,coma);			
		}
		else if(id==duet[1]){
			var coma = "remove_all('cont_"+duet[0]+"');process_started = false;";		
			opacity('cont_'+duet[0], 0, 100, 700,coma);			
			duet = new Array();

		}	
		else{
			var coma = "remove_all('cont_"+duet[0]+"');";		
		}	

		
	
			

		if((tip ==2) && duet.length && (id==duet[0] )  ) {
		
			preload_img(duet[1],2,true);	
			$('cont_'+duet[0]).className = 'imgabs trsp';	
		}


}






