//call ajax script
function call_ajax(method, element_id, script_link, parameters)
  {
    var xmlHttp;

    try
      {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
      }
    catch (e)
      {
        // Internet Explorer
        try
          {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
          }
        catch (e)
          {
            try
              {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              }
            catch (e)
              {
                alert("Your browser does not support AJAX!");
                return false;
              }
          }
      }

    xmlHttp.onreadystatechange = function()
      {
        if(xmlHttp.readyState == 4)
          {
            var result = xmlHttp.responseText;

            if (!element_id)
              {
                alert (result);
              }
            else
              {
                document.getElementById(element_id).innerHTML = result;
              }
          }
      }

    if (method == 'post')
      {
        xmlHttp.open('POST', script_link, true);
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", parameters.length);
        xmlHttp.setRequestHeader("Connection", "close");
        xmlHttp.send(parameters);
      }
    else
      {
        xmlHttp.open('GET', script_link, true);
        xmlHttp.send(null);
      }
  }

//set cookie
function set_cookie(object, value)
  {
    var expireDate  = new Date()
    var expstring   = expireDate.setDate(expireDate.getDate() + 5) //curent date  + 5 days
    document.cookie = object+'='+value+'; expires='+expireDate.toGMTString()+'; path=/'; //set cookie
  }

//used to auto-start function on page load
function addLoadEvent(func)
  {
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
      {
        window.onload = func;
      }
    else
      {
        window.onload = function()
          {
            if (oldonload)
              {
                oldonload();
              }
            func();
          }
      }
  }

//bookmark
function add_to_bookmark(url, title)
  {
    if (document.all)
      {
        window.external.AddFavorite(url, title);
      }
    else
      {
        alert('Press CTRL+D to bookmark page');
      }
  }

//open popup window
function open_popup(url, target, features)
  {
    if (!features)
      {
        features = 'top=100, left=100, resizable=1, scrollbars=1, location=0, menubar=0, statusbar=0, titlebar=0, width=650, height=420';
      }

    var theWindow = window.open(url, target, features);
    theWindow.focus();
  }

//submit form function to specific action
function submit_form(form_id, action)
  {
    var form = document.getElementById(form_id);
    if (action)
      {
        form.action.value = action
      }
    form.submit();
  }

//show / hide div
function toggleDiv(id, flagit, flagclass)
  {
    if (flagit == '1')
      {
        divs = document.getElementsByTagName("div");

        for (x=0; x < divs.length; x++)
          {
            if (flagclass == divs[x].className)
              {
                var sid = divs[x].getAttribute("id");

                if (document.layers) document.layers[''+sid+''].visibility = 'hide'
                else if (document.all) document.all[''+sid+''].style.visibility = 'hidden'
                else if (document.getElementById) document.getElementById(''+sid+'').style.visibility = 'hidden'
              }
          }

        if (document.layers) document.layers[''+id+''].visibility = 'show'
        else if (document.all) document.all[''+id+''].style.visibility = 'visible'
        else if (document.getElementById) document.getElementById(''+id+'').style.visibility = 'visible'
      }
    else if (flagit == '0')
      {
        if (document.layers) document.layers[''+id+''].visibility = 'hide'
        else if (document.all) document.all[''+id+''].style.visibility = 'hidden'
        else if (document.getElementById) document.getElementById(''+id+'').style.visibility = 'hidden'
      }
  }

//show element based on id
function show_element(object)
  {
    if (document.getElementById)
      {
        document.getElementById(object).style.visibility = 'visible';
        document.getElementById(object).style.display = 'block';
      }
    else if (document.layers && document.layers[object])
      {
        document.layers[object].visibility = 'visible';
        document.layers[object].display = 'block';
      }
    else if (document.all)
      {
        document.all[object].style.visibility = 'visible';
        document.all[object].style.display = 'block';
      }
  }

//hide element based on id
function hide_element(object)
  {
    if (document.getElementById)
      {
        document.getElementById(object).style.visibility = 'hidden';
        document.getElementById(object).style.display = 'none';
      }
    else if (document.layers && document.layers[object])
      {
        document.layers[object].visibility = 'hidden';
        document.layers[object].display = 'none';
      }
    else if (document.all)
      {
        document.all[object].style.visibility = 'hidden';
        document.all[object].style.display = 'none';
      }
  }

  function set_page(page_value)
  {
    //document.actions.show_error.value = '';
    document.actions.page.value = page_value;
    document.actions.submit();
  }

  function apply_filter()
  {
    document.actions.page.value = 1;
    document.actions.submit();
  }

