var isWorking = false;
var menuIsOpen = false;

/*function eml(c, color) {
	var h = "m";
	h += "ail"+'to';
	var ex = "exp";
	h += ':' + proparsaj_str(c);
	document.write('<a href="'+h+'" style="color:'+color+'">' + proparsaj_str(c) + '</a>');
}*/

function eml(c, color) {
	var h = "m";
	h += "ail"+'to';
	var ex = "exp";
	h += ':' + c + '@' + ex + "ositus" + "." + "hr";
	document.write('<a href="'+h+'" style="color:'+color+'">' + c + '@' + ex + "ositus" + "." + "hr" + '</a>');
}

function menu_click() {
	var path = www;
	/**
	 * scale staviti nazad na 780
	 */
	if (menuIsOpen)
		return;
	if (isWorking)
		return;
	isWorking = true;
	Ext.get('menu').scale(595,17,{duration: .3, concurrent:true, callback: function() {
		//menu_show();
		isWorking = false;
	}});

	Ext.get('menu_img').fadeOut({duration: .3, concurrent:true, callback: function() {
			document.getElementById('menu_img').src = path + 'foto/en/menu.gif';
			Ext.get('menu_img').fadeIn({duration: .3, concurrent:true, callback: function() {
				menu_show(0);
			}});
		}
	});
	//setTimeout("menu_fadein('"+path+"');",300);
}

function menu_fadein(path) {
	
	
}

function menu_show(count) {
	/*if (typeof(count) == "object") {
		menu_show(0);
	} else {*/
		/**
		 * Kada projekti budu aktivirani, ovaj count treba staviti na 6
		 */
		isWorking = true;
		for (var i=0; i<5; i++) {
			Ext.get('menu_'+i).fadeIn({duration: .30, concurrent:true});
		}
		isWorking = false;
		menuIsOpen = true;
		/*if (count < 5) {
			isWorking = true;
			Ext.get('menu_'+count).fadeIn({duration: .25, concurrent:true, callback: function() {
				menu_show(count+1);
				isWorking = false;
			}});
			//setTimeout("menu_show("+(count+1)+");",300);
		} else {
			menuIsOpen = true;
		}*/
	//}
}

function showcase_show(count) {
	if (isWorking) return;

	if (typeof(count) == "object") {
		showcase_show(0);
	} else {
		isWorking = true;
		for (var i=0; i<5; i++) {
			Ext.get('showcase_'+i).fadeIn({duration: .3, concurrent:true});
		}
		isWorking = false;
		/*if (count < 5) {
			isWorking = true;
			Ext.get('showcase_'+count).fadeIn({duration: .15, concurrent:true, callback: function() {
				isWorking = false;
				showcase_show(count+1);
			}});
		}*/
	}
}

function showcase_hide(count) {
	if (isWorking) return;
	/*if (typeof(count) == "object") {
		showcase_hide(0);
	} else {
		if (count < 5) {*/
			//isWorking = true;
		isWorking = true;
		for (var i=0; i<5; i++) {
			Ext.get('showcase_'+i).fadeOut({duration: .3, concurrent:true});
		}
		isWorking = false;
			//showcase_hide(count+1);
			/*Ext.get('showcase_'+count).fadeOut({duration: .15, callback: function() {
				isWorking = false;
				showcase_hide(count+1);
			}});*/
			//setTimeout("showcase_hide("+(count+1)+");",100);
//}		
//}
}

