var objToAnimate = null;
var objToShow = null;
var ajaxContent = null;
var ajaxHead = null;
var categoryFlag = false;
var categories = new Array();
var categoriesCount = 0;

function SetObjToAnimate(obj)
{
    objToAnimate = obj;
}

function SetObjToShow(obj)
{
    objToShow = obj;
}

function ToggleVisibilty()
{
    if(objToShow != null)
    {
	objToShow.style['opacity'] = 1.0;
	objToShow.style['-moz-opacity'] = 1.0;
	if(objToShow.filters) objToShow.filters.alpha['opacity'] = 100;
    }
}

function StartAnimation(duration)
{
    BlindDownAnimation(duration);
}

function BlindDownAnimation(dur)
{
    if(objToAnimate != null)
    {
        new Effect.BlindDown(objToAnimate, {duration: dur});
        window.setTimeout("ToggleVisibilty()", 150);
    }
}

function AddCategory(cat)
{
    categories[categoriesCount++] = new Array(cat, false);
}

function HideAllLinks()
{
    for(var i=0 ; i<categories.length ; i++)
    {
        if(document.getElementById(categories[i][0]) != null)
            new Effect.BlindUp(document.getElementById(categories[i][0]), {duration: 0.5});
        categories[i][1] = false;
    }
}

function ToggleCategory(cat)
{
    for(var i=0 ; i<categories.length ; i++)
    {
        if(categories[i][0] == cat)
        {
          if(!categories[i][1])
          {
              for(var j=0 ; j<categories.length ; j++)
              {
                if(categories[j][0] != cat)
                {
                    if(document.getElementById(categories[j][0]) != null)
                        new Effect.BlindUp(document.getElementById(categories[j][0]), {duration: 1.0, scaleTo: 0});
                    categories[j][1] = false;
                }
              }

              if(document.getElementById(categories[i][0]) != null)
                new Effect.BlindDown(document.getElementById(categories[i][0]), {duration: 1.0});
              categories[i][1] = true;
	      
          }
          else
          {
              if(document.getElementById(categories[i][0]) != null)
                new Effect.BlindUp(document.getElementById(categories[i][0]), {duration: 1.0, scaleTo: 0});
              categories[i][1] = false;
          }
        }
    }
}

function ToggleCategoryMenu(menu, button)
{
    if(categoryFlag)
    {
        new Effect.BlindDown(document.getElementById(menu), {duration: 1.0});
        document.getElementById(button).innerHTML = "Verstecken";
    }
    else
    {
        new Effect.BlindUp(document.getElementById(menu), {duration: 1.0});
        document.getElementById(button).innerHTML = "Anzeigen";
    }
    categoryFlag = !categoryFlag;
}

function initialize()
{
    initAjax();
}

function OpenImpressum()
{
    posX = (screen.availWidth - 350) / 2;
    posY = (screen.availHeight - 580) / 2;
    window.open("include/general/impressum.inc.php", "Impressum", "width= 350, height=580, scollbars=yes, resizable=no, left=" + posX + ", top=" + posY);
}

function initAjax()
{
	if(window.XMLHttpRequest)
	{
		ajaxContent = new XMLHttpRequest();
		ajaxHead = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		try
		{
			ajaxContent = new ActiveXObject("Msxml2.XMLHTTP");
			ajaxHead = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				ajaxContent = new ActiveXObject("Microsoft.XMLHTTP");
				ajaxHead = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {}
		}
	}
}

function sendRequest(mEvent)
{
    if(ajaxContent != null)
    {
		if(ajaxContent.readyState < 4)
		    ajaxContent.abort();
		if(ajaxHead.readyState < 4)
		    ajaxHead.abort();

		ajaxHead.open("POST", "include/general/dispatch_head.php");
		ajaxHead.onreadystatechange = UpdateHead;
		ajaxHead.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajaxHead.send(mEvent);
		
		ajaxContent.open("POST", "include/general/dispatch.php");
		ajaxContent.onreadystatechange = UpdateContent;
		ajaxContent.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajaxContent.send(mEvent);
    }
}

function UpdateContent()
{
	if(ajaxContent.readyState == 4)
	{
	    document.getElementById("content").innerHTML = ajaxContent.responseText;
	    SetObjToAnimate(document.getElementById("content_to_animate"));
	    SetObjToShow(document.getElementById("content_to_show"));
	    StartAnimation(3);
	}
}

function UpdateHead()
{
	if(ajaxHead.readyState == 4)
	{
	    document.getElementById("head").innerHTML = ajaxHead.responseText;
	    //SetObjToAnimate(document.getElementById("head_to_animate"));
	    //StartAnimation();
	}
}

function saveGuestbookEntry()
{
	var name = document.getElementById("name").value;
	var message = document.getElementById("message").value;
	sendRequest("parent=kommunik&category=kommunik&cmd=add&name=" + name + "&message=" + message);
}
