/* 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) {

        /*for(var i=0; i<elements.length; i++) 
           if(elements(i).type == "checkbox") {
              var str = new String(elements(i).name);
              if((str.indexOf(elem) != -1) && 
                 (elements(i).checked)) result[i] = elements(i).value;
           }*/
        
        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 MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if(a[i].indexOf("#")!=0) { d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
   var i,j=0,x,a=MM_swapImage.arguments; 
   document.MM_sr=new Array; 
   
   for(i=0;i<(a.length-2);i+=3)
    if((x=MM_findObj(a[i]))!=null) { 
        document.MM_sr[j++]=x; 
        if(!x.oSrc) x.oSrc=x.src; 
        x.src=a[i+2];
    }
}