var activePath = '';
function nice_replace(sourceId,velika) {
	
	var path = document.getElementById(sourceId ? sourceId : 'img_srednja').src.replace((velika ? '-velika/' : '-mala/'),'-najveca/');

	if (activePath != path) {
		activePath = path;
	} else {
		return;
	}
	
	document.getElementById('top_img').src = www + 'images/ajax-loader.gif';
	document.getElementById('top_img').style.visibility = 'hidden';

	var transObj = null;
	var max_height = 500;
	var max_width = 450;
	var arl = document.getElementById('ar-l');
	var arr = document.getElementById('ar-r');
	
	arl.style.display = arr.style.display = 'none';
	//Ext.get('top_img').set({src: www + 'images/ajax-loader.gif'});
	//Ext.get('top_img').repaint();
	
	var nasao = prikazati = false;
	for (var i=0; i<cbd.length && !nasao; i++) {
		if (cbd[i].indexOf(path) >= 0) {
			nasao = true;
			prikazati = cbv[i];
		}
	}
	
	for (var i=0; i<cld.length && !nasao; i++) {
		if (cld[i].indexOf(path) >= 0) {
			nasao = true;
			prikazati = clv[i];
		}
	}
	
	
	if (prikazati) {
		var targetImgObjekt = new Image();
		targetImgObjekt.src = path;
	
		var id = 'top_img_div';
		var prvi = (document.getElementById('video_logo').style.display == 'block' ||
					document.getElementById('video_logo').style.display == '') ? 'video_logo' : id;
	
		//if (transObj) transObj.stopFx();
		//transObj = Ext.get(prvi);
		//transObj.hide();
		document.getElementById('top_img').style.visibility = 'visible';
		Ext.get(prvi).setStyle('display','none');
		//transObj.fadeOut({duration: .3, useDisplay: true, callback: function() {
			document.getElementById('top_img').src = targetImgObjekt.src;
			
			isWorking = true;
			Ext.get(id).fadeIn({duration: .5, useDisplay: true, callback: function() {
				
				arl.style.height = arr.style.height = '500px'; //targetImgObjekt.height + 'px';
				arl.style.width = arr.style.width = Math.floor(targetImgObjekt.width/2) + 'px';

				
				if (Ext.isIE) {
					document.getElementById('img-l').style.marginTop = document.getElementById('img-r').style.marginTop = (Math.floor(targetImgObjekt.height/2)-30) + 'px';
					document.getElementById('img-l').style.marginLeft = 0;//((max_width-targetImgObjekt.width)/2-80) + 'px';
					document.getElementById('img-r').style.marginLeft = (targetImgObjekt.width-25) + 'px';
				} else {
					document.getElementById('img-l').style.marginTop = document.getElementById('img-r').style.marginTop = (Math.floor(targetImgObjekt.height/2)-30) + 'px';
					document.getElementById('img-l').style.marginLeft = ((max_width-targetImgObjekt.width)/2) + 'px';
					document.getElementById('img-r').style.marginLeft = (((max_width-targetImgObjekt.width)/2)+(targetImgObjekt.width)-16) + 'px';
				}
				
				//arl.style.top = arr.style.top = 0; //Math.round((max_height-targetImgObjekt.height)/2) +'px';
				//arl.style.marginLeft = '0'; //Math.round((max_width-targetImgObjekt.width)/2)+'px';
				//arr.style.marginLeft = '200px'; //(Math.round((max_width-targetImgObjekt.width)/2) + Math.floor(targetImgObjekt.width/2)) + 'px';
				
				if (Ext.isIE) {
					arl.style.marginLeft = (Math.round((max_width-targetImgObjekt.width)/2)-227) +'px';
					arr.style.marginLeft = ((Math.round((max_width-targetImgObjekt.width)/2)-227)+Math.round(targetImgObjekt.width/2)) +'px';
				} else {
					arl.style.marginLeft = (Math.round((max_width-targetImgObjekt.naturalWidth)/2)+5) +'px';
					arr.style.marginLeft = ((Math.round((max_width-targetImgObjekt.naturalWidth)/2)+5)+Math.round(targetImgObjekt.naturalWidth/2)) +'px';
				}
			
				arl.style.top = arr.style.top = '0';//(slika.getHeight()-310) + 'px';
				arl.style.marginTop = arr.style.marginTop = '100px';//(slika.getHeight()-310) + 'px';
				arl.style.display = arr.style.display = 'block';

				isWorking = false;
				//transObj = null;
			}});
		//}});
	}
}

