﻿/* 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();
}

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';
		}
	}
}
