// Used for pages with strict doctypes (i.e. no target="_blank")
// Automagically adds them back in to links with rel="external"

function externalLinks() {
 var popupdetails = 'toolbar=no,menubar=no,height=400,width=600,location=no,scrollbars=yes,resizable=no,status=no,left=30,top=30';
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") { anchor.target = "_blank";  }
   if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "popup") {
    var subscribeURL = anchor.getAttribute('href');
    anchor.onkeypress = function(){window.open(this.href, 'SubscribeWindow',popupdetails); return false; }
    anchor.onclick = function(){window.open(this.href, 'SubscribeWindow',popupdetails); return false; }
    }
  }
}
page_onload(externalLinks);

/* JAVASCRIPT ONLINE CLOCK 
function checkTime(i) {
  if (i<10)  { i="0" + i; }
  return i;
}
function GetTime(t) {
  if (document.getElementById) {
    clock = document.getElementById(t);
    if(clock) {
    window.setTimeout( "GetTime('"+t+"')", 1000 );
    d = new Date();
    var weekdays=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
    var months=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
    day = weekdays[d.getDay()];
    date = d.getDate();
    month = months[d.getMonth()];
    year = d.getFullYear();
    hours = checkTime(d.getHours());
    mins = checkTime(d.getMinutes());
    secs = checkTime(d.getSeconds());
    clock.innerHTML = day + " " + date + " " + month + " " + year + " | " + hours + ":" + mins + ":" + secs;
    }
  }
}*/
//page_onload(function() { GetTime("time") });


var ie = document.all; // IE Test
// Gets around the problem of having multiple onload handlers ----------------------------------
// http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
// http://www.quirksmode.org/js/events_advanced.html

function addEvent(obj, evType, fn) {

    // W3C type of event registration model
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    // MS event registration model
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    // Bad browsers that cant do either
    } else {
        return false;
    }
}


// DISPLAY OR HIDE CERTAIN ELEMENTS BY ID
function showItem(id,force) {
  if (document.getElementById) {
    obj = document.getElementById(id);
    if(obj) {
      if(force) { 
        if(obj.className.match("hidden")) { obj.className = obj.className.replace(/hidden/, ""); }
        if(obj.className.match("shown")) { obj.className = obj.className.replace(/shown/,"");  }
        obj.className = obj.className + " " + force;
      }
      else { 
        if(obj.className.match("hidden")) { obj.className = obj.className.replace(/hidden/, "shown"); }
        else if (obj.className.match("shown")) {  obj.className = obj.className.replace(/shown/,"hidden");  }
        else {obj.className = obj.className + " shown"; }
      }
    }
  }
}
function warmItem(id,force) {
  if (document.getElementById) {
    obj = document.getElementById(id);
    if(obj) {
      if(force) { 
        if(obj.className.match("cool")) { obj.className = obj.className.replace(/cool/, ""); }
        if(obj.className.match("warm")) { obj.className = obj.className.replace(/warm/,""); }
        obj.className = obj.className + " " + force;
      }
      else { 
        if(obj.className.match("cool")) { obj.className = obj.className.replace(/cool/, "warm"); }
        else if (obj.className.match("warm")) { obj.className = obj.className.replace(/warm/,"cool");  }
        else {obj.className = obj.className + " warm"; }
      }
    }
  }
}
function selItem(id,force) {
  if (document.getElementById) {
    obj = document.getElementById(id);
    if(obj) {
      if(force) { 
        if(obj.className.match("sel")) { obj.className = obj.className.replace(/sel/, ""); }
        obj.className = obj.className + " " + force;
      }
      else { 
        if(obj.className.match("sel")) { obj.className = obj.className.replace(/sel/, ""); }
        else {obj.className = obj.className + " sel"; }
      }
    }
  }
}
function showItems(parent,cl,show) {
//alert('parent ' + parent + '\ncl ' + cl + '\nshow ' + show);
  if(!document.getElementById) { return; }
  p = document.getElementById(parent);
  nodes = p.childNodes;
  for(i=0;i<nodes.length;i++){
    var node = nodes[i];
    if(node.className && node.className.match(cl)) { showItem(node.id,'hidden'); } 
  }
  showItem(show);
}
function warmItems(parent,cl,warm) {
  if(!document.getElementById) { return; }
  p = document.getElementById(parent);
  nodes = p.childNodes;
  for(i=0;i<nodes.length;i++){
    var node = nodes[i];
    if(node.className && node.className.match(cl)) { warmItem(node.id,'cool'); }
  }
  warmItem(warm);
}
function clearInput(id){
  $obj = document.getElementById(id);
  $obj.value = '';
}
jQuery.fn.extend({
    // add 'warm' to class and remove from all siblings
    make_warm: function() {
        this.addClass('warm').siblings('.warm').removeClass('warm');
        return this;
    },
    // remove 'warm' class
    make_cold: function() {
        this.removeClass('warm');
        return this;
    }
});