function checkEmail(str) {
	return /^(\w+\.)*(\w+)@(\w+\.)+([a-zA-Z]{2,6})$/.test(str);
}

function kontakt_posalji(f,lang) {
	if (f.ime_prezime.value.length < 2 || f.poruka.value.length < 2) {
		switch(lang) {
			case "hr": alert('Unesite svoje ime i prezime i poruku.'); break;
			case "en": alert('Enter your first and last name and your message..'); break;
		}
		return false;
	}
	
	if (!checkEmail(f.email.value)) {
		switch(lang) {
			case "hr": alert('Unesite pravilnu e-mail adresu kako Vas mozemo kontaktirati.'); break;
			case "en": alert('Enter valid e-mail address so we can contact you later.'); break;
		}
		return false;
	}
	var Ajax = new Ext.data.Connection();
		f.posalji.value = (lang == "en") ? 'sending...' : 'šaljem...';
		Ajax.request({
			url: f.action,
		    params: Ext.Ajax.serializeForm(f),
		    method: 'POST',
		    success: function(r) {
		    	switch(lang) {
					case "hr": alert('Vaš upit je poslan.'); break;
					case "en": alert('Your request is sent.'); break;
				}
		    },
		    failure: function() {
		    	alert('We are very sorry, but connection to server is lost. Please, try again.');
		    },
		    callback: function() {
		    	switch(lang) {
					case "hr": f.posalji.value = 'pošalji'; break;
					case "en": f.posalji.value = 'send'; break;
				}
		    }
		});
}

var sel = new Array(2);
sel[0] = 'cb';
sel[1] = 0;

var last = new Array(2);
last[0] = last[1] = 0;

var cb = true, cl = true;

function otkljucaj(sto) {
	switch(sto) {
		case 'cb': cb = false; break;
		case 'cl': cl = false; break;
	}
}

function sift(sto,gdje) {

	//var slajder = sto == 'cb' ? cb : cl;
	
	if (sto == 'cb') {
		switch(gdje) {
			case 'lijevo':
				cb.left(1);
				prikazi('cb',cb.getFocusId(),false);
				nice_replace(false,true);
			break;
			case 'desno':
				cb.right(1);
				prikazi('cb',cb.getFocusId(),false);
				nice_replace(false,true);
			break;
		}	
	} else {
		switch(gdje) {
			case 'lijevo':
				cl.left(1);
				prikazi('cl',cl.getFocusId(),false);
				nice_replace(false,true);
			break;
			case 'desno':
				cl.right(1);
				prikazi('cl',cl.getFocusId(),false);
				nice_replace(false,true);
			break;
		}
	}
	
	/*var target = 'img'+sto+slajder.getFocusId();
	nice_replace(target,false);*/
	
	return;

}

function prikazi(sto,koja,sync) {

	var el = document.getElementById('img'+(sto!=sel[0] ? sel[0] : sto)+sel[1]);
	if (el != undefined) {el.className = 'normal'}
	//document.getElementById('img'+sto+sel[1]).className = 'normal';
	//document.getElementById('img'+sto+koja).className = 'active';
	
	var slider = sto == 'cb' ? cb : cl;
	if (sync) {slider.sync(koja);}
	
	slider.setActive('center');

	sel[0] = sto;
	sel[1] = koja;
	
	var img = document.getElementById('img'+sto+koja);
	var a = document.getElementById('a'+sto+koja);
	/*var index = -1;
	for (var i=0; i<cached_images.length && index == -1; i++) {
		if (cached_images[i].src == a.href.replace('-najveca/','-velika/')) {
			index = i;
		}
	}*/
	// id: a_img_srednja
	document.getElementById('img_srednja').src = a.href.replace('-najveca/','-velika/');
	//alert(a.href.replace('-najveca/','-velika/'));
	//document.getElementById('img_srednja').src = cached_images[index].src;
	
	if (slider.stock) {
		//var urls = a.href.split('/');
		document.getElementById('stock_photo').innerHTML = '<a href="mailto:info@expositus.hr?subject=Ask to buy: '+img.alt+'">STOCK PHOTO *Ask to buy ('+img.alt+')</a>';
	} else {
		var alt = sto == 'cb' ? cbalt[koja] : clalt[koja];
		if (alt.substr(0,7) == "http://")
			document.getElementById('stock_photo').innerHTML = '<a href="'+alt+'" target="_blank">' + a.title + '</a>';
		else
			document.getElementById('stock_photo').innerHTML = a.title;
	}
}

