/**
 * Search results
 * 
 * @author $Author:$
 * @copyright 2007 JobSpeed
 * @filesource
 * @link http://www.jobspeed.com.au/index.php
 * @package JobSpeed
 * @subpackage SearchFunctions
 * @param string $_POST['refersend'] Is this being referred to a friend?
 */

  function getQueryStringForm(obj) {
    var getstr = '';
  
    for (var i = 0; i < obj.elements.length; i++) {

      if (obj.elements[i].tagName == "INPUT") {
        // add elements of type text, hidden and submit
        if (obj.elements[i].type == "text" || obj.elements[i].type == "hidden" || obj.elements[i].type == 'submit' || obj.elements[i].type == 'password') {
          getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
        }
        
        
        if (obj.elements[i].type == "checkbox") {
          if (obj.elements[i].checked) {
            getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
          } else {
            getstr += obj.elements[i].name + "=&";
          }
        }
        
        if (obj.elements[i].type == "radio") {
          if (obj.elements[i].checked) {
            getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
           }
        }
      } else if (obj.elements[i].tagName == "SELECT") {
        var sel = obj.elements[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
      } else if (obj.elements[i].tagName == "TEXTAREA") {
        // skip full_desc. we get that in a different way
        if (obj.elements[i].name != 'long_desc') {
          getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
        }
      }
    }

    return getstr;
  }

  function getHiddenFormVars(obj) {
    var getstr = '';
  
    for (var i = 0; i < obj.elements.length; i++) {

      if (obj.elements[i].tagName == "INPUT") {

      // add elements of type hidden
        if (obj.elements[i].type == "hidden") {
          getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
        }
      }
    }

    return getstr;
  }

  function removeNL(s){ 
    return s.replace(/[\n\r\t]/g,''); 
  }
  
    timers = new Array();
    oldSetTimeout = window.setTimeout;
    window.setTimeout = function(code, interval) {
      timers.push(oldSetTimeout(code, interval));
    }
    
    function resetTimeouts() {
      timers = new Array();
    }
    
    function clearTimeouts() {
      for (var i= 0;i < timers.length; i++) {
        clearTimeout(timers[i]);
      }
      resetTimeouts();
    }

  /**********************************/
  /** GLOBALS **/
  /**********************************/
  var checkList = new Array();
  var prevBox = 'none';
  var prevAlertBox = 'none';
  
  function opacity(id, opacStart, opacEnd, millisec) {  

    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;  
    //opacity('alertBox', 0, 100, 500);
    //determine the direction for the blending, if start and end are the same nothing happens
    var boxObj = document.getElementById(id);  
    if(opacStart > opacEnd)  {
      for (i = opacStart; i >= opacEnd; i--) {
        setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
        timer++;
      }
      // hide the block when fading has finished
      setTimeout("showHideBlock('" + id + "', 'hide')", millisec);
    } else if (opacStart < opacEnd) {
      // first, set the opacity to opacStart so that it is not displayed and then faded...
      changeOpac(opacStart, id);
      // show the block
      showHideBlock(id, 'show');
      for(i = opacStart; i <= opacEnd; i++) {
        setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
        timer++;    
      }    
      showHideBlock(id, 'show');
    }
  }

  var yPos = 0;
  
  function getScroll() {
    if (self.pageYOffset) {
      yPos = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop){
      yPos = document.documentElement.scrollTop; 
    } else if (document.body) {
      yPos = document.body.scrollTop;
    }
  }

  function setScroll(x, y) {
    window.scrollTo(x, y);
  }

  function fadePopupIn(id, millisec) {
    if (millisec == null) {
      millisec = 1000;
    }
    if (browser == 'Internet Explorer' && version == 6) {
      getScroll();
      window.scrollTo(0, 0);
      hideSelects('hidden');
    }

    if (prevBox != '' && prevBox != 'none') {
      // fade out the previous box
      opacity(prevBox, 100, 0, millisec);
    } else {
      // no previous box, display overlay
      if (document.getElementById('overlay')) {
        showHideBlock("overlay", "show");
      }
    }
    
    // fade in the requested box
    opacity(id, 0, 100, millisec);
  }
  
  function fadePopupOut(id, millisec, hideOverlay) {
    if (millisec == null || millisec == '') {
      millisec = 1000;
    }
    
    opacity(id, 100, 0, millisec);
    if (prevBox == 'none' || hideOverlay == true) {
      setTimeout('showHideBlock("overlay", "hide")', millisec);
    } else {
      // setTimeout('showHideBlock(prevBox, \'show\')', millisec);
      loadBox = prevBox;
      prevBox = 'none';
      fadePopupIn(loadBox, millisec);
    }
    
    if (browser == 'Internet Explorer' && version == 6) {
      setTimeout('setScroll(0, ' + yPos + ')', millisec);
      hideSelects('visible');
    }
  }

  function showHideBlock(blockid, state) {
    var object = document.getElementById(blockid);  
    if (state == 'show') {
      object.style.display = 'block';
    } else {
      object.style.display = 'none';
    }
  }

  // This Function is for showing and hiding terms and conditions box and privacy and policy box
  function showHideBox(require, obj_id) {
    if (obj_id == 'none') {
      showHideBox('hide', 'overlay');
      return;
    }
    
    var boxObj = document.getElementById(obj_id);
    if(require == 'show') {
      //boxObj.style.display = 'block';
      fadePopupIn(obj_id);

      // bring selects back?
      if(document.getElementById('ads')){
        document.getElementById('ads').style.visibility = 'hidden';
      }
      if(document.getElementById('country')){
        document.getElementById('country').style.visibility = 'hidden';
      }
      if(document.getElementById('location')){
        document.getElementById('location').style.visibility = 'hidden';
      }
    } else {
      fadePopupOut(obj_id);
      
      if(document.getElementById('ads')) {
        document.getElementById('ads').style.visibility = 'visible';
      }
      if(document.getElementById('country')) {
        document.getElementById('country').style.visibility = 'visible';
      }
      if(document.getElementById('location')) {
        document.getElementById('location').style.visibility = 'visible';
      }
    }  
    return true;
  }

  
  //change the opacity for different browsers
  function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
  } 

  function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible  
    if(document.getElementById(id).style.opacity == 0) {
      opacity(id, 0, 100, millisec);  
    } else {
      opacity(id, 100, 0, millisec);  
    }
  } 

  function currentOpac(id, opacEnd, millisec) {
    
    //standard opacity is 100
    var currentOpac = 100;

    //if the element has an opacity set, get it
    if(document.getElementById(id).style.opacity < 100) {
      currentOpac = document.getElementById(id).style.opacity * 100;
    }

    //call for the function that changes the opacity
    opacity(id, currentOpac, opacEnd, millisec)
  }

