var menu_ver = 8484786984;
var XmlHttp;
var httpObject;
var objNode;

function MagicMenu() {
	this.loadFile;
	this.sendmethod = "GET";
	this.cacheClear;
	this.loaderDiv;
	this.ContentArea;
	this.fillType;
	this.root = "http://" + window.location.hostname;
	this.defaultRootPage = "default.asp";
	MA = this;
	this.myOrientArr = myOrientArr;
	this.myLanguage;
	this.CustomPageSelector = "";
}



MagicMenu.prototype.build = function() {

	document.getElementById(this.loaderDiv).style.display = "block";
	document.getElementById(this.ContentArea).style.display = "none";

	this.CreateXmlHttp();
	if (XmlHttp) {
		XmlHttp.onreadystatechange = MA.HandleResponse;
		var clearCache = "";
		if (MA.cacheClear) { clearCache = "?" + Math.random() * 1000; }
		XmlHttp.open(MA.sendmethod, MA.loadFile + clearCache, true);
		XmlHttp.send(null);
	}

}

MagicMenu.prototype.CreateXmlHttp = function() {
	try {
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
		try {
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (oc) {
			XmlHttp = null;
		}
	}
	if (!XmlHttp && typeof XMLHttpRequest != "undefined") {
		XmlHttp = new XMLHttpRequest();
	}
}

MagicMenu.prototype.linkkCleaner = function(_link) {
	if (_link.split("?") != "undefined") {
		if (_link.split("?")[0].split(this.root) != "undefined") {
			_link = _link.split("?")[0]; //.split(this.root)[1];
			_link = _link.toLowerCase();
		}
	}
	if (_link.split("#") != "undefined") {
		_link = _link.split("#")[0];
	}

	if (_link.substr(_link.length - 1, 1) == "/") {
		_link += this.defaultRootPage;
	}
	return _link;
}

MagicMenu.prototype.checkLink = function(_link) {

	var r;
	var t;

	if (_link.substring(0, 7) == "http://" || _link.substring(0, 8) == "https://") {
		r = _link;
		t = "_self";
	} else if (_link.substring(0, 4) == "java") {
		r = _link;
	} else if (_link.substring(_link.length - 3, _link.length) == "pdf") {
		r = this.root + _link;
		t = "_blank";
	} else {
		r = this.root + _link;
		t = "_self";
	}

	return [r, t];
}

MagicMenu.prototype.writeTitle = function(__text) {

	var _myTitle = "";
	var _myTextArr = [];

	_myTextArr = __text.split("|BR|");
	if (_myTextArr.length > 0) {
		//BR varsa kaldirip title olarak kullaniyorum
		for (z = 0; z < _myTextArr.length; z++) {
			_myTitle += _myTextArr[z];
		}
	}
	else {
		_myTitle = __text;
	}
	return _myTitle;
}

MagicMenu.prototype.writeNodeText = function(__myNode, __myNodeText) {

	var _myTextArr = [];

	_myTextArr = __myNodeText.split("|BR|");
	if (_myTextArr.length > 1) {
		//BR varmi kontrol ediyorum varsa olan br kadar donuyorum 
		for (l = 0; l < _myTextArr.length - 1; l++) {
			__textNode = document.createTextNode(_myTextArr[l]);
			__myNode.appendChild(__textNode);
			__Breake = document.createElement("br");
			__myNode.appendChild(__Breake);
		}
		__textNode = document.createTextNode(_myTextArr[_myTextArr.length - 1]);
		__myNode.appendChild(__textNode);
	}
	else {
		var __textNode = document.createTextNode(__myNodeText);
		__myNode.appendChild(__textNode);
	}
	
}


MagicMenu.prototype.HandleResponse = function() {
	if (XmlHttp.readyState == 4) {
		if (XmlHttp.status == 200) {
			objNode = XmlHttp.responseXML.documentElement;
			document.getElementById(MA.loaderDiv).style.display = "none";
			document.getElementById(MA.ContentArea).style.display = "";
			MA.buidMenu();
		}
		else {
			alert("There was a problem retrieving data from the server.");
		}
	}
}

MagicMenu.prototype.buidMenu = function() {

	var subMenuStatu = false;
	var subSubMenuStatu = false;
	var openSubMenu = false;

	var currentPage;

	if (this.CustomPageSelector == "") {
		currentPage = window.location.href;
	}
	else {
		currentPage = this.root + this.CustomPageSelector;
	}

	currentPage = this.linkkCleaner(currentPage);

	var myList = document.createElement("ul");
	var myMenuItem = objNode.getElementsByTagName("menu");

	/*Create first level menu*/
	for (i = 0; i < myMenuItem.length; i++) {

		var menuNode = document.createElement("li");
		myText = myMenuItem[i].getElementsByTagName("text")[0].childNodes[0].nodeValue;
		var menuNodeText = document.createTextNode(myText);

		//myLink = myMenuItem[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
		var menuNodeLink = document.createElement("a");
		menuNodeLink.title = this.writeTitle(myText);

		myTitle = "";
		if (myMenuItem[i].getElementsByTagName("title").length > 0) {
			myTitle = myMenuItem[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
		}

		for (l = 0; l < myMenuItem[i].getElementsByTagName("link").length; l++) {
			if (myMenuItem[i].getElementsByTagName("link")[l].parentNode == myMenuItem[i]) {
				var t = this.checkLink(myMenuItem[i].getElementsByTagName("link")[l].childNodes[0].nodeValue);
				if (currentPage == this.linkkCleaner(t[0])) {
					openSubMenu = true;
					menuNode.className = "selected";
					var x = new Array();
					x[0] = t[l];
					if (myTitle != "") {
						x[1] = myTitle;
					} else {
						x[1] = menuNodeLink.title;
					}
					this.myOrientArr.push(x);
					//openSubMenu = true;
				}

				myLink = t;

			}
		}

		menuNodeLink.href = myLink[0];
		menuNodeLink.target = myLink[1];

		this.writeNodeText(menuNodeLink, myText);
		menuNode.appendChild(menuNodeLink);


		/*xml den gelecek attributeleri kontrol ediyorum*/
		if (myMenuItem[i].getAttribute("opensubmenu")) {
			openSubMenu = true;
			if (myMenuItem[i].getAttribute("thispage")) {
				if (currentPage != myLink.toLowerCase()) {
					openSubMenu = false;
				}
			}
		}


		/*Create second level menu*/

		if (myMenuItem[i].getElementsByTagName("submenu").length > 0) {
			var mySubList = document.createElement("ul");
			var mySubNode = myMenuItem[i].getElementsByTagName("submenu");
			for (j = 0; j < mySubNode.length; j++) {

				var subMenuNode = document.createElement("li");
				myText = mySubNode[j].getElementsByTagName("text")[0].childNodes[0].nodeValue;
				var subMenuNodeText = document.createTextNode(myText);

				mySubTitle = "";
				if (mySubNode[j].getElementsByTagName("subtitle").length > 0) {
					mySubTitle = mySubNode[j].getElementsByTagName("subtitle")[0].childNodes[0].nodeValue;
				}


				//myLink = this.root + mySubNode[j].getElementsByTagName("link")[0].childNodes[0].nodeValue;				

				var subMenuNodeLink = document.createElement("a");
				subMenuNodeLink.href = myLink;
				subMenuNodeLink.title = this.writeTitle(myText);
				//subMenuNodeLink.appendChild(subMenuNodeText);

				for (h = 0; h < mySubNode[j].getElementsByTagName("link").length; h++) {
					if (mySubNode[j].getElementsByTagName("link")[h].parentNode == mySubNode[j]) {
						var p = this.checkLink(mySubNode[j].getElementsByTagName("link")[h].childNodes[0].nodeValue);
						if (currentPage == this.linkkCleaner(p[0])) {
							if (currentPage != this.linkkCleaner(menuNodeLink.href)) {
								//menuNode.className="selected"
								//bir ustteki levelin title ini aliyorum
								var x = new Array();
								x[h] = menuNodeLink.href;
								if (myTitle != "") {
									x[1] = myTitle;
								}
								else {
									x[1] = menuNodeLink.title;
								}
								//x[1]=menuNodeLink.title;
								this.myOrientArr.push(x);
							}
							menuNode.className = "";
							subMenuStatu = true;
							subMenuNode.className = "selected";
							var y = new Array();
							y[h] = subMenuNodeLink.href;
							if (mySubTitle != "") {
								y[1] = mySubTitle;
							}
							else {
								y[1] = subMenuNodeLink.title;
							}
							this.myOrientArr.push(y);
						}
						myLink = p;
					}
				}

				subMenuNodeLink.href = myLink[0];
				subMenuNodeLink.target = myLink[1];
				this.writeNodeText(subMenuNodeLink, myText);


				subMenuNode.appendChild(subMenuNodeLink);
				mySubList.appendChild(subMenuNode);


			}

			/*Created second level menu*/

			if (subMenuStatu || openSubMenu) {
				menuNode.appendChild(mySubList);
				subMenuStatu = false;
				openSubMenu = false;
			}
			/*added parent node*/
		}
		else {
			openSubMenu = false;
		}

		/*Created first level menu*/
		myList.appendChild(menuNode);
	}

	document.getElementById(MA.ContentArea).appendChild(myList);

	orientation(this.myLanguage);
}



var myOrientArr = new Array();

function $(_id) { return document.getElementById(_id); }

function orientation(_lang) {

	myStr = "";
	myStr += "<ul>";

	for (i = 0; i < myOrientArr.length; i++) {
		_class = "";

		myStr += "<li class=\"" + _class + "\">";
		if (i == myOrientArr.length - 1) {
			myStr += myOrientArr[i][1];
		}
		else {
			myStr += "<a href=\"" + myOrientArr[i][0] + "\">" + myOrientArr[i][1] + "</a>";
		}
		myStr += "</li>";
	}
	myStr += "</ul>";

	$("textArea").innerHTML = myStr;
}
