var divHeight = 0;
var startHeight = -1;
var start;
var animationTimerId = -1;
var displayMenu = false;
var previousSelectedId = '';
var actualSelectedId = '';

function showMenu() {
	if (displayMenu) {
		start = new Date().getTime();
		if (-1 != animationTimerId)
			clearInterval(animationTimerId);
		animationTimerId = setInterval("closeAnimation();", 10);
		document.getElementById('pb-lang').className='noselected-lang';
		if(document.getElementById('searchnow')){document.getElementById('searchnow').style.display='block';} 
	} else {
		document.getElementById('countrylanguage').style.display = '';
		start = new Date().getTime();
		if (-1 != animationTimerId)
			clearInterval(animationTimerId);
		animationTimerId = setInterval("showAnimation();", 10);
		document.getElementById('pb-lang').className='selected-lang';
        if(document.getElementById('searchnow')){document.getElementById('searchnow').style.display='none';}  
	}
	displayMenu = !displayMenu;
}

function selectOption(obj, sid, prefix) {
	document.getElementById('selected_countrylanguage').innerHTML = obj.innerHTML;
	var country = 'hu';
	var language = 'hu';
	if (obj.id.split('-').length == 2) {
		country = obj.id.split('-')[0];
		language = obj.id.split('-')[1];
	}
	var link = prefix + '/?c=' + country + '&l=' + language;
	if (sid != null && sid != '') {
		link += '&sid=' + sid;
	}
	actualSelectedId = obj.id;
	document.location.href = link;
}

function mouseOver(obj) {
	document.getElementById(previousSelectedId).className = '';
	obj.className = 'selected';
	previousSelectedId = obj.id;
}

function closeAnimation() {
	var div = document.getElementById("countrylanguage");
	if(startHeight == -1) {		
		startHeight = div.offsetHeight;
	}
	elapsed = new Date().getTime() - start;

	if(elapsed < 0)
		elapsed = 0;
	var actsize = (startHeight - (4 * elapsed));
	if(actsize < 1) {
		actsize = 1;
	}

	div.style.height = actsize + "px";
	if(actsize == 1) {
		div.style.height = '1px';
		div.style.display = 'none';
		clearInterval(animationTimerId);
		animationTimerId = -1;
		startHeight = -1;
		document.getElementById(previousSelectedId).className = '';
		document.getElementById(actualSelectedId).className = 'selected';
		previousSelectedId = actualSelectedId;
	}
}

function showAnimation() {
	var div = document.getElementById("countrylanguage");
	if(startHeight == -1) {		
		startHeight = div.offsetHeight;
	}
	elapsed = new Date().getTime() - start;
	
	if(elapsed < 0)
		elapsed = 0;
	var actsize = (startHeight + (4 * elapsed));
		
	div.style.height = actsize + "px";
	if(actsize > divHeight) {
		div.style.height = (divHeight - 2) + "px";
		clearInterval(animationTimerId);
		animationTimerId = -1;
		startHeight = -1;
	}
}

function initDiv() {
	var div = document.getElementById('countrylanguage');
	div.style.display = '';
	divHeight = div.offsetHeight;
	div.style.display = 'none';
	div.style.height = '1px';
}

function disableSelection(target){
	if (typeof target.onselectstart!="undefined"){
		target.onselectstart=function(){return false;}
	} else if (typeof target.style.MozUserSelect!="undefined") {
		target.style.MozUserSelect="none";
	} else {
		target.onmousedown=function(){return false;}
	}
}

window.onload = function() {
	if (null == document.getElementById('pb-lang'))
		return;
	disableSelection(document.getElementById('pb-lang'));
};

document.onclick = function (e) {
	if (null == document.getElementById('pb-lang'))
		return;
	e = e || window.event;
	var element = e.target || e.srcElement;
	var div = document.getElementById('pb-lang');
	var divElements = div.getElementsByTagName('*');
	var insideDiv = false;
	for (var i = 0; i < divElements.length; i++) {
		if (element == divElements[i]) {
			insideDiv = true;
		}
	}
	if (element != div && !insideDiv && displayMenu) { 
		showMenu(); 
	}
};