/**
 * Replace the standard JavaScript alert function with something a lot cooler
*/
  if (document.getElementById) {
    window.alert = function(formname, txt, heading) {
      if (document.getElementById('alertNow')) {
        document.getElementById('alertNow').innerHTML = txt;
        if (heading != '' && heading != null) {
          document.getElementById('alertBoxHeading').innerHTML = heading;
        }
      }
      // display the alertbox
      // showHideBox('show', 'alertBox');
      fadePopupIn('alertBox');
    }
  }

/**
 *  Replace the standard JavaScript Confirm alert function with something a lot cooler
 */
  //For Confirm
  if (document.getElementById) {
    window.confirm = function(formname, txt, value) {
      var myform2 = eval('document.' + formname);
      myform2.action.value = value;

      if (value == 'register') {
        showHideBox('show','confirmBox');
        document.getElementById('confirmNow').innerHTML = txt;
        document.getElementById('ConfirmYes').innerHTML = "<input class='submitBtn regoSumbit leftFloat' value='Yes' type='button' onclick=\"showHideBox('hide','confirmBox'); showHideBox('show','passBox');\" />";
        return false;
      } else if (value == 'skip') {
        document.getElementById('confirmNow').innerHTML = txt;
        document.getElementById('ConfirmYes').innerHTML = "<input class='submitBtn regoSumbit leftFloat' value='Yes' type='button' onclick='showHideBox(\"hide\", \"confirmBox\"); setActiveTab(\"tab2\"); countries.loadajaxpage(\"advertiser/draft_adverts.php\");' />";
        showHideBox('show', 'confirmBox');
      } else {
        document.getElementById('confirmNow').innerHTML = txt;
        document.getElementById('ConfirmYes').innerHTML = "<input class='submitBtn regoSumbit leftFloat' value='Yes' type='button' onclick='document." + formname + ".submit(true);' />";
        showHideBox('show', 'confirmBox');
      }
    }
  }

  // Update the contents of the alert box in a given amount of time (milliseconds)
  function updateAlertBox(content, heading, when) {
    if (heading != '') {
      if (heading == 'none') {
        updateElement('alertBoxHeading', '');
      } else {
        updateElement('alertBoxHeading', heading);
      }
    }

    setTimeout('document.getElementById("alertNow").innerHTML = \'' + content + '\'', when);
  }

  function updateElement(el, content) {
    if (document.getElementById(el).innerHTML = content) {
      return true;
    } else {
      return false;
    }
  }
  
  // Update the text for a given element ID
  function detailtext(el) {
    document.getElementById('detail_desc').innerHTML = document.getElementById(el).innerHTML;
  }

  var c=0;
  var objIn;
  var speed=5;
  var a = "fadesubmenu";
  var b = "fadesubmenu2";
  var element_ID;
  var curr_in_opacity = 0;
  var MAX_OPACITY = 80;
  var type;
  var obj;
  var element;
  var spanElem;
  var opacity;
  var fadeSpeed = 5;
  var fadeBubbleObj;
  var op1 = 0;

  function fadeBubble1(dir,num) {
    op1 = fadeBubbleFunc(dir,num,op1);
    if (op1 >= 80) {  
      op1 = 80;
      clearTimeout(time);
      return true;
    } if (op1 <= 0) {
      op1 = 0;
      clearTimeout(time);
      document.getElementById(num).style.display='none';
      return true;
    }  
    var time = eval('setTimeout(\'fadeBubble1("'+dir+'", "'+num+'")\',speed)');
  }

  var op2=0;

  function fadeBubble2(dir, num) {
    op2 = fadeBubbleFunc(dir,num,op2);
    if (op2 >= 80) {  
      op2 = 80;
      clearTimeout(time);
      return true;
    } if (op2 <= 0) {
      op2 = 0;
      clearTimeout(time);
      document.getElementById(num).style.display='none';
      return true;
    }  
    var time = eval('setTimeout(\'fadeBubble2("'+dir+'","'+num+'")\',speed)');
  }

  function fadeBubbleFunc(fadeType1, elem_id1, op_val) {
    var fadeBubbleObj=document.getElementById(elem_id1);
    document.getElementById(elem_id1).style.display='block';
    op_val = opacityChange(fadeType1,op_val);
    if(fadeBubbleObj.style.filter) {
      fadeBubbleObj.style.filter='alpha(opacity='+op_val+')';
    } else {
      fadeBubbleObj.style.opacity=op_val/MAX_OPACITY;
    }
    return op_val;
  }

  var fadeType;
  var elem_id;
  var op = 0;
  
  function fadeBubble(dir, num) {
    fadeType = dir;
    elem_id = num;
    fadeBubbleObj = document.getElementById(elem_id);
    document.getElementById(elem_id).style.display = 'block';
    op = opacityChange(fadeType, op);
    if (op > MAX_OPACITY) {
      op = MAX_OPACITY;
      clearTimeout(t2)
      return true;
    }

    if (fadeBubbleObj.style.filter) {
      fadeBubbleObj.style.filter = 'alpha(opacity=' + op + ')';
    } else {
      fadeBubbleObj.style.opacity = op / MAX_OPACITY - 0.2;
    }

    if (op <= 0) {
      op = 0;
      clearTimeout(t2)
      document.getElementById(elem_id).style.display = 'none';
      return true;
    }
    
    var t2 = setTimeout('fadeBubble(fadeType, elem_id)', speed)
  }

  function fadeBubbleJ(fadeType, elem_id) {
    if (fadeType == "in") {
      opacity(elem_id, 0, 100, 500);
    } else {
      // not fading out due to problems...
      // opacity(elem_id, 100, 0, 1500);
      document.getElementById(elem_id).style.display = 'none';
    }
  }

  function fadeBubbleOut(dir, num, val_new, cnt) {
    fadeType = dir;
    elem_id = num;
    var new_val = val_new;
    var cnt = cnt;
    if(new_val=='out') {
      document.getElementById(elem_id).style.display='none';  
    }

    /* Sailen's Comment: Please donot open this unless you are sure of it.
          fadeBubbleObj=document.getElementById(elem_id);
          //document.getElementById(elem_id).style.display='block';
          op = opacityChange(fadeType,op);
          if(op > MAX_OPACITY) {
            op = MAX_OPACITY;
            clearTimeout(t2)
            return true;
          }
          if(fadeBubbleObj.filters) {fadeBubbleObj.style.filter='alpha(opacity='+op+')';}
          else {fadeBubbleObj.style.opacity=op/MAX_OPACITY;}
          //  document.getElementById('txtHint').innerHTML='opacity: '+op+' - '+elem_id;
          if(op <= 0){
            op = 0;
            clearTimeout(t2)
            document.getElementById(elem_id).style.display='none';
            return true;
          }
  
          var t2 = setTimeout('fadeBubble(fadeType,elem_id)',speed)
          //var t2 = eval('setTimeout(\'fadeBubble("'+fadeType+'","'+elem_id+'")\',speed)');
        */
  }

  function opacityChange(type,op) {
    if(type=='in') return op+fadeSpeed;  else return op-fadeSpeed;
  }

  function roll(img_name, img_src) {
    document[img_name].src = img_src;
  }

