﻿var currenthover = ""; //jelenleg megjelenített subspace id
var hover = false; //jelenleg van-e megjelenítve almenüsor

/*
MENÜ ELNEVEZÉSEK:
<főmenüid>_Container - tartódiv, tartalmazza a főmenügombot és az esetleges subspacet
<főmenüid>_subSpace - tartódiv, tartalmazza a főmenühöz tartozó almenüket
<főmenüid>_main - főmenügomb
<almenüid>_sub - almenügomb
*/

//Automatikusan lefutó függvény - menü sql lekérdezése és létrehozása
function initMenu(){
	var menuobj=getXMLHttpObject();
	if (menuobj==null){
		return;
	}
	document.getElementById("menu").innerHTML="Menü betöltése folyamatban...";
	//Readystatechange esemény
	menuobj.onreadystatechange=function(){
		if (menuobj.readyState==4){
			document.getElementById("menu").innerHTML="<a href=\"index.php\"><img src=\"images/home.gif\" style=\"float: left;\" /></a><img src=\"images/flag.gif\" style=\"float: right;\" />";
			var menu=menuobj.responseXML;
			var current;
			var menubar=document.createElement("ul");
			menubar.id="menubar";
			var menudiv=document.getElementById("menu");
			menudiv.appendChild(menubar);
			//Külső ciklus a főmenüpontokon
			for (var i=0; current=menu.getElementsByTagName("menupont")[i]; i++){
				var current_id=current.attributes.getNamedItem("id").value;
				var current_name=current.attributes.getNamedItem("nev").value;
				//Tartódoboz létrehozása, ami magába foglalja a főmenügombot, és az esetleges subspace-t
				createButtonContainer(current_id);
				//Főmenügomb létrehozása
				addMenuButton(current_id+"_Container", current_id, current_name, "main");
				//Vizsgálat lehetséges almenükre
				if (submenu=current.getElementsByTagName("almenupont")[0]){
					var mainbutton=document.getElementById(current_id+"_main");
					mainbutton.innerHTML="<img src=\"images/arrow.gif\" />"+mainbutton.innerHTML;
					//Subspace létrehozása
					createButtonSubSpace(current_id);
					var current_subid=submenu.attributes.getNamedItem("id").value;
					var current_subname=submenu.attributes.getNamedItem("nev").value;
					//Első almenü cikluson kívüli létrehozása
					addMenuButton(current_id+"_subSpace", current_subid, current_subname, "sub");
					//Belső ciklus a további almenüpontokon
					for (var j=1; submenu=current.getElementsByTagName("almenupont")[j]; j++){
						current_subid=submenu.attributes.getNamedItem("id").value;
						current_subname=submenu.attributes.getNamedItem("nev").value;
						addMenuButton(current_id+"_subSpace", current_subid, current_subname, "sub");
					}
				}
			}
			//Clr div létrehozása, a floatolt elemek miatt
			createClearDiv("menubar");
		}
	}
	menuobj.open("GET", "ajaxprocess.php?a=getmenuxml", true);
	menuobj.send(null);
}

function loadPage(main_id, sub_id){
	var url="index.php?p=article&id="+main_id;
	if (sub_id!=null){
		url+="."+sub_id;
	}
	else{
		url+=".0";
	}
	window.location=url;
}

function createButtonContainer(id){
	var parent=document.getElementById("menubar");
	var newcontainer=document.createElement("li");
	newcontainer.className="buttonContainer";
	newcontainer.id=id+"_Container";
	parent.appendChild(newcontainer);
}

function createButtonSubSpace(id){
	var parent=document.getElementById(id+"_Container");
	var newcontainer=document.createElement("div");
	newcontainer.className="buttonSubSpace";
	addClass(newcontainer, "hide");
	newcontainer.id=id+"_subSpace";
	newcontainer.onmouseover=function(){
		hover=true;
	}
	newcontainer.onmouseout=function(){
		closeTimeout(this);
	}
	parent.appendChild(newcontainer);
}

function addMenuButton(parent_id, id, name, type){
	var parent=document.getElementById(parent_id);
	var newbutton=document.createElement("div");
	newbutton.id=id+"_"+type;
	newbutton.className="button";
	var newtext;
	if (type=="sub"){
		addClass(newbutton, "sub");
	}
	if (type=="main"){
		newbutton.onmouseover=function(){
			if (subspace=document.getElementById(parseInt(this.id)+"_subSpace")){
				openSubMenu(subspace);
			}
			else if (currenthover!=""){
				closeTimeout(document.getElementById(currenthover));
			}
			addClass(this, "highlight");
		}
		newbutton.onmouseout=function(){
			if (currenthover!=""){
				closeTimeout(document.getElementById(currenthover));
			}
			removeClass(this, "highlight");
		}
		newbutton.onclick=function(){
			if (!document.getElementById(parseInt(this.id)+"_subSpace")){
				loadPage(parseInt(this.id), null);
			}
		}
		//newtext=document.createTextNode(name.toUpperCase());
		newtext=document.createTextNode(name);
	}
	else{
		newbutton.onclick=function(){
			loadPage(parseInt(this.parentNode.id), parseInt(this.id));
		}
		newbutton.onmouseover=function(){
			addClass(this, "sublight");
		}
		newbutton.onmouseout=function(){
			removeClass(this, "sublight");
		}
		newtext=document.createTextNode(name);
	}
	newbutton.appendChild(newtext);
	parent.appendChild(newbutton);
}