function resetLogo() {
	//if (isWorking) return;
	
	if (document.getElementById('video_logo').style.display == 'none') {
		Ext.get('top_img_div').setStyle('display','none');
		//isWorking = true;
		//Ext.get('top_img_div').fadeOut({duration: .3, useDisplay: true, callback: function() {
			Ext.get('video_logo').fadeIn({duration: .3, useDisplay: true, concurrent:true, callback: function() {isWorking=false;}});
		//}});
	}
}

function sh(kamo,prikazati,objekt) {
	if (objekt.src && prikazati) {
		document.getElementById('img-'+kamo).style.display = 'block';
		return;
	}
	document.getElementById('img-'+kamo).style.display = prikazati ? 'block' : 'none';
}



window.onload = function () {
	/*for (var i=0; document.getElementById('imgcb'+i) != null; i++) {
		slike[slike.length] = document.getElementById('imgcb'+i).src;
		//slike[slike.length] = document.getElementById('imgcb'+i).src.replace('-mala/','-najveca/');
		slike[slike.length] = document.getElementById('imgcb'+i).src.replace('-mala/','-velika/');
	}
	for (var i=0; document.getElementById('imgcl'+i) != null; i++) {
		slike[slike.length] = document.getElementById('imgcl'+i).src;
		//slike[slike.length] = document.getElementById('imgcl'+i).src.replace('-mala/','-najveca/');
		slike[slike.length] = document.getElementById('imgcl'+i).src.replace('-mala/','-velika/');
	}*/
	for (var i=0; i<slika_cb.length; i++) {slike[slike.length] = slika_cb[i];}
	for (var i=0; i<slika_cl.length; i++) {slike[slike.length] = slika_cl[i];}
	//cacher_run();
}

//var list = new Array();
var slike = new Array();
var cached_images = new Array();
var cache_control = new Ext.util.DelayedTask();
var cache_all_loaded = true;
/*function cache_pics() {
	
	for (var i=0; document.getElementById('imgcb'+i) != null; i++) {
		var index = list.length;
		list[index] = new Image();
		list[index].src = document.getElementById('imgcb'+i).src.replace('-mala/','-najveca/');
		index = list.length;
		list[index] = new Image();
		list[index].src = document.getElementById('imgcb'+i).src.replace('-mala/','-velika/');
	}
	for (var i=0; document.getElementById('imgcl'+i) != null; i++) {
		var index = list.length;
		list[index] = new Image();
		list[index].src = document.getElementById('imgcl'+i).src.replace('-mala/','-najveca/');
		index = list.length;
		list[index] = new Image();
		list[index].src = document.getElementById('imgcl'+i).src.replace('-mala/','-najveca/');
	}
}*/

