// contentexpander.js
function ExpandedDiv(parent, div){
	
	this.div = div
	this.parent = parent
	this.divParent = this.div.parentNode

	var self = this
	
	this.div.style.display = "none"
	this.divParent.className = ""		
	
	this.close = function(){
		this.div.style.display = "none"
		this.divParent.className = ""
	}
	
	this.open = function(){
		this.div.style.display = "block"
		this.divParent.className = "opened"
	}
		
	this.div.previousSibling.previousSibling.onclick = function(){
		if (!self.parent.unique) { 
			if (self.div.style.display == "none") self.open();
			else self.close();
		} else {
			if (self.parent.active == undefined) {
				self.parent.active = self;			
			}else if (self.parent.active != self) {
					self.parent.active.close()
					self.parent.active = self
			}
			self.parent.active.open()			
		} 
	};
	
}

function ExpandedDivs(className, unique) {

	this.unique = unique
	this.expandDivs = new Object()
	this.active = undefined

	this.initializeExpandedDivs = function(){
		var expandeds = document.getElementById("Center").getElementsByTagName("div");
		var re = new RegExp("\\b"+className+"\\b");
		for (var i=0; i < expandeds.length; i++) {
			if (re.test(expandeds[i].className)) {
				this.expandDivs[i] = new ExpandedDiv(this, expandeds[i])			
			}
		}	
	}
	
	this.initializeExpandedDivs()
}

// flyout.js

var selected = new Array;

function initializeSubMenus() {
	var subMenus = document.getElementById("Flyout").getElementsByTagName("ul");
	for (var i = 0; i < subMenus.length; i++) {
		subMenus[i].style.marginTop = "-22px";
		subMenus[i].style.position = "absolute";
		subMenus[i].style.left = "-9999px";
	}
	
	var subMenuElems = document.getElementById("Flyout").getElementsByTagName("li")
	for (var j = 0; j < subMenuElems.length; j++) {
		var rulerSpan =  document.getElementById('ruler');
		rulerSpan.innerHTML = subMenuElems[j].innerHTML;
		if (rulerSpan.offsetWidth >= 160) {
			subMenuElems[j].style.height = "40px";
			subMenuElems[j].setAttribute("class", "doubleRow");
		} else {
			subMenuElems[j].style.height = "32px";
		}
		subMenuElems[j].style.marginTop = "-1px";
	}
	
	var links = document.getElementsByTagName("a");
	for (var i = 0; i < links.length; i++) {
		if (links[i].className.indexOf('submenu') >= 0) {
			links[i].onclick = function(e) {
			 	if (!e) var e = window.event;
				e.cancelBubble = true;
				if (e.stopPropagation) e.stopPropagation();
				return changeMenu(this);
			};
			links[i].href = "javascript:void(0)";
		}
	}
	document.onclick = function() { removeMenuSelection(); };
}

function strip(text) {
	return text.replace(/^\s+/, '').replace(/\s+$/, '');
}

function endsWith(text, pattern) {
    var d = text.length - pattern.length;
    return d >= 0 && text.lastIndexOf(pattern) === d;
}

function removeClassName(element, className) {
    var regexp = "(^|\\s+)" + className + "(\\s+|$)";
    element.className = strip( element.className.replace(new RegExp(regexp), ' ') );
}

function changeMenu(menu) {
	while (selected.length > 0) {
		var current = selected.pop();
		if ( menu.parentNode.parentNode.parentNode != current.parentNode ) {
			removeClassName( current, "selected" );
			removeClassName( current.parentNode, "selected" );
			current.nextSibling.nextSibling.style.left = "-99999px"
		} else {
			selected.push(current);
			break;
		}
	}
	menu.nextSibling.nextSibling.style.left = "160px"
	menu.className += ' selected';
	menu.parentNode.className += ' selected';
	selected.push(menu);
	return 0;
}

function removeMenuSelection() {
	while (selected.length > 0) {
		var current = selected.pop();
		removeClassName( current, "selected" );
		removeClassName( current.parentNode, "selected" );
		current.nextSibling.nextSibling.style.left = "-99999px";
	}
}

