﻿/* Toogle text in search field functions
---------------------------------------------------------------- */

function focusField(f,txt){

	// Declare variable
	var field = document.getElementById(f.id);
	
	// Clean field, markup if text is not the same as original
	if(field.value==txt){
		field.value = '';
	}else{
		field.select();
	}

}

function blurField(f,txt){

	// Declare variable
	var field = document.getElementById(f.id);
	
	// Restore field if not text is original
	if(field.value==''){
		field.value = txt;
	}

}

/* Link function
---------------------------------------------------------------- */

function goToUrl(popup,url){

	// If popup is true, then open in popup, else open normal
	if(url){
		if(popup){
			window.open(url);
		}else{
			location.href = url;
		}
	}

}

/* Main menu hover
---------------------------------------------------------------- */

var locked;
var locktimer;

function removeLayer(){
	var items = document.getElementsByTagName('div');
	var current = items.length;
	for(d=0;d<current;d+=1){if(items[d].className=='expandlay' || items[d].className=='nktexpandlay'){items[d].style.display = 'none';}}
	var items = document.getElementsByTagName('a');
	var current = items.length;
	for(d=0;d<current;d+=1){if(items[d].className=='drop' || items[d].className=='dropselected'){items[d].className = 'drop';}}
	locked = false;
	clearTimeout(locktimer);
}

function showLay(f){
	removeLayer();
	var mother = document.getElementById(f.id);
	var child = document.getElementById(f.id+'-lay');
	if(child){
		mother.className = 'dropselected';
		child.style.display = 'block';
	}
	lockLay();
}

function unlockLay(){
	locked = false;
	locktimer = setTimeout("delayLay();", 1000);
}

function lockLay(){
	locked = true;
	clearTimeout(locktimer);
}

function delayLay(){
	if(!locked){
		removeLayer();
		clearTimeout(locktimer);
	}
}

function hideLay(){
	unlockLay();
	//removeLayer();
}
function toggleLay(f, lnk){
	
	if (document.getElementById(f)){
	var elem = document.getElementById(f);
	(elem.style.display=='block')? elem.style.display = 'none' : elem.style.display = 'block'; 
	(lnk.className=='closed')? lnk.className='open' : lnk.className='closed'; 
	}
}

//document.onclick = removeLayer;


/* Tabs
---------------------------------------------------------------- */

function setTab(f,url){
	var items = document.getElementsByTagName('a');
	var current = items.length;
	for(d=0;d<current;d+=1){if(items[d].className=='tabinactive' || items[d].className=='tabactive'){items[d].className = 'tabinactive';}}
	f.className = 'tabactive';
	if(url){ajaxpage(url,'photo_collection');}
}


/* Images pagination / slideshow
---------------------------------------------------------------- */

// Global variables
var timer;
var move;
var step = 0;
var running = false;

function countItems(){
	var items = document.getElementsByTagName('A');
	var count = items.length;
	var all = 0;
	for(var t=0;t<count;t+=1){
		if(items[t].className=='itm_p' || items[t].className=='itm_p_sel'){all++;}
	}
	return all;
}

function resetItems(){
	var items = document.getElementsByTagName('A');
	var count = items.length;
	var all = 0;
	for(var t=0;t<count;t+=1){
		if(items[t].className=='itm_p' || items[t].className=='itm_p_sel'){items[t].className='itm_p';}
	}
}

function loadItems(){
	var all = countItems();
	if(document.getElementById('rel')){document.getElementById('rel').style.width = ((all * 74) + 10) + 'px';}
	if(all>6){
		document.getElementById('btn_forward').className = 'forward';
	}else{
		document.getElementById('btn_forward').className = 'forward_dis';
	}
}

function loadPrev(){
	var all = countItems();
	
	if(all>6){
	
		var maxLeft;
		var maxLeftPx;
		var curLeft;
		var nextItem;
		maxLeft = 0;
		maxLeftPx = 0;
		curLeft = parseInt(document.getElementById('rel').style.left);

		if(maxLeftPx==curLeft){
			document.getElementById('btn_back').className = 'back_dis';
		}else{
			if(!running){
				document.getElementById('btn_back').className = 'back';
				document.getElementById('btn_forward').className = 'forward';
				moveSmooth('back',(curLeft+74));
				nextItem = (curLeft + 74);
				if(nextItem==maxLeftPx){
					document.getElementById('btn_back').className = 'back_dis';
				}
			}
		}
		
	}
}

function loadNext(){
	var all = countItems();
	
	if(all>6){
	
		var maxLeft;
		var maxLeftPx;
		var curLeft;
		var nextItem;
		maxLeft = all - 6;
		maxLeftPx = -(maxLeft * 74);
		curLeft = parseInt(document.getElementById('rel').style.left);
		
		if(maxLeftPx==curLeft){
			document.getElementById('btn_forward').className = 'forward_dis';
		}else{
			if(!running){
				document.getElementById('btn_back').className = 'back';
				document.getElementById('btn_forward').className = 'forward';
				moveSmooth('forward',(curLeft-74));
				nextItem = (curLeft - 74);
				if(nextItem==maxLeftPx){
					document.getElementById('btn_forward').className = 'forward_dis';
				}
			}
		}
		
	}
}