function preload(index) {

	if (index == 0) {
		cache_all_loaded = true;
	}

	if (index < slike.length) {
	
		if (!cached_images[index]) {
			cached_images[index] = new Image();
			cached_images[index].src = slike[index];
			status('loading ' + slike[index]);
			if (Ext.isOpera) {status('OPERA!!');}
			cached_images[index].onload = function() {
				status('<font style="color:green;">'+slike[index]+' loaded</font><br/>');
				preload(index+1);
			}
			
			cached_images[index].onerror = function() {
				status('<font style="color:red;">'+slike[index]+' failed</font><br/>');
				cache_all_loaded = false;
				preload(index+1);
			}
			cached_images[index].onabort = function() {
				status('<font style="color:red;">'+slike[index]+' ABORTED</font><br/>');
			}

		} else {
			if (!cached_images[index].naturalWidth) {
				cache_all_loaded = false;
				cached_images[index] = new Image();
				cached_images[index].src = slike[index];
				status('retry ' + slike[index]);
				cached_images[index].onload = function() {
					preload(index+1);
					status('<font style="color:green;">'+slike[index]+' loaded</font><br/>');
				}
				cached_images[index].onerror = function() {
					preload(index+1);
					status('<font style="color:red;">'+slike[index]+' FAILED</font><br/>');
				}
			}
			preload(index+1);
		}
	
	} else {
		status('Treba li dalje učitavati?');
		if (!cache_all_loaded) {
			status('<font color="aqua">DALJE U&#268;ITAVAM</font>');
			//cache_control.delay(5000, cacher_run);
		} else {
			status('<font color="purple">Sve je u&#269;itano.</font>');
		}
	}
}

function posjeti_klijenta() {
	var klijentov_web = sel[0] == 'cl' ? clalt : cbalt;
	if (klijentov_web[sel[1]].length > 0 && klijentov_web[sel[1]] != "http://") {
		window.open(klijentov_web[sel[1]],"klijent");
	}
}

function status(s) {
	document.getElementById('status').innerHTML += s;
}

function cacher_run() {preload(0);}


var sliderClass = function(conf) {
	this.data = conf.elements == undefined ? new Array() : conf.elements;
	this.extShown = new Array(5);
	this.contentClass = conf.contentClass == undefined ? 'content' : conf.contentClass;
	this.contentSlider = conf.contentSlider == undefined ? 'content-slider' : conf.contentSlider;
	this.extElements = new Array();
	this.locked = false;
	this.width = conf.elementWidth == undefined ? 200 : conf.elementWidth;
	this.imgId = conf.imgId == undefined ? false : conf.imgId;
	this.debugMode = conf.debugMode == undefined ? false : true;
	this.offSet = conf.offSet == undefined ? 0 : conf.offSet;
	this.duration = conf.duration == undefined ? .3 : conf.duration;
	this.stock = conf.stock == undefined ? false : true;
}

