
/***********************************************
* Pop-it menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var defaultMenuWidth="50px" //set default menu width.
var dropdownobjcount=0
var dropdownobjset=new Array()

//No need to edit beyond here

var ie5=document.all && !window.opera
var ns6=document.getElementById

//if (ie5||ns6)
//document.write('<div id="popitmenu" onMouseover="chdropdown();" onMouseout="dhide(event)"></div>')

function iecompattest(){
    return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}

/*
   1. var AjaxOn = false;  
   2. function DoSomeAjax(){  
   3.     AjaxRequest = new Ajax.Request('ajax/teszt.php',  
   4.         {  
   5.             method:'post',  
   6.             parameters: {id:12},  
   7.             onSuccess: function(transport){AjaxOn = false;AjaxGone(transport.responseText);},  
   8.             onFailure: function(){ alert('Something went wrong...');}  
   9.         }  
  10.     );  
  11.     AjaxOn = true;  
  12.     new PeriodicalExecuter(function(CheckAjax)  
  13.         {  
  14.             CheckAjax.stop();  
  15.             if(AjaxOn)  
  16.             {  
  17.                 AjaxRequest.transport.abort();   
  18.             }  
  19.         }, 5);  
  20. }  
  21. function AjaxGone(result){  
  22.     if(result.length > 0)  
  23.     {  
  24.         alert(result);  
  25.     }  
  26.     else  
  27.     {  
  28.         alert('Nincs válasz');  
  29.     }  
  30. }  
*/  
var SubmitFormAjaxOn = false;  

function navitree_submitForm(url, resulttarget, plist, onerror, oncomplete, onsuccess)
{
    //Element.hide('working');
    if (plist)
    {
        url = url+"&"+plist
    }
    var ocAjax = new Ajax.Request(
        url, 
        {
            method: 'get', 
            sourceitem: resulttarget, 
            onComplete: onsuccess,
            onSuccess: function(transport) {SubmitFormAjaxOn = false; onsuccess(transport.responseText)},  
            onFailure: onerror
        });

    SubmitFormAjaxOn = true;  
    new PeriodicalExecuter(function(CheckAjax)  
        {  
            CheckAjax.stop();  
            if(SubmitFormAjaxOn) 
            {  
                ocAjax.transport.abort();
            }  
        }, 5);  
}

function navitree_closeDiv(originalRequest, json, ajax)
{
    alert(originalRequest.responseText);
    if ((originalRequest.responseText == -1) || (originalRequest.responseText == 1) || (!originalRequest.responseText))
    {
        if (!originalRequest.responseText) displayError('Server error.');
        if (originalRequest.responseText == -1) displayError('Data store error.');
        dhidedropdown();
    }
    else 
        $(ajax.options['sourceitem']).innerHTML = originalRequest.responseText;
}

function showNavitreeCreateResponse(originalRequest, json, ajax)
{
    if (originalRequest.responseText) 
    {
        treeitem  = originalRequest.responseText;
        var tpos = treeitem.indexOf("<target>");
        var tpos1 = treeitem.indexOf("</target>");
        var targetdiv = treeitem.substring(tpos+8,tpos1);
        src = treeitem.replace(treeitem.substring(tpos,tpos1+9), "");
        //alert(src);
        //alert(originalRequest.responseText);
        //alert($("linecontainer4").innerHTML);
        $(""+targetdiv+"").innerHTML = src;//originalRequest.responseText;
    }
    return true;
    //Element.show('working');
}

function navitree_createItem(url, plist)
{
    //Element.hide('working');
    for (i=0; i<plist.length; i++)
    {
        url = url+"&"+plist[i]+"="+$(plist[i]).value;
    }
    var ocAjax = new Ajax.Request(
        url, 
        {
            method: 'get', 
            onComplete: showNavitreeCreateResponse,
            onFailure: reportNavitreeError
        });
}

function showNavitreeCreateResponse(originalRequest, json, ajax)
{
    if (originalRequest.responseText) 
    {
        treeitem  = originalRequest.responseText;
        var tpos = treeitem.indexOf("<target>");
        var tpos1 = treeitem.indexOf("</target>");
        var targetdiv = treeitem.substring(tpos+8,tpos1);
        src = treeitem.replace(treeitem.substring(tpos,tpos1+9), "");
        //alert(src);
        //alert(originalRequest.responseText);
        //alert($("linecontainer4").innerHTML);
        $(""+targetdiv+"").innerHTML = src;//originalRequest.responseText;
    }
    return true;
    //Element.show('working');
}

function navitree_openclose(url)
{
    //Element.hide('working');
    var ocAjax = new Ajax.Request(
        url, 
        {
            method: 'get', 
            onComplete: showNavitreeOpenResponse,
            onFailure: reportNavitreeError
        });
}
function reportNavitreeError(request)
{
    displayError('Item delete failed. Server error.');
}
    
function showNavitreeOpenResponse(originalRequest)
{
    if (originalRequest.responseText) 
    {
        treeitem  = originalRequest.responseText;
        var tpos = treeitem.indexOf("<target>");
        var tpos1 = treeitem.indexOf("</target>");
        var targetdiv = treeitem.substring(tpos+8,tpos1);
        src = treeitem.replace(treeitem.substring(tpos,tpos1+9), "");
        //alert(targetdiv);
        //alert(src);
        //alert(originalRequest.responseText);
        //alert($("linecontainer4").innerHTML);
        $(""+targetdiv+"").innerHTML = src;//originalRequest.responseText;
    }
    
    //Element.show('working');
}