// longmenuhierarchy.js

function longMenuHierarchy(simple){
	var mh = document.getElementById("MenuHierarchy")
	var rulerSpan = document.getElementById('ruler');
	var as = mh.getElementsByTagName("a")
	
	getWidth = function(){
		rulerSpan.innerHTML = mh.innerHTML
		if (rulerSpan.offsetWidth > 520) return true;
	}
	
	simpleTextChanger = function(){
		if (getWidth()) {
			for (var i = 0; i < as.length; i++) {
				as[i].innerHTML = "..."
				if (!getWidth()) break
			}
		}
	}
	
	complexTextChanger = function(){
		if (getWidth() && mh.getElementsByTagName("a").length >= 2) {
			mh.removeChild(as[0].nextSibling)
			mh.removeChild(as[0])
			as[0].innerHTML = "..."
			
			complexTextChanger()
			
		}else if (getWidth() && mh.getElementsByTagName("a").length == 1){
			as[0].nextSibling.deleteData(0,2)
			as[0].innerHTML = "&raquo;"
		}
	}
	
	if (simple){ simpleTextChanger()
	}else{ complexTextChanger() }
	
}

// searchhelper.js

(function ($) {
	$(document).ready(
		function() {
			$("#SearchForm_SearchForm_Search").focus(function() {
				if (this.value == 'Keyword' || this.value == 'Kulcsszó')
					this.value = "";
			});
		}
	);
})(jQuery);

// wayoftargets.js

function Tab(parent, id, a, div){
	this.parent = parent
	this.id = id
	this.a = a
	this.div = div
	
	var self = this
	
	this.setActive = function(){
		this.parent.active = this
		this.a.className = "active"+this.id
		this.div.style.display = "block"
	}
	
	this.deActive = function(){
		this.a.className = ""
		this.div.style.display = "none"
	}
	
	this.a.onclick = function(){	
		if (self.parent.active != self) {
			self.parent.active.deActive()
			self.setActive()
		}	
	}
	
	this.deActive()
	
}

function Tabs(className){
	
	this.tabs = new Object()
	this.active = undefined
	
	this.initializeTabs = function(){
		var as = document.getElementById("TabbedMenu").getElementsByTagName("a");		
		var allTabDiv = document.getElementById("TabbedMenuContainer").getElementsByTagName("div");
		for (var i=0; i < allTabDiv.length; i++) {
			if (allTabDiv[i].className="tabbedMenuContent") {
				this.tabs[i] = new Tab(this, i, as[i], allTabDiv[i])
			}
		}
		
		this.tabs[0].setActive()
	}
	
	this.initializeTabs()
}


function setActiveTab(){
	var as = document.getElementById("TabbedMenu").getElementsByTagName("a");
	as[0].className = "active0"
	
	var allTabDiv = document.getElementById("TabbedMenuContainer").getElementsByTagName("div");
	var tabContents = []
	for (var i=0; i<allTabDiv.length; i++){
		if (allTabDiv[i].className == "tabbedMenuContent") {
			tabContents.push(allTabDiv[i])
			alert(allTabDiv[i])
		}
	}
	for (var i=0; i < as.length; i++) {
		as[i].onclick = function (){
			var a = document.getElementById("TabbedMenu").getElementsByTagName("a");
			for (var j = 0; j < a.length; j++) {
				if (a[j] == this) this.className = "active"+j;
				else a[j].className = ""
			}
		}
	}	
}

function attachImgforWayofTarget(name, id) {
	/*
	var div = document.getElementById("WayofTarget");

	if (div.hasChildNodes())
		div.removeChild(div.firstChild);
	
	var img = document.createElement("img");
	img.setAttribute("src", "themes/janos/images/maps/" + name + "_" + id + ".png");

	div.appendChild(img);
	*/

	var img = document.getElementById("WayofTargetImage");
	if (typeof document.body.style.maxHeight == "undefined") { // ie6 stuff
		img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../themes/janos/images/maps/" + name + "_" + id + ".png')";
	} else {
		img.style.background = "url(/themes/janos/images/maps/" + name + "_" + id + ".png)";
	}
}