function moveSmooth(direction,moveto){

	if(direction=='back'){
		if(moveto || moveto=='0'){move = moveto;}
		var curLeft = parseInt(document.getElementById('rel').style.left);
		if(curLeft==move){
			clearTimeout(timer);
			step = 0;
			running = false;
		}else{
			step++;
			running = true;
			if(step>=0 && step<14){
				document.getElementById('rel').style.left = (curLeft + 5) + 'px';
				timer = setTimeout("moveSmooth('back')", 2);
			}else if(step>=14 && step<=22){
				document.getElementById('rel').style.left = (curLeft + 1) + 'px';
				timer = setTimeout("moveSmooth('back')", 10);
			}
		}
	}
	
	if(direction=='forward'){
		if(moveto){move = moveto;}
		var curLeft = parseInt(document.getElementById('rel').style.left);
		if(curLeft==move){
			clearTimeout(timer);
			step = 0;
			running = false;
		}else{
			step++;
			running = true;
			if(step>=0 && step<14){
				document.getElementById('rel').style.left = (curLeft - 5) + 'px';
				timer = setTimeout("moveSmooth('forward')", 2);
			}else if(step>=14 && step<=22){
				document.getElementById('rel').style.left = (curLeft - 1) + 'px';
				timer = setTimeout("moveSmooth('forward')", 10);
			}
		}
	}
	
}

function setTitle(sname,stitle){
	var s_name = document.getElementById('slide_name');
	var s_title = document.getElementById('slide_title');
	if(s_name && sname){s_name.innerHTML=sname;}
	if(s_title && stitle){s_title.innerHTML=stitle;}
}

function clearTitle(){
	var s_name = document.getElementById('slide_name');
	var s_title = document.getElementById('slide_title');
	if(s_name){s_name.innerHTML='';}
	if(s_title){s_title.innerHTML='';}
}

function showDetails(f,page){
	resetItems();
	if(f){
		if(f.id){
			document.getElementById(f.id).className='itm_p_sel';
		}else{
			document.getElementById(f).className='itm_p_sel';
		}
	}
	if(page){
		ajaxpage(page,'slider_ajax');
	}
}

function getKeyCode(evt){
	evt = (evt) ? evt : ((event) ? event : null);
	var evver = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null );
	var keynumber = evt.keyCode;
	if(keynumber){return keynumber;}
}

// Get document events
document.onkeyup = function(event){

	// Get character code
	var charCode = getKeyCode(event);
	var prevBtn = document.getElementById('btn_back');
	var nextBtn = document.getElementById('btn_back');

	switch(charCode){
		
		// Forward arrows
		case 39: // Arrow -> Forward
			if(nextBtn){loadNext();}
			break;
		case 102: // Arrow -> Forward - Numbers
			if(nextBtn){loadNext();}
			break;
		// Backward arrows
		case 37: // Arrow -> Back
			if(prevBtn){loadPrev();}
			break;
		case 100: // Arrow -> Back - Numbers
			if(prevBtn){loadPrev();}
			break;
		
	}
	
}

/* MWR switcher
---------------------------------------------------------------- */

function switchMWR(f,state){
	var elm_over = document.getElementById(f.id+'_over');
	var elm_out = document.getElementById(f.id+'_out');
	if(elm_over && elm_out){
		if(state=='over'){
			elm_over.style.display = 'block';
			elm_out.style.display = 'none';
		}
		if(state=='out'){
			elm_over.style.display = 'none';
			elm_out.style.display = 'block';
		}
	}
}

/* Singleline functions
---------------------------------------------------------------- */

function $d(d){
	return document.getElementById(d);
}

/* Ajax <|> ajax.load('http://','ajaxdiv',true,hash,['customfunction()','anotherfunction()']);
---------------------------------------------------------------- */