function openSubMenu(element){
	hover=true;
	if (currenthover!="" && currenthover!=element.id){
		addClass(document.getElementById(currenthover), "hide");
	}
	removeClass(element, "hide");
	currenthover=element.id;
}

function closeSubMenu(element){
	if (!hover){
		addClass(element, "hide");
		currenthover="";
	}
}

function closeTimeout(to_close){
	hover=false;
	element=to_close;
	setTimeout("closeSubMenu(element)", 20);
}

function addClass(element, value){
	if (!hasClass(element, value)){
		var classname=element.className;
		classname+=" "+value;
		element.className=classname;
	}
}

function removeClass(element, value){
	var classname=element.className;
	classname=classname.replace(" "+value, "");
	element.className=classname;
}

function hasClass(element, value){
	var classname=element.className;
	if (classname.indexOf(value)<0){
		return false;
	}
	return true;
}

function createClearDiv(id){
	var parent=document.getElementById(id);
	var clrdiv=document.createElement("div");
	clrdiv.className="clr";
	parent.appendChild(clrdiv);
}

//Online jelentkezés

function getEligibleCourses(type){
	var courseobj=getXMLHttpObject();
	if (courseobj==null){
		alert("Ez a böngésző nem támogatja a HTTP Request-et!");
		return;
	}
	document.getElementById("courses").innerHTML="<li>Betöltés...</li>";
	courseobj.onreadystatechange=function(){
		if (courseobj.readyState==4){
			var courses=document.getElementById("courses");
			courses.innerHTML=courseobj.responseText;
		}
	}
	courseobj.open("GET", "ajaxprocess.php?a=getcourses&type="+type, true);
	courseobj.send(null);
}

//Adatfeltöltés


function initSubSelect(id){
	document.getElementById("subselect").innerHTML="Betöltés...";
	if (id>0){
		var sselectobj=getXMLHttpObject();
		if (sselectobj==null){
			return;
		}
		sselectobj.onreadystatechange=function(){
			if (sselectobj.readyState==4){
				var subselect=document.getElementById("subselect");
				subselect.innerHTML=sselectobj.responseText;
			}
		}
		sselectobj.open("GET", "ajaxprocess.php?a=getsubselect&mainid="+id, true);
		sselectobj.send(null);
	}
	else{
		document.getElementById("subselect").disabled="disabled";
	}
}

function newFileInput(){
	var list=document.getElementById("fajlok");
	var inputs=list.getElementsByTagName("li").length;
	var row=document.createElement("li");
	var newinput=document.createElement("input");
	newinput.type="file";
	newinput.name="fajl[]";
	row.appendChild(newinput);
	var fbutton=document.getElementById("newfile");
	var frow=document.getElementById("ujfajl");
	list.insertBefore(row,frow);
	inputs++;
	if (inputs==11){
		fbutton.disabled="disabled";
	}
}

function deleteFile(file, article, node){
	if (!confirm("Biztosan törölni kívánja a fájlt: "+file+" ?")){
		return;
	}
	var xmlobj=getXMLHttpObject();
	if (xmlobj==null){
		return;
	}
	xmlobj.onreadystatechange=function(){
		if (xmlobj.readyState==4){
			node.innerHTML="<input type=\"file\" name=\"fajl[]\" />";
		}
	}
	var params="filename="+encodeURIComponent(file)+"&folder="+encodeURIComponent(article);
	xmlobj.open("POST", "ajaxprocess.php?a=deletefile", true);
	xmlobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlobj.setRequestHeader("Content-length", params.length);
	xmlobj.setRequestHeader("Connection", "close");
	xmlobj.send(params);
	node.innerHTML="Törlés folyamatban...";
}

function deleteConfirm(article){
	if (!confirm("Biztosan törölni kívánja a cikket?")){
		return;
	}
	window.location="delete.php?id="+article;
}

//HttpRequest létrehozás
function getXMLHttpObject(){
	if (window.XMLHttpRequest){
		return new XMLHttpRequest();
	}
	else{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	alert("Ez a böngésző nem támogatja a HTTP Request-et!");
	return null;
}

//Google Maps szkript
function mapLoad() {
	if (GBrowserIsCompatible()) {
         var map = new GMap2(document.getElementById("map"));
         map.addControl(new GLargeMapControl());
         var MapTypes = map.getMapTypes();
         MapTypes[0].getName= function() { return "Térkép";}
         MapTypes[1].getName = function() { return "Műhold";}
         MapTypes[2].getName = function() { return "Vegyes";}
         map.addControl(new GMapTypeControl());
         map.setCenter(new GLatLng(47.464547175875246, 19.036989212036133), 17);
         var info='<div style="background-color: #fff; width: 200px; font-size: 11px; FONT-FAMILY: Verdana, Tahoma, Arial, Sans-Serif;"><B>SZÁMALK Szakközépiskola</B><hr>Budapest XI. Mérnök u. 39. <hr><B>GPS</B> N: 47&deg; 27&#39; 52&#34; &nbsp;E: 19&deg; 2&#39; 13&#34; </div>';
         var point = new GLatLng(47.4645491, 19.0369861);
         var marker = new GMarker(point); 
         GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(info);
         });
         map.addOverlay(marker);
         marker.openInfoWindowHtml(info);

	}
} 


function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;