//v3.0
  function MM_preloadImages() { 
    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];}}
  }

  /*
     * <span class="exampleA">Example A</span>
     * <span class="exampleB">Example B</span>
     * <span class="exampleA">Example A</span>
     * <input type="button" value="Change A Red" onclick="changecss('.exampleA','color','red')"/><input type="button" value="Change A
     * Black" onclick="changecss('.exampleA','color','black')"/>
     */

    var prev_ID = 1;

  function focusJob(job_id) {
    var grey = "#E8E8E8";
    var white = "#FFFFFF";
  
    if(job_id == prev_ID) {
      return;
    }

    document.getElementById("job" + job_id).style.backgroundColor = grey;
    document.getElementById("job"+ prev_ID).style.backgroundColor = white;
    // if the previous job is 1 then the top rounded corners needed to change to white
    if(prev_ID == 1) {
      changeClassCSS("xleftb2","backgroundColor",white);
      changeClassCSS("xleftb3","backgroundColor",white);
      changeClassCSS("xleftb4","backgroundColor",white);
      // if the current selected job is 1 then the top rounded corners needed to change to grey
    } else if(job_id == 1) {
      changeClassCSS("xleftb2","backgroundColor",grey);
      changeClassCSS("xleftb3","backgroundColor",grey);
      changeClassCSS("xleftb4","backgroundColor",grey);
    } if (prev_ID == 8) {
      changeClassCSS("xleftb2b","backgroundColor",white);
      changeClassCSS("xleftb3b","backgroundColor",white);
      changeClassCSS("xleftb4b","backgroundColor",white);
    } else if (job_id == 8) {
      changeClassCSS("xleftb2b","backgroundColor",grey);
      changeClassCSS("xleftb3b","backgroundColor",grey);
      changeClassCSS("xleftb4b","backgroundColor",grey);
    }
    prev_ID = job_id;
  }

  function changeClassCSS(class_name, style_element, value) {
    var tags = document.getElementById("boxcontent").getElementsByTagName("b");
    for(var n = 0; n < tags.length; n++) {
      if(tags[n].className == class_name) {
        tags[n].style[style_element] = value;
        return true;
      }
    }
    return false;
  }

  function properCase(a) {
    var b="";
    var notyet=true;
    for (i=0;i<=a.length;i++) {
      m = a.substr(i,1)
      b += (notyet)?m.toUpperCase():m.toLowerCase();
      notyet = (m.toUpperCase() == m.toLowerCase())
    }
    return b
  }
  
  var j=0;
  var t;

  function shortListEffect() {
    var obj = document.getElementById("shortList");
    var sl_num = document.getElementById("shortListNum");
    var num = sl_num.firstChild.data;  
    if(obj.style.textTransform == "capitalize") {
      obj.style.textTransform = "uppercase";
      obj.style.color = "#ca1911";
    } else {
      obj.style.textTransform = "capitalize";
      obj.style.color = "black";
    }
  
    if(num > 0) {
      document.getElementById("shortlistLink").style.color='#CA1911';
    }
    
    if(j == 0) {
      t = setTimeout('shortListEffect()',1500);
      j++;
    } else {
      clearTimeout(t);
      j = 0;
    }  
    return true;
  }

  function checkListCheck() {
    var sl_num = document.getElementById("shortListNum");
    var num = sl_num.firstChild.data;  
    if(document.getElementById("shortListCheck").checked) {  
      document.getElementById("shortListText").style.color="#CA1911";
      sl_num.firstChild.data = parseInt(num)+1;
    } else {
      document.getElementById("shortListText").style.color="#000000";
      sl_num.firstChild.data = parseInt(num)-1;
    }
  }
  
  var shortListNum;
  function getShortListNum(count) {
    shortListNum = count;  
    return true;
  }
  
  function checkAllShortList(formname,total) {
    var checkAll = eval('document.'+formname+'.checkAll');  
    if(checkAll.checked) {
      for(var i = 1; i <= total; i++) {  
        var box = eval("document."+formname+".job" + i);
        
        if (box.getAttribute('rel') == 'na') {
        } else {
          document.getElementById('row' + i).style.backgroundColor = "#ededed";
          if(i == total && total == 7) {
            roll('borderBtm','images/img-shortlist_btm_hh.jpg');  
          }
          if (box.checked == false) {
            box.checked = true;  
          }
          addtoList(formname,i,total,checkAll)
        }
      }
    } else {
      for (var i = 1; i <= total; i++) {
        var box = eval("document."+formname+".job" + i);
        // are jobs included? (could be jobg8)
        if (box.getAttribute('rel') == 'na') {
        } else {
          document.getElementById('row'+i).style.backgroundColor = "#FFFFFF";
          if(i==total && total==7) {
            roll('borderBtm','images/img-shortlist_btm.jpg');  
          }
          if (box.checked == true) box.checked = false;      
        }
      }
      var formObj = eval('document.'+formname);
      //alert('BEFORE RESET');
      formObj.shortlistCheckList.options.length = null;
      //alert('AFTER RESET');
      checkList = new Array();
    }
    return true;
  }

  function hh_elem(formName, id) {
    var allBox = eval('document.' + formName + '.checkAll');

    // Has it been ticked?
    if(eval('document.' + formName + '.job' + id + '.checked') == true) {
      // Colour the background
      document.getElementById('row' + id).style.backgroundColor = "#ededed";
      // And set the bottom image
      if(id == 7) {
        roll('borderBtm', 'images/img-shortlist_btm_hh.jpg');  
      }

      var allHH = 0;
      // Upon checking this box, are all boxes now checked? If so, tick the allBox
      for(var i = 1; i <= 7; i++) {
        if(eval('document.' + formName + '.job' + i) != null){
          if(eval('document.' + formName + '.job' + i + '.checked') == true) {
            allHH = 1;
          } else {
            // box not ticked - exit loop
            allHH = 0;
            break;
          }
        }
      }
      
      if (allHH == 1) {
        allBox.checked = true;
      }
    } else {
      document.getElementById('row' + id).style.backgroundColor = "#FFFFFF";
      if(id == 8) {
        roll('borderBtm','images/img-shortlist_btm.jpg');  
      }
    
      // if anyone of the individual items is unchecked, then uncheck the all Box 
      allBox.checked = false;
    }
  }

  function hh_row(id) {
    if(eval('document.applicationTableForm.job'+id+'.checked')) {
      document.getElementById('row'+id).className = "evenRow";
    } else {
      document.getElementById('row'+id).className = "oddRow";
    }
  }
  