sliderClass.prototype = {

	init:function() {
		for (var i=0; i<this.data.length; i++) {
			this.extElements[i] = new Ext.Element(document.createElement('div'));
			this.extElements[i].addClass(this.contentClass);
			this.extElements[i].enableDisplayMode();
			this.extElements[i].update(this.data[i]);
		}
		var left = Ext.get(this.contentSlider).getLeft();
		for (var i=0; i<this.extElements.length; i++) {
			this.extElements[i].appendTo(this.contentSlider);
			if (i<5) {
				this.extElements[i].shift({x: i*this.width+left, duration: this.duration});
				this.extShown[i] = i;
			} else {
				this.extElements[i].hide();
			}
		}
		//this.debug();
	},
	
	setActive:function(direction) {
		if (this.imgId && direction == 'center') {
			document.getElementById(this.imgId+this.extShown[2]).className = 'active';
		} else if (this.imgId) {
			document.getElementById(this.imgId+this.extShown[2]).className = 'normal';
			document.getElementById(this.imgId+this.extShown[direction == 'left' ? 1 : 3]).className = 'active'; 
		}
		//this.debug();
	},
	
	left:function(cnt) {
	
		if (isWorking) return;
		isWorking = true;
		var left = Ext.get(this.contentSlider).getLeft();

		for (var ww = 0; ww<cnt; ww++) {
			this.setActive('left');
			if (this.extElements.length > 5) {
			
				this.extElements[this.extShown[4]].fadeOut({duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				for (var i=0, brojac=0; i<4; i++, brojac++) {
					this.extElements[this.extShown[i]].shift({x: i*this.width+left+this.width, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				}
				for (var i=0; i<5; i++) {
					this.extShown[i] = this.extElements[this.extShown[i]-1] == undefined ? this.extElements.length-1 : this.extShown[i]-1;
				}
				this.extElements[this.extShown[0]].setLeft(this.offSet);
				this.extElements[this.extShown[0]].fadeIn({duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				
			} else {
		
				this.extElements[this.extShown[4]].shift({x: 0*this.width+left, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				for (var i=0, brojac=0; i<4; i++, brojac++) {
					this.extElements[this.extShown[i]].shift({x: i*this.width+left+this.width, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				}
				for (var i=0; i<5; i++) {
					this.extShown[i] = this.extElements[this.extShown[i]-1] == undefined ? this.extElements.length-1 : this.extShown[i]-1;
				}
			}
		}
		//this.debug();
	},
	
	right:function(cnt) {
	
		if (isWorking) return;
		isWorking = true;
		var left = Ext.get(this.contentSlider).getLeft();
		
		for (var ww = 0; ww<cnt; ww++) {
			this.setActive('right');
	
			if (this.extElements.length > 5) {
				this.extElements[this.extShown[0]].fadeOut({duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				
				for (var i=1, brojac=0; i<5; i++, brojac++) {
					this.extElements[this.extShown[i]].shift({x: brojac*this.width+left, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
					this.extShown[i] = this.extElements[this.extShown[i]+1] == undefined ? 0 : this.extShown[i]+1;
				}
				
				this.extShown[0] = this.extElements[this.extShown[0]+1] == undefined ? 0 : this.extShown[0]+1;
				this.extElements[this.extShown[4]].setLeft(this.width*4+this.offSet);
				this.extElements[this.extShown[4]].fadeIn({duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
			} else {
				for (var i=1, brojac=0; i<5; i++, brojac++) {
					this.extElements[this.extShown[i]].shift({x: brojac*this.width+left, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
					this.extShown[i] = this.extElements[this.extShown[i]+1] == undefined ? 0 : this.extShown[i]+1;
				}
				this.extElements[this.extShown[0]].shift({x: 4*this.width+left, duration: this.duration, concurrent: true, callback: function() {isWorking=false;}});
				this.extShown[0] = this.extElements[this.extShown[0]+1] == undefined ? 0 : this.extShown[0]+1;
			}
		}
		//this.debug();
	},
	
	sync:function(id) {
		
		var position = -1;
		for (var i=0; i<this.extShown.length; i++) {
			if (id == this.extShown[i]) {
				position = i;
			}
		}
		
		switch(position) {
			case 0: this.left(2); break;
			case 1:	this.left(1); break;
			case 4: this.right(2); break;
			case 3:	this.right(1); break;
		}
		
	},
	
	setBigPrev:function(grupa,id) {
		document.getElementById('top_img').src = document.getElementById('img'+grupa+this.extShown[id]).src.replace('-mala/','-najveca/'); 
	},
	
	getFocusId:function() {
		return this.extShown[2];
	}/*,
	
	debug:function() {
		if (this.debugMode) {
			var el = document.getElementById('status');
			var s = '';
			for (var i = 0; i<this.extShown.length; i++) {
				s += this.extShown[i]+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
			}
			el.innerHTML = s;
		}
	}*/

}

function navi_cl_right() {
	if (cl) {
		cl.right(1);
		resetLogo();
		prikazi('cl',cl.getFocusId(),false);
	}
}

function navi_cl_left() {
	if (cl) {
		cl.left(1);
		resetLogo();
		prikazi('cl',cl.getFocusId(),false);
	}
}
function navi_cb_left() {
	if (cb) {
		cb.left(1);
		resetLogo();
		prikazi('cb',cb.getFocusId(),false);
	}
}
function navi_cb_right() {
	if (cb) {
		cb.right(1);
		resetLogo();
		prikazi('cb',cb.getFocusId(),false);
	}
}
