var agent = navigator.userAgent.toLowerCase();
var w3c = document.getElementById;
var ie = agent.indexOf("msie") != -1;
var gecko = agent.indexOf("gecko") != -1;
var opera = agent.indexOf("opera",0) != -1;
var version = navigator.appVersion;
var fileName = new String(location.pathname);
var domainName = new String(document.domain);
var popupPage = false;
var r = 0;
var SiteTool = {	
	swapmem		: new Array(),
	swapElement	: STLSwapElement,
	toggleElement	: STLToggleElement,
	toggleElements	: STLToggleElements
}

function addEvent(obj, type, listener) {
	if(window.addEventListener) window.addEventListener('load',listener,false);
	else {
		var prev  = obj[type];
		obj[type] = (prev) ? function() { prev(); listener(); } : listener;
	}
}

window.addOnload = function(listener){
	addEvent(window, 'onload', listener);
}

function openWin(url,wname,w,h,resizable,toolbar,scrollbars){
	if (h >= (screen.height-30)){
		h = screen.height-100;
		w += 18;
		scrollbars = 1;
	}

	if (w >= (screen.width-30)){
		w = screen.width-100;
		h += 20;
		scrollbars = 1;
	}

	win_set = 'width=' + w;
	win_set += ',height=' + h;
	win_set += ',resizable=' + resizable;
	win_set += ',toolbar=' + toolbar;
	win_set += ',scrollbars=' + scrollbars;
	win_set += ',fullscreen=no';

	//url =  url + ((url.match(/&/))? 'width=' : '?width=') + w + '&height=' + h;

	swin = window.open(url,wname,win_set);
	swin.focus();
}

function putTargetBlank(){
	var leftcolID = document.getElementById("middle");
	if(!!leftcolID){
		var mitems = leftcolID.getElementsByTagName("a");
		for(var i=0 ; i < mitems.length; i++){
			var url = new String(mitems[i].getAttribute("href")).toLowerCase();
			if(!!url.indexOf("javascript") && (!!url.indexOf("mailto")&&!!url.indexOf("@"))){
				var urlsplit = url.split("/");
				var domainSplit = urlsplit[2].split(":");
				if(url.indexOf(".pdf") != -1 || !gecko && domainName != domainSplit[0] || gecko && url.indexOf("http") != -1 && domainSplit[0] != domainName)  {
					mitems[i].setAttribute("target","_blank");
				}
			}
		}
	}
}

if(w3c){
	window.addOnload(putTargetBlank);
}

function notify(object_id,node_id){
	document.notifyform.ContentNodeID.value=node_id; 
	document.notifyform.ContentObjectID.value=object_id; 
	document.notifyform.ActionAddToNotification.value="Notify me"; 
	document.notifyform.submit();
}

function bookmark(object_id,node_id){
	document.bookmarkform.ContentNodeID.value=node_id; 
	document.bookmarkform.ContentObjectID.value=object_id; 
	document.bookmarkform.ActionAddToBookmarks.value="Bookmark"; 
	document.bookmarkform.submit();
}

function STLSwapElement(id,context,current) {
	if (!context) context="default";
	if (!this.swapmem[context] && current) this.swapmem[context] = current;
	if (this.swapmem[context] && document.getElementById(this.swapmem[context])) {
		document.getElementById(this.swapmem[context]).style.display="none";
	}
	if (this.swapmem[context]!=id) {
		if (id && document.getElementById(id)) {
			//alert('showing ' + id);
			document.getElementById(id).style.display="block";
			this.swapmem[context]=id;
		}
	} else {
		this.swapmem[context]=null;
	}
}

function STLToggleElement(id,visible) {
	if (id && document.getElementById(id)) {
		document.getElementById(id).style.display=(visible)?"block":"none";
	}
}


