/**
 * JobSpeed Website
 * 
 * Advanced Search JavaScript
 *
 * @copyright 2007 JobSpeed
 * @author $Author: nick $
 * @link http://www.jobspeed.com.au
 * @package JobSpeed
 * @subpackage ClientWebsite
 * @filesource
 * @todo Complete Phase 1 pass
 */

  // capture mouse movements
  if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = captureMousePosition;
  } else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
  } else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
  }

  var CtrlKeyPressed = false;

  xMousePos = 0; // Horizontal position of the mouse on the screen
  yMousePos = 0; // Vertical position of the mouse on the screen
  xMousePosMax = 0; // Width of the page
  yMousePosMax = 0; // Height of the page

  function captureMousePosition(e) {
    if (document.layers) {
      xMousePos = e.pageX;
      yMousePos = e.pageY;
      xMousePosMax = window.innerWidth+window.pageXOffset;
      yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
      xMousePos = window.event.x+document.body.scrollLeft;
      yMousePos = window.event.y+document.body.scrollTop;
      xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
      yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
      xMousePos = e.pageX;
      yMousePos = e.pageY;
      xMousePosMax = window.innerWidth+window.pageXOffset;
      yMousePosMax = window.innerHeight+window.pageYOffset;
    }
    //window.status = "xMousePos=" + xMousePos + ", yMousePos=" + yMousePos + ", xMousePosMax=" + xMousePosMax + ", yMousePosMax=" + yMousePosMax;
  }

  // Key  event
  function mouseDown(e) {
    var ctrlPressed = 0;
    var altPressed = 0;
    var shiftPressed = 0;

    if (parseInt(navigator.appVersion)>3) {

      var evt = navigator.appName=="Netscape" ? e:event;

      if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) {
        // NETSCAPE 4 CODE
        var mString =(e.modifiers + 32).toString(2).substring(3,6);
        shiftPressed=(mString.charAt(0) == "1");
        ctrlPressed =(mString.charAt(1) == "1");
        altPressed  =(mString.charAt(2) == "1");
        //self.status="modifiers="+e.modifiers+" ("+mString+")"
      } else {
        // NEWER BROWSERS [CROSS-PLATFORM]
        shiftPressed = evt.shiftKey;
        altPressed = evt.altKey;
        ctrlPressed = evt.ctrlKey;

      }
      // if (shiftPressed || altPressed || ctrlPressed) 
      if (ctrlPressed) {
        CtrlKeyPressed = true;
        //alert ("","Mouse clicked with Ctrl");
      } else {
        CtrlKeyPressed=false;
      }
    }
    return true;
  }
  
  if (parseInt(navigator.appVersion) > 3) {
    document.onmousedown = mouseDown;
    
    if (navigator.appName=="Netscape") {
      document.captureEvents(Event.MOUSEDOWN);
    }
  }

  //list down
  var list1 = new Array();
  var list2 = new Array();
  var list3 = new Array();

  //global
  function click_OptList1(val,div,allOptIds){
    if (CtrlKeyPressed) {
      changeList1(val,div); 
      changeColor('optmain1' + val); 
    } else {
      changeList1NoCtrl(val,div); 
      changeColor1NoCtrl('optmain1' + val, allOptIds); 
    }
    getsec1(div, 'includes/ajax/adv_search_1.php');
  }

  function click_OptList2(val,div,allOptIds){
    if (CtrlKeyPressed) {
      changeList2(val,div); 
      changeColor('optmain2'+val); 
    } else {
      changeList2NoCtrl(val,div); 
      changeColor2NoCtrl('optmain2'+val,allOptIds); 
    }
    getsec2(div,'includes/ajax/adv_search_2.php');
  }

  // casee click with Ctrl Key Presses
  function changeList1(val,div){
    var objList1=document.getElementById(div);
    list1=objList1.value.split(',');    
    var nList1=list1.length;

    if (nList1>0){
      var is_inArr=-1;
      for (i=0; i<nList1; i++){
        if (list1[i]==val) is_inArr=i;
      }
      if (is_inArr==-1) list1[nList1]=val;
      if (is_inArr>=0) {
        list1[is_inArr]=0;
      }
    } else {
      list1[0]=val;
    }

    var list1k = new Array();
    var k=0;
    for (i=0; i<list1.length; i++){
      if (list1[i]>0) {list1k[k]=list1[i]; k++;}
    }
    objList1.value='';
    objList1.value=list1k;
  }

  // casee click withowt CtrlKey Presses
  function changeList1NoCtrl(val,div){
    var objList1=document.getElementById(div);
    objList1.value=val;
  }

  // casee click with Ctrl Key Presses
  function changeList2(val,div){
    var objList2=document.getElementById(div);
    list2=objList2.value.split(',');    
    var nList2=list2.length;

    if (nList2 > 0) {
      var is_inArr=-1;
      for (i=0; i<nList2; i++) {
        if (list2[i]==val) is_inArr=i;
      }
      if (is_inArr==-1) list2[nList2]=val;
      if (is_inArr>=0) {
        list2[is_inArr]=0;
      }
    } else {
      list2[0]=val;
    }

    var list2k = new Array();
    var k = 0;
    for (i = 0; i < list2.length; i++) {
      if (list2[i] > 0) {list2k[k] = list2[i]; k++;}
    }
    objList2.value='';
    objList2.value=list2k;
  }

  // casee click withowt CtrlKey Presses
  function changeList2NoCtrl(val,div){
    var objList2=document.getElementById(div);
    objList2.value=val;
  }

  function changeColor(divname){
    var objopt=document.getElementById(divname);
    if(objopt.style.color == 'white') {
      objopt.style.color = 'black'; 
      objopt.style.backgroundColor = 'white'; 
    } else{
      objopt.style.color = 'white';  
      objopt.style.backgroundColor = '#316AC5'; 
    }
  }

  function changeColor1NoCtrl(divname,allOptIds){
    var opt_arr = new Array();
    opt_arr = allOptIds.split(',');
    var opt_nr=opt_arr.length;
    for (i=0;i<opt_nr;i++) {
      document.getElementById(opt_arr[i]).style.color='black'; 
      document.getElementById(opt_arr[i]).style.backgroundColor='white'; 
    }
    var objopt=document.getElementById(divname);
    objopt.style.color='white';  
    objopt.style.backgroundColor='#316AC5'; 
  }
  
  function changeColor2NoCtrl(divname,allOptIds){
    var opt_arr = new Array();
    opt_arr = allOptIds.split(',');
    var opt_nr=opt_arr.length;
    for (i=0;i<opt_nr;i++){
      document.getElementById(opt_arr[i]).style.color='black'; 
      document.getElementById(opt_arr[i]).style.backgroundColor='white'; 
    }
    var objopt=document.getElementById(divname);
    objopt.style.color='white';  
    objopt.style.backgroundColor='#316AC5'; 
  }

  function getsec1(divname,url){
    //alert(divname);
    var objmainlist=document.getElementById(divname);
    var strmainopt=objmainlist.value;
    var pars = 'li='+strmainopt;
    var target = 'secNav1';
    var myAjax = new Ajax.Updater(target, url, {  method: 'get',  parameters: pars});
  }

  function getsec2(divname,url){
    var objmainlist=document.getElementById(divname);
    var strmainopt=objmainlist.value;
    var pars = 'li='+strmainopt;
    var target = 'secNav2';
    var myAjax = new Ajax.Updater(target, url, {  method: 'get',  parameters: pars});
  }