var http_request = false,
	varAction = "";

function printData(){
	if(http_request.readyState == 4){
		if(http_request.status == 200){
			if(varAction == ""){
				var contents = http_request.responseText;
				document.getElementById("contents").innerHTML = contents;
				document.getElementById('loading').style.display = 'none';
				document.getElementById('contents').style.display = 'block';
				fade('contents', 'in');
			}else{
				var contents = http_request.responseText;
				if(contents == "login.success"){
					fade('contents', 'first', 'blog');
					document.getElementById('lnkLogin').innerHTML = "Logoff";
					document.getElementById('lnkLogin').href = "javascript:fade('contents', 'out', 'login', 'logoff');";
				}
				if(contents == "login.fail"){
					fade('contents', 'first', 'blog');
				}
				if(contents == "logoff.success"){
					fade('contents', 'first', 'blog');
					document.getElementById('lnkLogin').innerHTML = "Login";
					document.getElementById('lnkLogin').href = "javascript:fade('contents', 'out', 'login');";
				}
				if(varFade = "blog"){
					fade('contents', 'first', 'blog');
				}
				varAction = "";
				varFade = "";
			}
		} else {
			alert('Bei dem Request ist ein Problem aufgetreten. ' + http_request.status);
		}
	}
}
	
function getData(query, effects){
		//thing.style.display = "none";
		//document.getElementById('loading').style.display = 'block';
		http_request = false;
		
        if(window.XMLHttpRequest){ // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if(http_request.overrideMimeType){
                http_request.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        }else if(window.ActiveXObject){ // IE
            try{
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }catch(e){
                try{
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(e){}
            }
        }

        if(!http_request){
            //alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
		
        http_request.onreadystatechange = printData;
        http_request.open("POST", "scripts/getpage.php", true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http_request.send("q=" + query + effects);
}
	
function fade(id, mode, query, action){
	var element = document.getElementById(id);
	var vis = 100;
	
	if(action == "action" && query == "login"){
		varAction = "&action=login&mail=" + document.getElementById("mail").value + "&password=" + document.getElementById("password").value;
	}else if(action == "logoff"){
		varAction = "&action=logoff";
	}else if(action == "save" && query == "blog"){
		text = document.getElementById("text").value;
		title = document.getElementById("title").value;
		tags = document.getElementById("tags").value;
		comable = document.getElementById("comable").checked;
		public = document.getElementById("public").checked;
		
		if(comable == true) comable = "1";
		else comable = "0";
		
		if(public == true) public = "1";
		else public = "0";
		
		varAction = "&action=save&title=" + title + "&text=" + text + "&tags=" + tags + "&comable=" + comable + "&public=" + public;
		varFade = "blog";
	}else{
		varAction = "";
	}
	
	if(mode == 'out') window.setTimeout("fout('" + id + "', " + vis + ", '" + query + "')", 50);
	vis = 0;
	if(mode == 'in') window.setTimeout("fin('" + id + "', " + vis + ", 100)", 50);
	if(mode == 'first') window.setTimeout("ffirst('" + id + "', " + vis + ", '" + query + "')", 50);
}

function fout(element, vis, query){
	var thing = document.getElementById(element);
	vis -= 10;
	thing.style.opacity = vis / 100;
	thing.style.MozOpacity = vis / 100;
	thing.style.filter = "Alpha(opacity=" + vis + ")";
	
	if(vis > 0){
		window.setTimeout("fout('" + element + "', " + vis + ", '" + query + "')", 50);
	}
	if(vis == 0){
		getData(query, varAction);
	}
}

function fin(element, vis, finish){
	thing = document.getElementById(element);
	vis += 10;
	thing.style.opacity = vis / 100;
	thing.style.MozOpacity = vis / 100;
	thing.style.filter = "Alpha(opacity=" + vis + ")";
	
	if(vis < finish){
		window.setTimeout("fin('" + element + "', " + vis + ", " + finish + ")", 50);
	}
	if(vis == finish){
	
	}
}

function ffirst(element, vis, query){
		getData(query, varAction);
}

//Simple toggle

function toggle(id){
	var obj = document.getElementById(id);
	
	if(obj.style.display == "none") obj.style.display = "block";
	else obj.style.display = "none";
}

//Empty textfield

function emptyfield(id){
	if(document.getElementById(id).value == "Title" ||
		document.getElementById(id).value == "not classified" ||
		document.getElementById(id).value == "Name" ||
		document.getElementById(id).value == "Mail") document.getElementById(id).value = "";
}

//Overlay fades====================================================================================
var overlay_vis = 0,
	overlay_dis = "none";
	
/*document.addEventListener('keydown', keyStroke, false);
document.addEventListener('keypress', formatLogin, false);
document.addEventListener('keyup', printBuffer, false);*/

/*var buffer = new String,
	loginString = new String,
	zeiger = 0,
	pswd = new Boolean,
	loginInterface = new Boolean;*/

/*function keyStroke(e){
	var code = e.keyCode || e.which;
	
	if(code == 27){
		queryLogin("true");
	}
	
	if(code == 13 && loginInterface == true){
		queryLogin("false");
	}
	
	if(code == 8 && buffer.length > 0 && loginInterface == true){
		if(buffer.substr(-1, 1) == ":"){
			pswd = false;
		}
		
		buffer = buffer.slice(-0, -1);
		loginString = loginString.slice(-0, -1);
		zeiger--;
	}
}*/

function fade_overlay(mode, vis){
	var thing = document.getElementById("overlay");
	if(mode == "in"){
		vis += 10;
		thing.style.opacity = vis / 100;
		thing.style.MozOpacity = vis / 100;
		thing.style.filter = "Alpha(opacity=" + vis + ")";
	
		if(vis < 80){
			window.setTimeout("fade_overlay('in', " + vis + ")", 50);
		}
		if(vis == 80){
	
		}
	}
	if(mode == "out"){
		vis -= 10;
		thing.style.opacity = vis / 100;
		thing.style.MozOpacity = vis / 100;
		thing.style.filter = "Alpha(opacity=" + vis + ")";
	
		if(vis > 0){
			window.setTimeout("fade_overlay('out', " + vis + ")", 50);
		}
		if(vis == 0){
			thing.style.display = "none";
		}
	}
}

/*function fade_delete(){
	var overlay = document.getElementById("overlay"),
		btnYes = document.createElement("a"),
		btnNo = document.createElement("a");
	
	btnYes.setAttribute("href", "javascript:delete('true', 1, 2)");
	btnNo.setAttribute("href", "");
}*/

/*function fade_login(){
	var overlay = document.getElementById("overlay"),
		input = document.createElement("input"),
		button = document.createElement("input");
		button.addEventListener("click", queryLogin, false);
		
	input.setAttribute("type", "text");
	input.setAttribute("id", "login");
	
	button.setAttribute("type", "button");
	button.setAttribute("id", "btnLogin");
	button.setAttribute("value", "Login");
		
	if(overlay_dis == "none"){
		overlay.appendChild(input);
		overlay.appendChild(button);
		overlay.childNodes.item(0).focus();
		overlay.style.display = "block";
		overlay_dis = "block";
		loginInterface = true;
		fade_overlay("in", 0);
	}else if(overlay_dis == "block"){
		fade_overlay("out", 80);
		overlay_dis = "none";
		loginInterface = false;
	}
	
}*/

/*function formatLogin(e){
	var code = e.keyCode || e.which;
	
	if(loginInterface == true){
		if(code != 8){
			if(pswd == false){
				buffer += String.fromCharCode(code);
				loginString += String.fromCharCode(code);
				if(String.fromCharCode(code) == ":"){
					pswd = true;
				}
			}else{
				buffer += "*";
				loginString += String.fromCharCode(code);
			}
			zeiger++;
		}
	}
}

function printBuffer(){
	if(loginInterface == true){
		document.getElementById("login").value = buffer;
	}
}*/

//Login functions================================================================================================

/*function loginProcess(){
	if(http_request.readyState == 4){
		if(http_request.status == 200){
			var response = http_request.responseText;
			if(response == "true"){
				fade_login();
				fade("contents", "out", "blog");
			}else if(response == "false"){
				alert("Name or password incorrect! Try again!");
			}else if(response == "yes"){
				//alert("You're loged in!");
			}else if(response == "no"){
				fade_login();
			}
		} else {
			//alert('Bei dem Request ist ein Problem aufgetreten. ' + http_request.status);
		}
	}
}
	
function queryLogin(test){
		http_request = false;
		
        if(window.XMLHttpRequest){ // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if(http_request.overrideMimeType){
                http_request.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        }else if(window.ActiveXObject){ // IE
            try{
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }catch(e){
                try{
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(e){}
            }
        }

        if(!http_request){
            //alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
		
        http_request.onreadystatechange = loginProcess;
        http_request.open("POST", "scripts/login.php", true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		if(test == "true"){
			http_request.send("t=1");
		}else{
			http_request.send("l=" + loginString);
		}
}*/