// This function is for the action submenu - When hover an action
// the action will turn red.
  function rollOverSubMenu(direction, parent_id, child_id) {
    var parent_obj = document.getElementById(parent_id);
    //var child_obj = document.getElementById(child_id);
    if(direction == 'in') {
      parent_obj.style.color="#CD001F";
      child_id.style.color="#CD001F";
    } else {
      parent_obj.style.color="#000000";
      child_id.style.color="#000000";
    }
  }
  
  function rollOverSubMenu2(direction, child_id) {
    //var child_obj = document.getElementById(child_id);
    if(direction == 'in') {
      child_id.style.color="#CD001F";
    } else {
      child_id.style.color="#000000";
    }
  }
  
  //this is new function to hide terms and condition box... no other option left for IE7 .. it really sucks
  function tc_close(require, obj_id) {
    var boxObj = document.getElementById(obj_id);
    //document.getElementById('termsBox').style.visibility = 'hidden';  
    document.getElementById('termsBox').style.display = 'none';
    //document.getElementById('privacyBox').style.visibility = 'hidden';
    document.getElementById('privacyBox').style.display = 'none';
    //document.getElementById('passBox').style.display = 'none';
    if (document.getElementById('ads')){
    document.getElementById('ads').style.visibility = 'visible';
    }
    if (document.getElementById('country')){
      document.getElementById('country').style.visibility = 'visible';
    }
    if (document.getElementById('location')){
      document.getElementById('location').style.visibility = 'visible';
    }
  }
  
  //show password box for registration
  function show_pass_box() {
    document.getElementById('passBox').style.display = 'block';
    //document.getElementById('passBox').style.visibility = 'visible';
  }