function navitree_changedropdown(url, item)
{
    //Element.hide('working');
    var ocAjax = new Ajax.Request(
        url, 
        {
            method: 'get', 
            sourceitem: item, 
            onComplete: showNavitreeChangeDropDownResponse,
            onFailure: reportNavitreeError
        });
}

function showNavitreeChangeDropDownResponse(originalRequest, json, ajax)
{
    if (originalRequest.responseText) 
    {
        /*
        treeitem  = originalRequest.responseText;
        var tpos = treeitem.indexOf("<target>");
        var tpos1 = treeitem.indexOf("</target>");
        var targetdiv = treeitem.substring(tpos+8,tpos1);
        src = treeitem.replace(treeitem.substring(tpos,tpos1+9), "");
        */
        $(ajax.options['sourceitem']).innerHTML = originalRequest.responseText;
    }
    return true;
    //Element.show('working');
}

function navitree_showdropdown(url, event, item, width)
{
    //Element.hide('working');
    eventX=ie5? event.clientX : event.clientX;
    eventY=ie5? event.clientY : event.clientY;
    var ocAjax = new Ajax.Request(
        url, 
        {
            method: 'get', 
            sourceitem: item, 
            dropwidth: width,
            X: eventX,
            Y: eventY,
            onComplete: showNavitreeDropDownResponse,
            onFailure: reportNavitreeError
        });
}

function showNavitreeDropDownResponse(originalRequest, json, ajax)
{
    if (originalRequest.responseText) 
    {
        /*
        treeitem  = originalRequest.responseText;
        var tpos = treeitem.indexOf("<target>");
        var tpos1 = treeitem.indexOf("</target>");
        var targetdiv = treeitem.substring(tpos+8,tpos1);
        src = treeitem.replace(treeitem.substring(tpos,tpos1+9), "");
        */
        showdropdown('dropdowndiv', originalRequest.responseText, ajax.options['dropwidth'], ajax.options['X'], ajax.options['Y']);
    }
    return true;
    //Element.show('working');
}

function showdropdown(dropdownobjname, src, width, x, y){
    if (!document.all&&!document.getElementById)
        return
    chdropdown()
    if (ie5)
    {
         eval("dropdownobj=document.all."+dropdownobjname);
    }
    else
    {
        dropdownobj=document.getElementById(dropdownobjname)
    }
    dropdownobj.innerHTML=src
    dropdownobj.style.width=(typeof width!="undefined")? width : defaultMenuWidth
    dropdownobj.contentwidth=dropdownobj.offsetWidth
    dropdownobj.contentheight=dropdownobj.offsetHeight
    // mouse coords
    eventX=x;//ie5? event.clientX : srcevent.clientX
    eventY=y;//ie5? event.clientY : srcevent.clientY

    //Find out how close the mouse is to the corner of the window
    var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX
    var bottomedge=ie5? iecompattest().clientHeight-eventY : window.innerHeight-eventY

    //if the horizontal distance isn't enough to accomodate the width of the context menu
    if (rightedge<dropdownobj.contentwidth) {
    //move the horizontal position of the menu to the left by it's width
        dropdownobj.style.left=ie5? iecompattest().scrollLeft+eventX-dropdownobj.contentwidth+"px" : window.pageXOffset+eventX-dropdownobj.contentwidth+"px"
    } else {
    //position the horizontal position of the menu where the mouse was clicked
        dropdownobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px"
    }

    //same concept with the vertical position
    if (bottomedge<dropdownobj.contentheight) {
        dropdownobj.style.top=ie5? iecompattest().scrollTop+eventY-dropdownobj.contentheight+"px" : window.pageYOffset+eventY-dropdownobj.contentheight+"px"
    } else {
        dropdownobj.style.top=ie5? iecompattest().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px"
    }

    dropdownobj.style.visibility="visible"
    dropdownobjset[dropdownobjcount++] = dropdownobj
    return false
}

function hidedropdown(){
    for (i=0; i<=dropdownobjcount; i++)
    {
        dropdownobj = dropdownobjset[i]
        if (dropdownobj)
        {
            if (dropdownobj.style)
            {
                dropdownobj.style.visibility="hidden"
                //alert(i);
            }
        }
    }
}

function delemhide(e){
    for (i=0; i<dropdownobjcount; i++)
    {
        dropdownobj = dropdownobjset[i]
        if (ie5&&!dropdownobj.contains(e.toElement))
            hidedropdown()
        else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
            hidedropdown()
    }
}

function dhide(e){
    for (i=0; i<dropdownobjcount; i++)
    {
        dropdownobj = dropdownobjset[i]
        if (ie5&&!dropdownobj.contains(e.toElement))
            hidedropdown()
        else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
            hidedropdown()
    }
}

function dhidedropdown(){
    delayhide=setTimeout("hidedropdown()",500)
}

function hidesettings(){
    //delayhide=setTimeout("dhide()",500)
}

function chdropdown(){
    if (window.delayhide)
        clearTimeout(delayhide)
}

function none()
{
    return true;
}

function contains_ns6(a, b) {
//Determines if 1 element in contained in another- by Brainjar.com
    try {
    while (b.parentNode)
        if ((b = b.parentNode) == a)
            return true;
    } catch (e) {
    }
    return false;
}

//if (ie5||ns6)
  //  document.onclick=dhidedropdown
if (ie5||ns6)
    document.onclick=hidesettings

