// Cross Browser DOM
// copyright Stephen Chapman, 4th Jan 2005
var aDOM = 0, ieDOM = 0, nsDOM = 0; var stdDOM = document.getElementById;
if (stdDOM) aDOM = 1; else {ieDOM = document.all; if (ieDOM) aDOM = 1; else {
var nsDOM = ((navigator.appName.indexOf('Netscape') != -1)
&& (parseInt(navigator.appVersion) ==4)); if (nsDOM) aDOM = 1;}}
function xDOM(objectId, wS) {
if (stdDOM) return wS ? document.getElementById(objectId).style:
document.getElementById(objectId);
if (ieDOM) return wS ? document.all[objectId].style: document.all[objectId];
if (nsDOM) return document.layers[objectId];
}

// Object Functions
// copyright Stephen Chapman, 4th Jan 2005
function objWidth(objectID) {var obj = xDOM(objectID,0); if(obj.offsetWidth) return obj.offsetWidth; if (obj.clip) return obj.clip.width; return 0;}
function objHeight(objectID) {var obj = xDOM(objectID,0); if(obj.offsetHeight) return obj.offsetHeight; if (obj.clip) return obj.clip.height; return 0;}
function objLeft(objectID) {var obj = xDOM(objectID,0);var objs = xDOM(objectID,1);  if(objs.left) return objs.left; if (objs.pixelLeft) return objs.pixelLeft; if (obj.offsetLeft) return obj.offsetLeft; return 0;}
function objTop(objectID) {var obj = xDOM(objectID,0);var objs = xDOM(objectID,1);  if(objs.top) return objs.top; if (objs.pixelTop) return objs.pixelTop; if (obj.offsetTop) return obj.offsetTop; return 0;}
function objRight(objectID) {return objLeft(objectID)+objWidth(objectID);}
function objBottom(objectID) {return objTop(objectID)+objHeight(objectID);}
function objLayer(objectID) {var objs = xDOM(objectID,1); if(objs.zIndex) return objs.zIndex; return 0;}
function objVisible(objectID) {var objs = xDOM(objectID,1); if(objs.visibility == 'hide' || objs.visibility == 'hidden') return 'hidden'; return 'visible';}

// More Object Functions
// copyright Stephen Chapman, 18th Jan 2005
function setObjVis(objectID,vis) {var objs = xDOM(objectID,1); objs.visibility = vis;}
function toggleObjVis(objectID) {var objs = xDOM(objectID,1); var vis = objs.visibility; objs.visibility = (vis == 'visible' || vis == 'show') ? 'hidden' : 'visible';}
function moveObjTo(objectID,x,y) {var objs = xDOM(objectID,1); objs.left = x; objs.top = y;}
function moveObjBy(objectID,x,y) {var obj = xDOM(objectID,0);var objs = xDOM(objectID,1); if (obj.offsetLeft != null) {var l = obj.offsetLeft; var t = obj.offsetTop; objs.left = l+x; objs.top = t+y;} else if (objs.pixelLeft != null) {objs.pixelLeft += x; objs.pixelTop += y;} else obj.moveBy(x,y);}
function moveObjLayer(objectID,z) {var objs = xDOM(objectID,1); objs.zIndex = z;}

// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005; Susan Snipes edited pageWidth and pageHeight 13 Mar 2009 for IE
function pageWidth() {return window.innerWidth != null ? window.innerWidth:document.documentElement != null ? document.documentElement.clientWidth:document.body != null ? document.body.clientWidth:800;}
function pageHeight() {return window.innerHeight != null ? window.innerHeight:document.documentElement != null ? document.documentElement.clientHeight:document.body != null ? document.body.clientHeight:500;}
function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;}
function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;}
function posRight() {return posLeft()+pageWidth();}
function posBottom() {return posTop()+pageHeight();}

//general cookie functions, from PPK - http://www.quirksmode.org/js/cookies.html
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 var expires = '';
	document.cookie = name+'='+value+expires+'; path=/';
}
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 eraseCookie(name) {
	createCookie(name,'',-1);
}

function closePopUp() {
	setObjVis('myobj','hidden');
	createCookie('ilsvisible','HIDE',7);
}

function createPopUp() {
	var pgh = (pageHeight());
	var halfpgh = (pgh/2);
	var rmid = (halfpgh+80); //add 80 to half of the page height, because popup window is 160px tall, and middle of popup should be at center of window
	var posbot = posBottom();
	var x = (posRight()-220) + 'px'; //move it in 220px from edge
	var y = (posBottom()-rmid) + 'px';
	moveObjTo('myobj',x,y);
	setObjVis('myobj','visible');
	createCookie('ilsvisible','SHOW',7);
}

function scrollPopUp() {
	var pgh = (pageHeight());
	var halfpgh = (pgh/2);
	var rmid = (halfpgh+80); //add 80 to half of the page height, because popup window is 160px tall, and middle of popup should be at center of window
	var posbot = posBottom();
	var x = (posRight()-220) + 'px'; //move it in 220px from edge
	var y = (posBottom()-rmid) + 'px';
	var objs = xDOM('myobj',1);
	var vis = objs.visibility;
	if (vis=='visible') {
		moveObjTo('myobj',x,y);
	}
	else {
		//do nothing
	}
}

//make cookies for ILS
//ilsfirstview = time of first visit (if less than one week)
//ilspopup = has popup opened or not UNUSED or USED
//ilsvisible = is popup visible or not HIDE or SHOW
function loadEmUp() {
	if ( readCookie('ilsfirstview') && readCookie('ilspopup') && readCookie('ilsvisible') ) {
		popupClickHandler();
	}
	else {
		makeCookies();
		popupClickHandler();
	} 
}

function makeCookies() {
	var time_to_pop = new Date();
	time_to_pop = time_to_pop.getTime();
	time_to_pop = time_to_pop + 90000; //add 30 seconds to time cookies created, this is when popup should display
	createCookie('ilsfirstview',time_to_pop,7);
	createCookie('ilspopup','UNUSED',7);
	createCookie('ilsvisible','HIDE',7);
}

//control popup time, and set cookie to USED
var popupIntervalId = 0;
function popupClickHandler( ) {
  if ( readCookie('ilspopup') == 'UNUSED' ) {
    popupIntervalId = setInterval( 'checkTimer()', 5000 ); //check every five seconds
  } else {
	if ( readCookie('ilsvisible') == 'SHOW' ) {
		createPopUp();
	}
    clearInterval(popupIntervalId);
  }
}
function checkTimer( ) {
	var check_time_now = new Date();
	var cookie_pop_time = readCookie('ilsfirstview');
	check_time_now = check_time_now.getTime();
	if ( check_time_now > cookie_pop_time ) {
		createCookie('ilspopup','USED',7);
		createPopUp();
    	clearInterval(popupIntervalId);
	} else {
		// do nothing
	}
}