//To transfer value from one field to another
function transfer(ref) {
  var target = document.adspost.getElementById('targetID');
  var val = ref.options[ref.selectedIndex].value;
  (val) ? target.value= val : null;
}

//Now we will write different funtion for menu drop down // Each drop down menu have different functions from 1 - 7

  function kickme(varid) {
    //document.getElementById(varid).style.visibility='hidden';
    opacity(varid, 0, 100, 1000);
    document.getElementById(varid).style.visibility = 'hidden';
  }

  function displayPaths1(formName) {
    var formObj = eval('document.' + formName);
    formObj.browsePath1.value = formObj.browser1.value;
    formObj.resume1.value = formObj.browser1.value;
    return true;  
  }

  function displayPaths2(formName) {
    var formObj = eval('document.' + formName);
    formObj.browsePath2.value = formObj.browser2.value;
    formObj.resume2.value = formObj.browser2.value;
    return true;  
  }
  
  function displayPaths3(formName) {
    var formObj = eval('document.' + formName);
    formObj.filePath.value = formObj.browseFile.value;
    return true;  
  }

  function addtoList(formid,idNum,maxNum,check) {
    var formObj = eval('document.'+formid);  
    if(check.checked) {
      checkList[idNum-1] = document.getElementById('headingJob'+idNum).innerHTML;
    } else {
      checkList[idNum-1] = null;
      formObj.shortlistCheckList.options.length =0;
    }  
    var j = 0;
    for(var i = 0; i < maxNum ; i++) {
      if(checkList[i] != null) {
        formObj.shortlistCheckList.options[j++] = new Option(checkList[i],'row'+i);
      }  
    }  
  }

  function showResumeSubmission(state) {
    var RSBoxObj = document.getElementById('resumeSubmitBox');
    var AdBoxObj = document.getElementById('rightAdBox');
    if(state == 'show') {
      RSBoxObj.style.display='block';
      AdBoxObj.style.display='none';
    } else {
      RSBoxObj.style.display='none';
      AdBoxObj.style.display='block';
    }
  }

  function delShortlist(formid) {
    confirm(formid, 'Are you sure you want to delete selected records from shortlist.', "delete");
    return false;
    //document.eval(formid).action.value = 'delete';
    //document.eval(formid).submit();  
  }

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
    function getCheckedValue(radioObj) {
      if(!radioObj) {
        return "";
      }

      var radioLength = radioObj.length;

      if(radioLength == undefined) {
        if(radioObj.checked) {
          return radioObj.value;
        }
      } else {
        return "";
      }
      
    
      for (var i = 0; i < radioLength; i++) {
        if(radioObj[i].checked) {
          return radioObj[i].value;
        }
      }
      
      return "";
    }

  function clearForm(formIdent) {
    var form, elements, i, elm; 
    form = document.getElementById  ? document.getElementById(formIdent) : document.forms[formIdent]; 

    if (document.getElementsByTagName) {
      elements = form.getElementsByTagName('input');
      for( i=0, elm; elm=elements.item(i++); ) {
        if (elm.getAttribute('type') == "text" || elm.getAttribute('type') == "password") {
          elm.value = '';
        }
      }
    }

    // Actually looking through more elements here
    // but the result is the same.
    else {
      elements = form.elements;
      for( i=0, elm; elm=elements[i++]; ) {
        if (elm.type == "text") {
          elm.value ='';
        }
      }
    }
  }

  var http_request = false;
  
  function makePOSTRequest(url, parameters, callback) {
     http_request = false;

     if (window.XMLHttpRequest) { // Mozilla, Safari,...
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) {
       	// set type accordingly to anticipated content type
          //http_request.overrideMimeType('text/xml');
          http_request.overrideMimeType('text/html');
       }
     } else if (window.ActiveXObject) { // IE
       try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
         try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
       }
     }

     if (!http_request) {
          alert('Cannot create XMLHTTP instance');
          return false;
     }

     http_request.onreadystatechange = callback;
     http_request.open('POST', url, true);
     http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     http_request.setRequestHeader("Content-length", parameters.length);
     http_request.setRequestHeader("Connection", "close");
     http_request.send(parameters);
   }
   
