var rov_request = getHTTPObject();
var rov_processingRequest = false;
var rov_rootID = "rovatok_lista";
var rov_class;
var rov_placeID;
var rov_aktID = 0;
var rov_displayed = new Array();

var rov_depth = new Array();
rov_depth[ 0 ] = -1;

var parentidIndex = 0; //Ha parentid.length > 0 akkor rekurzivan megnyitjuk, ez a pointer.

function rov_init(){
    rov_class   = "rovclass";
    rov_requestRovat( 0 );
}

function rov_requestRovat( parent ){
    rov_aktID = parent;
    if ( parent == 0 ){
        rov_placeID = rov_rootID;
    } else {
        rov_placeID = "rovatcont_" + parent;
        cont = getElement( rov_placeID );
        if ( cont.style.display == 'block' ){
            cont.style.display = 'none';
            return false;
        }
    }
    if ( rov_processingRequest ){
        return false;
    }
    rov_request = getHTTPObject();
    rov_processingRequest = true;
	rov_request.onreadystatechange = rov_cb_requestRovat;
	rov_request.open('GET', 'ajax/getrovat.php?parent=' + escape(parent), true);
	rov_request.send( null );    
	
	return false;
}

function rov_cb_requestRovat(){
  if (rov_request.readyState == 4) {
        if (rov_request.status == 200) {
            response = rov_request.responseText;
            responseRows = response.split("\n");
            if ( response.substring(0,1) == '!' ){
                alert( response );
                rov_processingRequest = false;
                return;
            }
            
            resp = new Array();
            for ( i = 0; i < responseRows.length; i++ ){
                if ( responseRows[ i ].length > 0 ){
                    resp[ i ] = responseRows[ i ].split("%");
                }
            }
            rov_displayRovatLista( resp );
            rov_processingRequest = false;
            
            if ( ( parentid.length > 0 ) && ( parentidIndex >= 0 ) ){
                p = parentidIndex;
                parentidIndex++;
                if ( parentidIndex >= parentid.length){
                    parentidIndex = -1;
                }
                rov_requestRovat( parentid[ p ] );
            }
        }
    }
    return false;
}

function rov_displayRovatLista( rovatok ){

    cont = getElement( rov_placeID );
    cont.innerHTML = '';
    for ( i = 0; i < rovatok.length; i++ ){
        rov_depth[ rovatok[ i ][ 0 ] ] = rov_depth[ rov_aktID ] + 1;
        if ( rovatok[ i ][ 2 ] == "lista" ){
            aktRow = "<div style='margin-left: " + ( ( rov_depth[ rov_aktID ] + 1 ) * 10 )+ "px;'><a style='cursor: pointer; display: block' href='#' id='rovat_" + rovatok[ i ][ 0 ] + "' onclick='return rov_requestRovat(" + rovatok[ i ][ 0 ] + ");'>" + rovatok[i][1] + "</a></div><div id='rovatcont_" + rovatok[ i ][ 0 ] + "' style='display: none;'></div>";
        } else {
            if ( rov_currentID == rovatok[ i ][0] ){
                aktStyle = 'font-weight: bold;';
            } else {
                aktStyle = '';
            }
            aktRow = "<div style='margin-left: " + ( ( rov_depth[ rov_aktID ] + 1 ) * 10 )+ "px;'><a style='" + aktStyle + "' id='rovat_" + rovatok[ i ][ 0 ] + "' href='" + baseHref + "ads/?parentid=" + rovatok[ i ][ 0 ] + "'>" + rovatok[i][1] + "</a></div>";
        }
        rov_displayed[ rovatok[ i ][ 0 ] ] = true;
        cont.innerHTML = cont.innerHTML + aktRow;
        
    }
    cont.style.display = 'block';
}