function placeItem(event,id,x,y){
  if(!document.getElementById) { return; }
  obj = document.getElementById(id);
  xlick = event.clientX;
  ylick = event.clientY;
//  alert("xlick: " + xlick + "\nylick: " + ylick + "\nx : " + x + "\ny: " + y);
  obj.style.left = xlick + x + "px";
  obj.style.top = ylick + y + "px";
}
// EMAIL OBLITARATOR //
var blit = {
  dc:function(i){var o="",c1,c2,c3,e1,e2,e3,e4,j=0,k="gNAkZGdEiV3jM7QXORxrfJKvzps";i=i.replace(/[^A-Za-z0-9+\/=]/g,"");k+="1ucwTyU092H4l658I+tDmPYBonbLqSaWehCF/=";while(j<i.length){e1=k.indexOf(i.charAt(j++));e2=k.indexOf(i.charAt(j++));e3=k.indexOf(i.charAt(j++));e4=k.indexOf(i.charAt(j++));c1=(e1<<2)|(e2>>4);c2=((e2&15)<<4)|(e3>>2);c3=((e3&3)<<6)|e4;o=o+String.fromCharCode(c1);if(e3!=64){o=o+String.fromCharCode(c2);}if(e4!=64){o=o+String.fromCharCode(c3);}}return o;
  }
};


/* PAGE TAB COOKIES 
function setTabCookies(page,ident) {
  document.cookie="tab_"+page+"=warm,tabs,tab,"+ident+"Tab";
  document.cookie="tabbedpage_"+page+"=show,tabbedPages,tabPage,"+ident;
}
function checkTabCookies(n) {
  if(get_cookie(n)) {
    s = get_cookie(n);
//    alert('cookie: ' + s);
    a = s.split(',');    
    if(a[0] == 'show') { showItems(a[1],a[2],a[3]); }
    if(a[0] == 'warm') { warmItems(a[1],a[2],a[3]); }
  }
}
*/
function get_cookie(n) {
  var search = n + "="
  var rv = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
// if cookie exists
    if (offset != -1) {
    offset += search.length
// set index of beginning of value
    end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
    if (end == -1) end = document.cookie.length;
      rv=unescape(document.cookie.substring(offset, end))
    }
  }
  return rv;
}


function tag(t, a, i) {
    if(t == 'img') { return '<' + t + attr(a) + '/>'; }
    else { return '<' + t + attr(a) + '>' + i + '</' + t + '>'; }
}
function attr(a) {
    var name, value;
    var chunks = [ ];
    for (name in a) {
        value = a[name];
        chunks.push(name + '="' + value + '"');
    }
    return chunks.length
        ? ' ' + chunks.join(' ')
        : '';
}

function select_panel(tab) {
    var elem = $(tab);
    elem.parent('li').make_warm();
    $(elem.attr('href')).make_warm();
    return false;
}