/**
 * Set visibility on all selects in the document
 *
 * @param string visibility visible or hidden
 */
   function hideSelects(visibility) {
    selects = document.getElementsByTagName('select');

    for(i = 0; i < selects.length; i++) {
      selects[i].style.visibility = visibility;
      
    }
  }


//function to trim whitespaces leading and trailing
  function trimAll(sString) {
    while (sString.substring(0,1) == ' ') {
      sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length-1, sString.length) == ' ') {
      sString = sString.substring(0,sString.length-1);
    }
    return sString;
  }

  var xmlHttp

  function showHint(job_id) {
    if (job_id.length == 0) { 
      // clear detail field
      document.getElementById("detail_desc").innerHTML = "";
      return;
    }
  
    xmlHttp = GetXmlHttpObject()
    
    if (xmlHttp == null) {
      alert ("Your browser does not support AJAX!");
      return;
    } 

    var url = "includes/ajax/jskResultShortlist.php";
    url = url + "?job_id=" + job_id;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
  } 

  function stateChanged() { 
    if (xmlHttp.readyState == 4) {
      var nums = xmlHttp.responseText.split(':sk:');
      var job_id = nums[0];
      
      // job title
      $('texthint').innerHTML = nums[1];
      $('refer_jobid').innerHTML = "<input type='hidden' name='referjobid' value='" + job_id + "' />";
      
      var job_detail = "<p align='center'>" + nums[3] + "</p>" + nums[2] + "<p></p>";

      // add contact info if required
      if (nums[6] == "Request") {
      // contacts displayed on request
        job_detail += "<div id='contactDisplay' align='left'><a href='#' onclick='countDisplay(" + job_id + ");' class='redtext'>VIEW CONTACTS</a></div>";
      } else if (nums[6] == "Display") {
      // contacts always displayed
        job_detail += "<div align='left' class='redtext'>Contact: " + nums[5] + "<br />Phone: " + nums[4] + "</div>";
      } 
      
      job_detail += "<input type='hidden' name='job_id' value='" + job_id + "' />";
      $('detail_desc').innerHTML = job_detail;
    }
  }

