////////////////////////////// Browser-OS Sniffer //////////////////////////////

var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav6up = (is_nav && (is_major >= 5));
var is_nav6_1up = false;
if (is_nav6up){
  var N6index = agt.indexOf('netscape6');
  var N6ver = parseFloat(agt.substr(N6index+10,3));
  is_nav6_1up = (N6ver >= 6.1);
}
var is_firefox = (agt.indexOf("firefox")!=-1);
var is_safari = (agt.indexOf("safari")!=-1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_aol = (is_ie && (agt.indexOf("aol")!=-1));
var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac = ( (agt.indexOf("mac")!=-1));
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_winxp = ((agt.indexOf("windows xp")!=-1) || (agt.indexOf("Windows NT 5.1")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 || ((is_major >= 4) && (navigator.platform == "Win32")) || (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));



////////////////////////////// Navigation //////////////////////////////

/********** Nav bar and drop-down menus **********/
/********** Son of Suckerfish with Steven Harrap modifications  **********/
/********** http://www.htmldog.com/articles/suckerfish/dropdowns/ **********/
sfHover = function() {
  var BUA = navigator.userAgent;
  var BIE = BUA.indexOf("MSIE");
    if (BUA.indexOf("7.0")) {
      BIE = -1;
    }
  var BIsIE = BIE>=0;
  if (document.getElementById("site_nav")) {
    var sfEls = document.getElementById("site_nav").getElementsByTagName("LI");
  }  else {
    return;
  }

  for (var i=0; i<sfEls.length; i++) {
    sfEls[i].onmouseover=function() {
    this.className+=" sfhover";
    }
    sfEls[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
    }

    //If we're using IE then this tells any first level item to have a width of 1px
    if (sfEls[i].parentNode == document.getElementById("site_nav") && BIsIE) {
    sfEls[i].style.width = '1px';
    }
  }
}

if (window.attachEvent) window.attachEvent("onload", sfHover);



////////////////////////////// Content Switcher //////////////////////////////

var triggerNames = new Array();

function change_class (containerProto, newClassName) {
  var container;
  // Container can be either an HTMLObject or a name
  if (typeof containerProto == "string") {
    container = document.getElementById(containerProto);
  } else {
    container = containerProto;
  }
  if (container) {
    container.className = newClassName;
  }
}

function getTriggerNames(containerProto, groupName) {
  if (groupName == null || groupName == '') {
    return;
  }

  var container;
  // containerProto can be either an HTMLObject or a name
  if (typeof containerProto == "string") {
    container = document.getElementById(containerProto);
  } else {
    container = containerProto;
  }
  if (container) {
    for (var i=0; i<=container.childNodes.length; i++) {
      var currentChild = container.childNodes[i];
      if (currentChild) {
        var elemId = currentChild.id;
        if (elemId != null && elemId.indexOf("_trigger") != -1) {
          var idParts = elemId.split("_"); // ids of form 'groupName_triggername_trigger'...
          if (idParts.length == 3)  {
            if (! triggerNames[groupName]) {
              triggerNames[groupName] = new Array();
            }
            triggerNames[groupName].push(idParts[1]);  // ...and we want 'triggername'
          }
        }
        getTriggerNames(currentChild, groupName);
      }
    }
  }
}

function reveal(groupName, visDivName) {
  if (groupName == null || groupName == '') {
    return;
  }
  var items = triggerNames[groupName];
  if (items == null || items.length == 0) {
    return;
  }

  // Hide all
  for (var i=0; i<items.length; i++) {
    var hide_box = groupName + "_" + items[i] + "_content";
    change_class(hide_box, "hide_box");
    var blurTrigger = groupName + "_" + items[i] + "_trigger";
    change_class(blurTrigger, "blur_trigger");
  }

  // Show selected
  var show_class = "show_box";
  switch (groupName) {
    case "ap":
      show_class = "stories show_box";
      break;
    case "blogs":
      show_class = "blog_box show_box";
      break;
    case "searchtool":
      show_class = "searchtool show_box";
      break;
    default:
      show_class = "show_box";
      break;
  }
  var show_box = groupName + "_" + visDivName + "_content";
  change_class(show_box, show_class);
  var activeTrigger = groupName + "_" + visDivName + "_trigger";
  change_class(activeTrigger, "indicator");
}

function pickRandom(myArray) {
    var myArrayLen = myArray.length;

    var random_num = Math.round(Math.random() * (myArrayLen - 1));

    if ((random_num < 0) || (random_num > (myArrayLen - 1))) {
        return null;
    } else {
        return myArray[random_num];
    }
}



////////////////////////////// Font Size Switcher //////////////////////////////

// Adapted from A List Apart's Stylesheet Switcher
// http://www.alistapart.com/articles/alternate/

function setActiveStyleSheet(linkId) {
  var i, linkObj;
  for (i=0; (linkObj = document.getElementsByTagName("link")[i]); i++) {
    if (linkObj.getAttribute("rel").indexOf("style") != -1 && linkObj.getAttribute("title")) {
      linkObj.disabled = true;
    }
  }
  linkObj = document.getElementById(linkId);
  if (linkObj != null) {
    linkObj.disabled = false;
  }
}

function getActiveStyleSheet() {
  var i, linkObj;
  for (i=0; (linkObj = document.getElementsByTagName("link")[i]); i++) {
    if(linkObj.getAttribute("rel").indexOf("style") != -1 && linkObj.getAttribute("title") && !linkObj.disabled) {
      return linkObj.id;
    }
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  } else {
    expires = "";
  }
  var s = name+"="+value+expires+"; path=/";
  document.cookie = s;
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for (var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
      c = c.substring(1,c.length);
    }
    if (c.indexOf(nameEQ) == 0) {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function onloadHandler () {
  return true;
}

function onunloadHandler () {
  var activeCSSId = getActiveStyleSheet();
  createCookie("activeCSSId", activeCSSId, 3650);
  return true;
}

var activeCSSId = readCookie("activeCSSId");
setActiveStyleSheet(activeCSSId);



////////////////////////////// New Window //////////////////////////////

function aasopen(w,h,t,p) {
  if (!w) w=600;
  if (!h) h=400;
  if (!t) t='_aas';
  if (!p) p=',resizable=1,scrollbars=1,menubar=1,status=1,toolbar=1,location=0';
  var newWin = window.open('',t,'width=' + w +',height='+ h + p);
  newWin.focus();
  return true;
}

////////////////////////////// Image Swap //////////////////////////////

function SC_findObj(n, d) {
  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=SC_findObj(n,d.layers[i].document); return x;
}
function SC_swapImage() {
  var i,j=0,x,a=SC_swapImage.arguments; document.SC_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=SC_findObj(a[i]))!=null){document.SC_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function SC_preloadImages() {
 var d=document; if(d.images){ if(!d.SC_p) d.SC_p=new Array();
   var i,j=d.SC_p.length,a=SC_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.SC_p[j]=new Image; d.SC_p[j++].src=a[i];}}
}

////////////////////////////// Misc //////////////////////////////
var ord = Math.floor(Math.random() * 10000000);

////////////////////////////// Nav Search Bar //////////////////////////////

function doNavSearch() {
  var form = document._unified_search;
  var value = form.QueryText.value;
  if (form.searchby[2].checked) {
    window.location = 'http://www.newslibrary.com/nlsearch.asp?s_hidethis=no&search_mode=basic&REGION=AASB&search_text=' + value;
    return false;
  }
  else {
    return true;
    //form.submit();
  }
}
