function open_child( id, child_id ) {
    var parent = document.getElementById( id );
    var children = parent.children;
    for (i=0; i<children.length; i++) {
        var c = children.item(i);
        if (c.id == child_id)
            c.className = ( c.className!='open' ) ? 'open' : 'closed';
        else
            c.className = 'closed';
    }
}

function open_menu( n ) {
    var elem = null;
    var arrw = null;
    for( var i=1; i<=5; i++ ) {
        elem = document.getElementById( 'ddmenu'+i );
        arrw = document.getElementById( 'ddarrow'+i );
        if( i==n && elem.className == 'menu-container' ) {
            elem.className = 'menu-container-open';
            if( arrw ) arrw.innerHTML = '&#9650;';
        } else {
            elem.className = 'menu-container'
            if( arrw ) arrw.innerHTML = '&#9660;';
        }
    }
}

function toggle_class( elem_id, cls1,cls2 ) {
    var elem = document.getElementById(elem_id);
    elem.className = ( elem.className==cls1 ) ? cls2 : cls1;
    return elem.className;
}

function toggleObjList( alb_id ) {
    var f = toggle_class( 'alb_'+alb_id+'_list', 'visible', 'hidden' );
    var elem = document.getElementById( 'alb_'+alb_id+'_list_vis' );
    elem.setAttribute( "value", (f=='visible')?1:0 );
    
}

function set_msg_viewed(msg_id) {
    new Ajax.Request( 
        '?p=ajax/msg_viewed', 
        {
            method: 'post',
            parameters: 'id='+parseInt(msg_id),
            onComplete: function(response) {
                var elem = document.getElementById('message-viewed-'+parseInt(msg_id));
                elem.innerHTML = response.responseText;
            }    
        });
}

function msg_remove(msg_id) {
    new Ajax.Request( 
        '?p=ajax/msg_remove', 
        {
            method: 'post',
            parameters: 'id='+parseInt(msg_id),
            onComplete: function(response) {
                var elem = document.getElementById('message-remove-'+parseInt(msg_id));
                elem.innerHTML = response.responseText;
                var elem2 = document.getElementById('message-'+parseInt(msg_id));
                elem2.toggleClassName('removed');
            }    
        });
}

function rate_media(media_id, rating) {
    new Ajax.Request(
            '?p=media-rating',
            {
                method: 'post',
                parameters:
                    'media_id='+parseInt(media_id)+
                    '&rate='+parseInt(rating),
                onComplete: function(response) {
                    var elem = document.getElementById('rating-set');
                    elem.innerHTML = response.responseText;
                    get_simple_rating(media_id);
                }
            });
}

function get_simple_rating(media_id) {
    new Ajax.Request(
            '?p=media-rating'+
            '&simple=1'+
            '&media_id='+media_id,
            {
                method: 'get',
                onComplete: function(response) {
                    var elem = document.getElementById('simple-rating');
                    elem.innerHTML = response.responseText;
                }
            });
}

function set_elem_contents_and_scroll_down(elem_id, url) {
    new Ajax.Request(
        url, {
            method: 'get',
            onComplete:
                function(response)
                {
                    var elem = document.getElementById(elem_id);
                    elem.innerHTML = response.responseText;
                    elem.scrollTop = elem.scrollHeight; 
                }
        }
    );
}

function set_elem_contents(elem_id, url)
{
    new Ajax.Request(
        url, {
            method: 'get',
            onComplete:
                function(response)
                {
                    var elem = document.getElementById(elem_id);
                    elem.innerHTML = response.responseText;
                }
        }
    );
}

function post_form(elem_id, form_id)
{
    new Ajax.Request(
        'index.php', {
            method: 'post',
            parameters: $(form_id).serialize(true),
            onComplete:
                function(response)
                {
                    var elem = document.getElementById(elem_id);
                    elem.innerHTML = response.responseText;
                }
        }
    );
}

function player_seek(pos)
{
    var elem = document.getElementById('player');
    // finds first keyframe before pos
    elem.sendEvent('scrub', pos + 1);
}

