/* General scripts */


function set_action() {
   
    var page = (arguments.length >= 1) ? arguments[0] : '';
    var action = (arguments.length >= 2) ? arguments[1] : '';
    var get_params = (arguments.length >= 3) ? arguments[2] : '';
    var script_name = ((arguments.length >= 4) && (arguments[3] != '')) ? arguments[3] : 'index.php';
    var form_name = ((arguments.length >= 5) && (arguments[4] != '')) ? arguments[4] : 'data';
    
    document.getElementById(form_name).action = '';

    if(mod_rewrite)
        document.getElementById(form_name).action = rewrite_base + ((page=='')?"":page+"/"+((action=='')?"":action+"/")) + script_name + (get_params==''?"":"?"+get_params);
    else
        document.getElementById(form_name).action = rewrite_base + script_name + (get_params!='' || page!='' || action !='' ? "?" + get_params + ((page=='')?"":(get_params==''?"":"&")+"pg="+page) + ((action=='')?"":(get_params==''&&page==''?"":"&")+"act="+action) : "");
}

function submit_action() {
   
    var page = (arguments.length >= 1) ? arguments[0] : '';
    var action = (arguments.length >= 2) ? arguments[1] : '';
    var get_params = (arguments.length >= 3) ? arguments[2] : '';
    var script_name = ((arguments.length >= 4) && (arguments[3] != '')) ? arguments[3] : 'index.php';
    var form_name = ((arguments.length >= 5) && (arguments[4] != '')) ? arguments[4] : 'data';
    
    document.getElementById(form_name).action = '';

    if(mod_rewrite)
        document.getElementById(form_name).action = rewrite_base + ((page=='')?"":page+"/"+((action=='')?"":action+"/")) + script_name + (get_params==''?"":"?"+get_params);
    else
        document.getElementById(form_name).action = rewrite_base + script_name + (get_params!='' || page!='' || action !='' ? "?" + get_params + ((page=='')?"":(get_params==''?"":"&")+"pg="+page) + ((action=='')?"":(get_params==''&&page==''?"":"&")+"act="+action) : "");

    document.getElementById(form_name).submit();
}

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(url) {
    //if(typeof(rewrite_base) == "string") url = rewrite_base+pg;
    window.location.href = url;
}

function lredirect() {
    
    var page = (arguments.length >= 1) ? arguments[0] : '';
    var action = (arguments.length >= 2) ? arguments[1] : '';
    var get_params = (arguments.length >= 3) ? arguments[2] : '';
    var script_name = (arguments.length >= 4) ? arguments[3] : 'index.php';
    
    if(page == "error") page = "err";
    
    if(mod_rewrite)
        window.location.href = rewrite_base + ((page=='')?"":page+"/"+((action=='')?"":action+"/")) + script_name + (get_params==''?"":"?"+get_params);
    else
        window.location.href = rewrite_base + script_name + (get_params!='' || page!='' || action !='' ? "?" + get_params + ((page=='')?"":(get_params==''?"":"&")+"pg="+page) + ((action=='')?"":(get_params==''&&page==''?"":"&")+"act="+action) : "");
}

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);
}

/*******************************************************************/

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];
    }
}

function textCounter(field, countfield, maxlimit) {
    if(field.value.length > maxlimit) // if too long...this trims it!
    field.value = field.value.substring(0, maxlimit);
    // otherwise, update 'characters left' counter
    else 
    countfield.value = maxlimit - field.value.length;
}
