var http_request = false;
var http_msg_request = false;

function showContent(html)
{
	//document.getElementById("contentbox").style.top = "0px";
	document.getElementById("contentbox").scrollTop = "0px";
	document.getElementById("contentbox").innerHTML = html;	
}

function showNavigation(html)
{
	document.getElementById("navibox").className = "navi";
	document.getElementById("navibox").innerHTML = html;
}

function showLoadingState(type)
{
	var loader1 = "<div style='width=100%; background-color: #FFFFFF; padding-bottom: 7px; padding-top: 10px; text-align: center; vertical-align: middle; position: relative; top: 50px;'><img src='images/loading.gif' alt='loading...' /></div>";		
	var loader2 = "<div style='width=100%; height: 100%; padding-top: 150px; text-align: center; vertical-align: middle;'><img src='images/loading.gif' alt='loading...' /></div>";	
	
	if(type == "navi")
	{
		showNavigation(loader1);
		document.getElementById("navibox").className = "navi-loading";
	}
	else
		showContent(loader2);		
}

function checkLogin()
{
	byId("loginname").value = "name";
	byId("loginpass").value = "pass";
	byId("loginname").className = "loginname";
	byId("loginpass").className = "loginpass";		
}

function checkRefLogin()
{
	checkLogin();
	byId("mainuser").value = "";
	byId("mainpass").value = "";
}


function ajaxRequest(keyword, type) 
{
	showLoadingState(type);
	
    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;
    }
    
    if(type == "navi")
    {
    	http_request.onreadystatechange = handleNavigation;
    	http_request.open('GET', 'navi/generate.php?show='+keyword, true);
    }
    else
    {
    	http_request.onreadystatechange = handleContent;
    	http_request.open('GET', 'content/generate.php?show='+keyword, true);
    }
    	   	
    http_request.send(null);
}

function handleNavigation() 
{
    if (http_request.readyState == 4) 
    {
        if (http_request.status == 200) 
          	setTimeout("showNav()", 500);  
        else 
            alert('Bei dem Request ist ein Problem aufgetreten.');
    }
}

function showNav()
{
	showNavigation(http_request.responseText);
	
	if(first_load == 1)
	{
		first_load = 0;
		
		document.getElementById("main").style.visibility = "visible";

		if(current_style == "classic")
			setTimeout("classic_pro()", 100);		
		else if(current_style == "comic")
			setTimeout("comic_pro()", 100);
		else if(current_style == "modern")
			setTimeout("modern_pro()", 100); 
	}
	
	if(current_link != 0)
	{
		if(current_style == "classic")
		{
			if(current_link == "pro")
				setTimeout("classic_pro(0)", 100);
				
			if(current_link == "ref")
				setTimeout("classic_ref(0)", 100);
				
			if(current_link == "con")
				setTimeout("classic_con(0)", 100);
		}		
		else if(current_style == "comic")
		{
			if(current_link == "pro")
				setTimeout("comic_pro(0)", 100);
				
			if(current_link == "ref")
				setTimeout("comic_ref(0)", 100);
				
			if(current_link == "con")
				setTimeout("comic_con(0)", 100);
		}
		else if(current_style == "modern")
		{
			if(current_link == "pro")
				setTimeout("modern_pro(0)", 100);
				
			if(current_link == "ref")
				setTimeout("modern_ref(0)", 100);
				
			if(current_link == "con")
				setTimeout("modern_con(0)", 100);
		}
		
		//setTimeout("setDivSize()", 1);
		
		//var funcname = "\""+style+"_"+current_link+"(0)\"";
		//setTimeout(funcname, 1000);
		//alert("\""+style+"_"+current_link+"(0)\"");
	}
	
}

function handleContent() 
{
    if (http_request.readyState == 4) 
    {
        if (http_request.status == 200) 
            setTimeout("showCont()", 500);
        else 
            alert('Bei dem Request ist ein Problem aufgetreten.');
    }
}

function showCont()
{
	showContent(http_request.responseText);
}


function sendAjaxMessage(message)
{    
	http_msg_request = false;

    if (window.XMLHttpRequest) 
    { // Mozilla, Safari,...
        http_msg_request = new XMLHttpRequest();
        if (http_msg_request.overrideMimeType) 
        {
            http_msg_request.overrideMimeType('text/xml');
            // zu dieser Zeile siehe weiter unten
        }
    } 
    else if (window.ActiveXObject) 
    { // IE
        try 
        {
            http_msg_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) 
        {
            try 
            {
                http_msg_request = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {}
        }
    }

    if (!http_msg_request) 
    {
        alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
    
    http_msg_request.onreadystatechange = handleMessage;
	http_msg_request.open('POST', 'mail/myself.php', true);
	
    http_msg_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_msg_request.setRequestHeader("Content-length", message.length);
    http_msg_request.setRequestHeader("Connection", "close");

	http_msg_request.send('msg='+message); 
}

function handleMessage() 
{
    if (http_msg_request.readyState == 4) 
    {
        if (http_msg_request.status == 200) 
        {
            if(http_msg_request.responseText == "done")
            	sendMessage(1);
            else
            	alert("Es ist ein Problem aufgetreten! Die Nachricht wurde nicht versandt!");
        }
        else 
            alert('Bei dem Request ist ein Problem aufgetreten.');
    }
}

function sendMessage(done)
{
	if(done)
	{
		document.getElementById("submitmsgdiv").style.color = "green";
		document.getElementById("submitmsgdiv").innerHTML = "Ihre Nachricht wurde erfolgreich versandt."
	}
	else
	{		    
    	var message = document.getElementById("textmessage").value; 
    	
    	if(message != "Ihre Nachricht" && message.length > 33)
    	{
    		sendAjaxMessage(message);
    		document.getElementById("submitmsgdiv").innerHTML = "<img src='images/loading.gif' alt='loading...' style='padding-right: 25px;' />";
    	}
    	else
    		document.getElementById("textmessage").value = "Bitte etwas mehr Informationen!";
	}
	
}