function STLToggleElements(tagname,classname,visible) {
		var classedelems = document.getElementsByTagName(tagname);
		for (var ec=0;ec<classedelems.length;ec++) {
			var classmatch = false;
			var classattr = classedelems[ec].getAttribute("class");
			if (!classname) {
				//alert("all match");
				classmatch=true;
			} else if (classattr) {
				if (classattr.indexOf(classname)==0) {
					if (classattr==classname) {
						//alert("full match");
						classmatch=true;
					} else if (classattr.indexOf(classname+" ")==0) {
						//alert("start  match");
						classmatch=true;
					}
				} else if (classattr.indexOf(" "+classname)>=0) {
					if (classattr.indexOf(" "+classname+" ")>=0) {
						//alert("mid match");
						classmatch=true;
					} else if(classattr.indexOf(" "+classname)==classattr.length-classname.length-1 ) {
						//alert("end match");
						classmatch=true;
					}
				}
			}
			if (classmatch) classedelems[ec].style.display=(visible)?"block":"none";
			
		}
		
	}

function openNewsletter() {
	document.getElementById("newsletterstatus").className = "normal";
	if (document.getElementById && document.all && r == 0) { // IE5
		r = 1;
		setTimeout("openNewsletter()", 10);
		return;
	}
	document.getElementById("newsletteremail").focus();
}

function closeNewsletter() {
	document.getElementById("newsletterstatus").className = "hide";
}
function newsletterError() {
	document.getElementById("newsletterstatus").className = "error";
}
function newsletterSuccess() {
	document.getElementById("newsletterstatus").className = "success";
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  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];}}
}

function MM_findObj(n, d) { //v4.0
  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=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/*** DHTML MENU'S ***/

var dmTimeOut='';
var oActiveMenu='';

function dOpen(menuId) { // (c)SpuyMore v1.0
  oActiveMenu=menuId;
  if((obj=MM_findObj(menuId).style).display!='block'){
  	obj.display='block';
  	obj.zIndex='1000';
  }
  dCloseNow();
}

function dClose() { // (c)SpuyMore v1.0
  dmTimeOut=setTimeout('dCloseNow()',500);
}

function dCloseNow() { // (c)SpuyMore v1.0
  clearTimeout(dmTimeOut);
  var i=0;
  while(o=MM_findObj(m="hmenu"+i)){ // close horizontal menu's, if not active
    if(oActiveMenu!=m){
    	o.style.display='none';
 	  	o.style.zIndex='300';
 	  }
    i++;
  };
  var i=0;
  while(o=MM_findObj(m="vmenu"+i)){ // close vertical menu's, if not active
    if(oActiveMenu!=m){
    	o.style.display='none';
 	  	o.style.zIndex='300';
 	  }
    i++;
  };
  oActiveMenu='';
}

function MakeArrayday(size)
{
  this.length = size;
  for(var i = 1; i <= size; i++)
    this[i] = "";
  return this;
}
function MakeArraymonth(size)
{
  this.length = size;
  for(var i = 1; i <= size; i++)
    this[i] = "";
  return this;
}

var hours;
var minutes;
var seconds;
var timer=null;


function twoDigit(_v)
{
  if(_v<10)_v="0"+_v;
  return _v;
}

function work()
{
  if (!document.layers && !document.all && !document.getElementById) return;
  var runTime = new Date();
  var dn = "AM";
  var shours = hours;
  var sminutes = minutes;
  var sseconds = seconds;
  
  if (!shours) shours = 12;
  sminutes=twoDigit(sminutes);
  sseconds=twoDigit(sseconds);
  shours  =twoDigit(shours  );
  movingtime = ""+ shours + ":" + sminutes;
  if (document.getElementById)
    document.getElementById("clock").innerHTML=movingtime;
  else if (document.layers)
  {
    document.layers.clock.document.open();
    document.layers.clock.document.write(movingtime);
    document.layers.clock.document.close();
  }
  else if (document.all)
    clock.innerHTML = movingtime;

  if(++seconds>59)
  {
    seconds=0;
    if(++minutes>59)
    {
      minutes=0;
      if(++hours>23)
      {
        hours=0;
      }
    }
  }
}