//This function is for banner ads impression
  function impression(adsid) {  
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null) {
      alert ("Your browser does not support AJAX!");
      return;
    } 

    //alert ("OK");
    var url = "includes/ajax/banner_count.php";
    url = url + "?adsid=" + adsid;
    url = url + "&sid=" + Math.random();
    //xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);  
  }

  //to redirect to job manager
  function redirectFun(val) {
    document.getElementById('redirectVal').innerHTML = "<input type='hidden' name='redirect' value='redirect'>";  
  }

  function cancelFun() {
    document.getElementById('redirectVal').innerHTML = "";
  }

  //Checking password then register user
  function getRegister(passwd, cpasswd, state) {
  
    var error = false;
    var message;
  
    if (passwd != cpasswd) {
      message = "Error: The passwords you entered do not match. Please try again";
      error = true;
    }
  
    if (passwd.length < 6) {
      message = "Error: For security purposes, your password must be at least 6 characters in length";
      error = true;
    }
    
    if (passwd == "") {
      message = "Error: Invalid password";
      error = true;
    }
    
    if (state == "") {
      message = "Error: Please choose your location";
      error = true;
    }
    
    if (error != false) {
      prevAlertBox = 'passBox';
      showHideBox('hide', 'passBox');
      alert('passform', message);
      return false;
    } else {
      passwd = new String(passwd);
      passwd = passwd.replace(/&/g, "*am*");
    
      if(document.passform.news.checked) {
        var news = 'Y';
      } else {
        var news = 'N';
      }
    
      if(document.passform.cv.checked) {
        var cv = 'Y';
      } else {
        var cv = 'N';
      }
      
      xmlHttp = GetXmlHttpObject()
      if (xmlHttp == null) {
        alert ("Your browser does not support AJAX!");
        return;
      }
      
      var url = "includes/ajax/jskRegistrationApply.php";
      url = url + "?passwd=" + passwd;
      url = url + "&state=" + state;
      url = url + "&news=" + news;
      url = url + "&cv=" + cv;
      url = url + "&sid=" + Math.random();
      xmlHttp.onreadystatechange = setRegister;
      xmlHttp.open("GET", url, true);
      xmlHttp.send(null);
    }  
  }
  
  function setRegister() {
    if (xmlHttp.readyState == 4) {
      document.jobapply2.action.value = 'register';
      document.jobapply2.submit(true);
    }  
  }

  //Checking password then register user
  function getRegisterJobG8(passwd, cpasswd, state) {
  
    var error = false;
    var message;
  
    if (passwd != cpasswd) {
      message = "Error: The passwords you entered do not match. Please try again";
      error = true;
    }
  
    if (passwd.length < 6) {
      message = "Error: For security purposes, your password must be at least 6 characters in length";
      error = true;
    }
    
    if (passwd == "") {
      message = "Error: Invalid password";
      error = true;
    }
    
    if (state == "") {
      message = "Error: Please choose your location";
      error = true;
    }
    
    if (error != false) {
      prevAlertBox = 'passBox';
      showHideBox('hide', 'passBox');
      alert('passform', message);
      return false;
    } else {
      passwd = new String(passwd);
      passwd = passwd.replace(/&/g, "*am*");
    
      if(document.passform.news.checked) {
        var news = 'Y';
      } else {
        var news = 'N';
      }
    
      if(document.passform.cv.checked) {
        var cv = 'Y';
      } else {
        var cv = 'N';
      }
      
      xmlHttp = GetXmlHttpObject()
      if (xmlHttp == null) {
        alert ("Your browser does not support AJAX!");
        return;
      }
      
      var url = "includes/ajax/jskRegistrationApply.php";
      url = url + "?passwd=" + passwd;
      url = url + "&state=" + state;
      url = url + "&news=" + news;
      url = url + "&cv=" + cv;
      url = url + "&sid=" + Math.random();
      xmlHttp.onreadystatechange = setRegisterJobG8;
      xmlHttp.open("GET", url, true);
      xmlHttp.send(null);
    }  
  }
  
  function setRegisterJobG8() {
    if (xmlHttp.readyState == 4) {
      document.jobapply2.action.value = 'register';
      document.jobapply2.submit(true);
    }  
  }  
  
  //show preview for other pages 
  function displayAds(job_id) {
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null) {
      alert ("Your browser does not support AJAX!");
      return;
    } 
  
    var url = "includes/ajax/getJobPreview.php";
    url = url + "?job_id=" + job_id;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = returnDisplayAds;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
  }

  function returnDisplayAds() {
    if (xmlHttp.readyState == 4) {
      //alert("ok");
      var nums = xmlHttp.responseText.split(':sk:');
      document.getElementById('pre_desc_img').innerHTML = "<p align='center'>" + nums[0] + "</p>";
      document.getElementById('pre_title_id').innerHTML = nums[1];
      document.getElementById('pre_desc_id').innerHTML = nums[2];  
    }
  }

  //Checking valid login on enter key pressed
  function entPress(e, formid, userid, passwd) {
    if(window.event) {
      key = window.event.keyCode; // IE
    } else {
      key = e.which;              // FF
    }
  
    if (key == 13) {
      if (userid != '' && passwd != '') {
        checkLogin(userid, passwd);
      }
    } else {
      return false;
    }
  }
  
  //Checking valid login
  function checkLogin(userid, passwd) {

    xmlHttp = GetXmlHttpObject()

    if (xmlHttp == null) {
      alert ("Your browser does not support AJAX!");
      return;
    } 

    var url = "includes/ajax/check_login.php";
    url = url + "?userid=" + userid;
    url = url + "&passwd=" + passwd;
    url = url + "&sid="+  Math.random();
    xmlHttp.onreadystatechange = stateCheckLogin;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
  }

  function stateCheckLogin() {
    if (xmlHttp.readyState == 4) {
      var nums = xmlHttp.responseText;
      if(nums == "Error") {
        showHideBox('hide', 'loginBox');
        prevAlertBox = 'loginBox';
        alert('', "Invalid Login. Please check your email or password.");
        // no longer in use: document.getElementById('validateNow').innerHTML = "Invalid Login. Please check your email or password.";
        return false;
      } else {
        // login validated - submit the form. this is silly, because we have already authorised the user. submitting the form basically sends it through to ulogin.php, which then does the same validation, and just forwards it on to index.php. 
        // check to see whether there is any point
        document.validatelogin.submit();
      }
    }
  }

  //View Contact
  function sendCode(email, job_id) {

    if(!checkMail(email)) {
      alert('Incorrect Email. Please re-enter your Email');
      return false;
    }

    xmlHttp = GetXmlHttpObject()
    if(xmlHttp == null) {
      alert ("Your browser does not support AJAX!");
      return;
    }

    //alert("OK");
    var url = "includes/ajax/send_code.php";
    url = url + "?email=" + email;
    url = url + "&job_id=" + job_id;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange=stateSentCode;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
  }

  function stateSentCode() {
    if (xmlHttp.readyState == 4) {
      document.getElementById('sentCode').innerHTML = "<p class='sendCode'>Email Sent...</p>";
    }
  }

  function checkMail(email) {
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
      return false;
    }
    return true;
  }

  function GetXmlHttpObject() {
    var xmlHttp = null;
  
    try {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    } catch (e) {
    // Internet Explorer
      try {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    return xmlHttp;
  }
  
  function saveShortlistTicks() {
    var shortlistCheckListObj = document.getElementById('shortlistCheckList');
      
    if(shortlistCheckListObj.options.length < 1) {
      // do nothing, no need to save..
      return false;
    } else {
        // var getstr = getQueryStringForm(document.getElementById('jobapply2'));
        var getstr = '';

        for (var i = 1; i < document.jobapply2.totalcount.value; i++) {
          var box = eval("document.jobapply2.job" + i);
          if (box.checked == true) {
            getstr += '&job' + i + '=' + box.value;
          }
        }
        new Ajax.Request("includes/ajax/jskSaveShortlist.php?count=" + shortlistCheckListObj.options.length + getstr, {
                         method: 'get',
                         onSuccess: returnSaveShortlist});
    }
  }
  
  function returnSaveShortlist() {
    return true;
  }
  
  function advChangePackage(id, packageBoxObj) {
  
    for (var i = 0; i < 20; i++) {
      if (document.getElementById('packageBox' + i)) {
        document.getElementById('packageBox' + i).style.backgroundColor = '#ffffff';
        document.getElementById('packageBox' + i).style.border = '1px solid #ffffff';
      }
    }

    document.getElementById(packageBoxObj).style.backgroundColor = '#dddddd';
    document.getElementById(packageBoxObj).style.border = '1px solid #000000';
    document.getElementById('package_id').value = id;      

  }