var ajax = function(){
	return {
		nocache:function(){
			var minutes = 1000 * 60;
			var hours = minutes * 60;
			var days = hours * 24;
			var years = days * 365;
			var d = new Date();
			var t = d.getTime();
			return t;
		},
		load:function(url,container,load,store,functions){
			var ajx = $d(container);
			var loadtext = '<div class="loading">Loading..</div>';
			if(ajx && url){
				if(load){ajx.innerHTML = loadtext;}
				ajax.page(url,container,functions);
			}
		},
		page:function(url,container,functions){
			var _url = '';var _no = '';var page_request = false;
			if(url.indexOf("?")==-1){_no = '?cache=' + ajax.nocache();}else{_no = '&cache=' + ajax.nocache();}
			_url = url + _no;
			
			if(window.XMLHttpRequest){
				page_request = new XMLHttpRequest();
			}else if(window.ActiveXObject){
				try{
					page_request = new ActiveXObject('Msxml2.XMLHTTP');
				}catch(e){
					//alert('AJAX ERROR: ' + e.description);
					try{
						page_request = new ActiveXObject('Microsoft.XMLHTTP');
					}catch(e){
						//alert('AJAX ERROR: ' + e.description);
					}
				}
			}else{
				return false;
			}

			page_request.onreadystatechange = function(){
				ajax.parse(page_request,container,functions);
			}
			page_request.open('GET', _url, true);
			page_request.send(null);
		},
		parse:function(page_request,container,functions){
			if(page_request.readyState==4 && (page_request.status==200 || window.location.href.indexOf('http')==-1)){
				$d(container).innerHTML = page_request.responseText;
				ajax.completed(functions);
			}
		},
		completed:function(functions){
			// After complete functions here..
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){/*alert(e.description);*/}
				}
			}
		}
	};
}();

/* Dark layer
---------------------------------------------------------------- */

var darken = function(){
	return {
		create:function(){
			var dark = document.getElementById('layerdark');
			if(!dark){
				var dot = document.createElement("div");
				dot.id = 'layerdark';
				dot.style.opacity = 0.5;
				dot.style.filter = 'alpha(opacity=50)';
				dot.style.width = '100%';
				dot.style.height = '100%';
				dot.style.position = 'absolute';
				dot.style.zIndex = '1000';
				dot.style.backgroundColor = '#000000';
				dot.style.left = '0px';
				dot.style.top = '0px';
				dot.onclick = function(){darken.kill();medias.kill();}
				document.body.appendChild(dot);
			}
		},
		show:function(){
			darken.create();
			var dark = document.getElementById('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
				dark.style.display = 'block';
			}
		},
		fixed:function(){
			var dark = document.getElementById('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
			}
		},
		kill:function(){
			var dark = document.getElementById('layerdark');
			if(dark){dark.style.display = 'none';}
		}
	};
}();

var medias = function(){
	return {
		show:function(url){
			var obj = document.getElementById('player-popup');
			if(obj){
				obj.style.display = 'block';
				lister.evts();
			}
		},
		kill:function(){
			var obj = document.getElementById('player-popup');
			if(obj){
				obj.style.display = 'none';
				obj.innerHTML = '';
				darken.kill();
			}
		}
	};
}();

var lister = function(){
	return {
		show:function(f,url,lst,pop){
			var ct1 = document.getElementById('front-movie');
			var ct2 = document.getElementById('live-movie');
			if(ct1){ct1.style.display = 'block';}
			if(ct2){ct2.style.display = 'none';}
			lister.reset(lst);
			f.className = 'selected';
			f.blur();
			if(pop){
				ajax.load(url + '&pop=true','player-popup',false,'',['medias.show()']);
				darken.show();
			}else{
				ajax.load(url,'front-movie',false,'',['lister.evts()']);
			}
		},
		showwithpop:function(f,url,lst){
			var ct1 = document.getElementById('front-movie');
			var ct2 = document.getElementById('live-movie');
			if(ct1){ct1.style.display = 'block';}
			if(ct2){ct2.style.display = 'none';}
			lister.reset(lst);
			f.className = 'selected';
			f.blur();
			ajax.load(url,'player-popup',false,'',['medias.show()']);
			darken.show();
		},
		evts:function(){
			//flowplayer("player", "/v2/swf/flowplayer-3.2.2-0.swf", {"autoPlay":true,key:"#$d6cf002b86a8c41bf24"});
			//flowplayer("player", {src:"/v2/swf/flowplayer-3.2.2-0.swf", wmode:"transparent", cachebusting: true, autoPlay:true, key:"#$d6cf002b86a8c41bf24"});
			flowplayer("player",
				"/v2/swf/flowplayer-3.2.2-0.swf", {
				key: '#$d6cf002b86a8c41bf24',
				clip: {
				autoPlay: true,
				autoBuffering: true,
				bufferLength:10
				}
			});
		},
		reset:function(f){
			var obj = document.getElementById(f);
			if(obj){
				var items = obj.getElementsByTagName('a');
				var current = items.length;
				for(d=0;d<current;d+=1){
					items[d].className = '';
				}
			}
		}
	};
}();

var mwr = function(){
	return {
		change:function(num,dis){
			var obj = document.getElementById('mwr-body-'+num);
			var elm = document.getElementById('mwr-body-'+num+'-over');
			if(obj && elm){
				if(dis=='show'){
					obj.style.display = 'none';
					elm.style.display = 'block';
				}else{
					obj.style.display = 'block';
					elm.style.display = 'none';
				}
			}
		}
	};
}();
