/* General scripts */

function set_action(action_code, additional_vars) {
    reset_action();
    document.forms.data.action += action_code;
    document.forms.data.action += additional_vars;    
}

function reset_action() { document.forms.data.action = mainFormAction; }

function only_one_checked(elem) {
    var num = 0;
    with(document.forms.data) {
        if(typeof(elements[elem]) != "object") return false;
        if(!elements[elem].length) num = (elements[elem].checked) ? 1:0;
        else {
            for(var i=0; i<elements[elem].length; i++) {
                num += (elements[elem][i].checked) ? 1:0;
                if(num>1) break;
            }
        }
    }

    return num==1;
}

function get_checked_id(elem) {
    var num = 0;
    with(document.forms.data) {

        if(typeof(elements[elem]) != "object") 
            return 0;

        if(!elements[elem].length)
            return elements[elem].checked ? elements[elem].value : 0;
        else 
            for(var i=0; i<elements[elem].length; i++) 
                if(elements[elem][i].checked)
                    return elements[elem][i].value;
    }

    return 0;
}

function select_checkboxes(elem, flag) {
    with(document.forms.data) {
        if(typeof(elements[elem]) != "object") return;
        
        if(!elements[elem].length) elements[elem].checked = flag;
        else for(var i=0; i<elements[elem].length; i++) elements[elem][i].checked = flag;
    }
}

function get_checked_values(elem) {
    var result = new Array();
    var cur_pos = 0;
    
    with(document.forms.data) {

        if(typeof(elements[elem]) != "object") return result;
        
        if(!elements[elem].length && elements[elem].checked) 
            result[cur_pos++] = elements[elem].value;
            
        else for(var i=0; i<elements[elem].length; i++) 
            if(elements[elem][i].checked) 
                result[cur_pos++] = elements[elem][i].value;
    }

    return result;
}

function redirect(pg) {
    if(typeof(base) == "string") pg = base+pg;
    window.location.href = pg;
}

function check_item(elem, item_id) {
    with(document.forms.data) {
        if(typeof(elements[elem]) != "object") return;
        
        if(!elements[elem].length && (elements[elem].value==item_id)) 
            elements[elem].checked = true;
        else 
            for(var i=0; i<elements[elem].length; i++) 
                if(elements[elem][i].value==item_id)
                    elements[elem][i].checked = true;
    }
}

/****************************************************************/

function display_menu() {
   clicked_item = event.srcElement;
   cont_menu.style.leftPos += 10;
   cont_menu.style.posLeft = event.clientX;
   cont_menu.style.posTop = document.body.scrollTop + event.clientY;
   cont_menu.style.display = "block";
   cont_menu.setCapture();
}

function switch_menu() {   
   el = event.srcElement;
   
   if(el.className == "cont_menu_item") el.className = "cont_menu_item_hl";
   
   else if(el.className == "cont_menu_item_hl") el.className = "cont_menu_item";
}

function click_menu() {
   cont_menu.releaseCapture();
   cont_menu.style.display = "none";
   process_menu_action(event.srcElement);
}


