// JavaScript Document

// JavaScript Document
var http = getHTTPObject(); // We create the HTTP Object
var isWorking = false;
var result = "";
var insertTo;
var URL;

function getHTTPObject() {
		var xmlhttp;
		/*@cc_on
		@if (@_jscript_version >= 5)
		try {
		  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		  try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		  } catch (E) {
			xmlhttp = false;
		  }
		}
		@else
		xmlhttp = false;
		@end @*/
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
		  xmlhttp = new XMLHttpRequest();
		} catch (e) {
		  xmlhttp = false;
		}
		}
		return xmlhttp;
}

function sendAJAX(to,url,frm){
	setInsertTo(to);
	TmpFrm= toTmpForm(frm);
	loading();
	startPOST(url,TmpFrm);
}

function toTmpForm(f){
	if (typeof XMLHttpRequest == 'undefined') {
		TmpFrm = top.document.getElementById("FrmTmp");
		TmpFrm.innerHTML = f.innerHTML;
	}else{
		TmpFrm = f
	}
	return TmpFrm;
}

function startPOST(url,f){
var str = getFormValues(f,"validate");
xmlReq = getXML(url,str);

}
function validate(val){
return true;
}

function getXML(file,str){
   var doc = null
   //alert(str);
   if (typeof window.ActiveXObject != 'undefined' ){
   http.onreadystatechange = handleHttpResponse;
   }else{
   http.onload = handleHttpResponse;
   }
   http.open( "POST", file, true );
   http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   http.send(str);
   return doc;
}

function getFormValues(fobj,valFunc){
	var str = "";
	var valueArr = null;
	var val = "";
	var cmd = "";
	for(var i = 0;i < fobj.elements.length;i++){
	//alert(fobj.elements[i].type);
	switch(fobj.elements[i].type){
		case "hidden":
		break;
		case "text":
			if(valFunc){
			cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
			val = eval(cmd)
			}
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
		case "checkbox":
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].checked) + "&";
			//alert(str);
		break;
		case "select-one":
			str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
		break;
		case "textarea":
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
	}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}


function loading(){
	try {
		insertTo.innerHTML = "<div align=\"center\"><img src=\"/img/loading.gif\"/><br />Processing...</div>";
	}
	catch (e){
	}
}

function handleHttpResponse() {
	var i;
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
				  try {
					if (insertTo.type.indexOf("select") != -1){
						results = http.responseText.split("|");
						insertTo.options.length = 0;
						i++;
						if (results.length == 1){
								data = results[0].split(":");
								insertTo.options[0] = new Option(data[1],data[0]);
						}else{
							for (x=0;x<results.length;x++){
								//alert(results.length + " > " + results[x]);
								data = results[x].split(":");
								insertTo.options[x] = new Option(data[1],data[0]);
							} //end for
						} //end if
					 } //end if
				   } //end try
					catch (e){
						if (e.message == "insertTo.type has no properties"){
							results = http.responseText;
							insertTo.innerHTML = results;
						}
					}
			results = http.responseText;
			insertTo.innerHTML = results;
			isWorking = false;
		} 
	  }
}


function setInsertTo(div){
	insertTo = top.document.getElementById(div);
}



function getPage(naar,pg){
//	var url = "/_php/tools/wrapper.php?p="+pg;
	var url = pg;
	$(naar).innerHTML = "<div align=\"center\"><img src=\"/img/loading.gif\"/>";
		if (!isWorking) {
		setInsertTo(naar);
		//loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		//http.send(null);		
	}	
}

function changePage(div,page){
	new Effect.Fade(div, { duration: 0.3, beforeStart: function () { }, afterFinish: function() {
		getPage(div,page);
		new Effect.Appear(div, {  duration: 0.8,beforeStart: function () { http.send(null) }
		})
	}})
}



function toggleArrow(naar,divID){
	if ($(naar).style.display == 'none'){
		$('folding'+divID).innerHTML='<img src="images/arrow_down.gif" border="0" alt="V"/>';
  	}else{
		$('folding'+divID).innerHTML='<img src="images/arrow_right.gif" border=0 alt=">"/>';
	}
}

function login(frm){
	var user = frm.userID;
	var pwd  = frm.password;
	var allesOk = true;
	if (user.value.length < 3) {
		(document.getElementById("loginkaderErrorUser")).style.display="block";
		allesOk = false;
	}else{
		(document.getElementById("loginkaderErrorUser")).style.display="none";
	}
	if (allesOk){
		var pwdMD5 = (hex_md5(pwd.value));
		var data = 'formProcess/login&user='+ user.value + "&pass=" + pwdMD5 + "&action=logon";
		changePage('menu',data)
		return false;
	}else{
		Effect.Shake("loginkader");
	}
	return false;
}

function logout(){
	var data = 'formProcess/login&action=logout';
	changePage('menu',data);
	return false;
}
	

function isEmail(string) {
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}


function showPane(id){
	changePage("submenu","/topmenu/" + id + "#rdm" + Math.random());
}

function closePane(){
		new Effect.Fade("submenu");
}


function ClassToggle(theClass){
 var allTags = document.getElementsByTagName('*');
 for(i=0; i<allTags.length; i++){
  if(allTags[i].className == theClass)  new Effect.toggle(allTags[i],'appear',{queue:'parallel',duration:1});
 }
}

var openNodeID = 0;
function showPhoto(pgID){
	changePage('photo','/getImg.php?pg=' + pgID);
}
function openNode(nr,pgID){
	showPhoto(pgID);
	if ((openNodeID != nr) && (openNodeID != 0)){
		Effect.toggle('node' + openNodeID, 'blind'); 
	}
	Effect.toggle('node' + nr, 'blind'); 	
	openNodeID = nr;
	return false;
}
