var ns4;
var op5;
var op6;
var agt;
var ver;
var mac;
var ie; 
var mac_ie;
var safari;
var netscape;
var nversion;
var sversion;
var mozilla;
var mversion;
var mac_ff;

//added below
function getApplicationPath()
{	
	var url = window.location.href.toLowerCase();
	
	// Check for a StanfordRedesign folder
	if (url.indexOf('/stanfordredesign/') != -1)
	{				
		return '/stanfordredesign/';		
	}
	else
	{	
		// Check for a Stanford folder.	
		if(url.indexOf('.org/stanford/') != -1)
		{
			return '/stanford/';
		}
		else
		{			
			if(url.indexOf('https://') == -1 ) //Forums, Google.
			{		
				return 'http://www.stanfordhospital.com/';
			}
			else // Any other scenario like MSS 
			{			
				return 'https://www.stanfordhospital.com/';
			}
			return 'http://www.stanfordhospital.com/';
		}
		return 'http://www.stanfordhospital.com/';
	}
	return 'http://www.stanfordhospital.com/';
}

function changeBackgroundColor(Elem, Color) 
{
	var elem1 = 'leftnav_' + Elem + 1;
	var elem2 = 'leftnav_' + Elem + 2;
	var elem3 = 'leftnav_' + Elem + 3;		
	
	if(document.getElementById) 
	{
		var elem1 = document.getElementById(elem1);
		var elem2 = document.getElementById(elem2);
		var elem3 = document.getElementById(elem3);
	} 
	else 
	if (document.all)
	{
		var elem1 = document.all[elem1];
		var elem2 = document.all[elem2];
		var elem3 = document.all[elem3];
	}
	else
		return false;
		
	//elem1.className="menuitem_over";
	//elem2.className="menuitem_over";
	//elem3.className="menuitem_over";	

	//alert(elem1 + "-" +elem2.outerHTML+"-");

	var string;

	if(elem1)
	{
		elem1.bgColor = Color;
		//elem1.className = textColor;
		string += elem1.className;
		
	}		

	if(elem2)
	{
		elem2.bgColor = Color;
		//elem2.className = textColor;
		string += elem2.className;	
	}		
		
	if(elem3)
	{
		elem3.bgColor = Color;
		//elem3.className = textColor;
		string += elem3.className;
	}		
	
	//alert(string);
	
	return true;
}

function changeBackgroundColor2(Elem, cellColor, linkColor) 
{
	var elem1 = 'leftnav_' + Elem + 1;
	var elem2 = 'leftnav_' + Elem + 2;
	var elem3 = 'leftnav_' + Elem + 3;	
	var elem4 = 'leftnav_link' + Elem;	
	
	if(document.getElementById) 
	{
		var elem1 = document.getElementById(elem1);
		var elem2 = document.getElementById(elem2);
		var elem3 = document.getElementById(elem3);
		var elem4 = document.getElementById(elem4);
	} 
	else 
	if (document.all)
	{
		var elem1 = document.all[elem1];
		var elem2 = document.all[elem2];
		var elem3 = document.all[elem3];
		var elem4 = document.all[elem4];		
	}
	else
		return false;
	
	var string;

	if(elem1)
	{
		elem1.bgColor = cellColor;
	}		

	if(elem2)
	{
		elem2.bgColor = cellColor;
	}		
		
	if(elem3)
	{
		elem3.bgColor = cellColor;
	}		

	if(elem4)
	{
		elem4.className = linkColor;
	}
		
	//alert(string);
	
	return true;
}

function printTable(divtitle,divcontent)
		{					
			title = document.getElementById(divtitle).innerHTML;		
			content = document.getElementById(divcontent).innerHTML;		
								
			newwin = open('','newWindow');
			newwin.document.open();
						
			newwin.document.write('<html>\n',
				'<head>\n',
				'<title></title>\n',
				'<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\n',
				'<link rel="stylesheet" type="text/css" href="' + getApplicationPath() + 'design/css/style.css">\n',
				'<link rel="stylesheet" type="text/css" href="' + getApplicationPath() + 'design/css/tree_styles.css">\n',
				'<body>\n',
				'<a href="#" onclick="window.print();" class="printable">Print</a> - <a href="javascript:window.close()" class="printable">Close</a>\n',
				'<br><br>',
				'<font class=pagetitle>Stanford Hospital & Clinics</font><br><br>',
				'<table border=0>\n',
				'<tr>\n',
				'<td>\n',
				''+title+'<br><br>\n',
				'</td>\n',
				'</tr>\n',
				'<tr>\n',
				'<td>\n',				
				''+content+'\n',
				'</td>\n',
				'</tr>\n',
				'</table>\n',
				'</body>\n',
				'</html>');	
				
				newwin.document.close();			
		
		}



//added above








function sniffBrowsers() {
	ns4 = document.layers;
	op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
	op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
	op7 = (navigator.userAgent.indexOf("Opera 7")!=-1) || (navigator.userAgent.indexOf("Opera/7")!=-1);
	agt=navigator.userAgent.toLowerCase();
	ver = navigator.appVersion.toLowerCase();
	var temp = ver.split(";");
	if(temp[1].match("msie")!=-1) var ver_ie=parseFloat(temp[1].substring(6));
	mac = (agt.indexOf("mac")!=-1);
	ie = (agt.indexOf("msie") != -1);
	ff = (agt.indexOf("firefox")!=-1);
	safari = (agt.indexOf("safari") != -1);
	sversion = (safari)?parseInt(navigator.appVersion.toLowerCase().substring(navigator.appVersion.toLowerCase().indexOf("safari") + 7, navigator.appVersion.length)):-1;
	mac_ie = mac && ie;
	mac_ff = mac && ff;
	netscape = (agt.indexOf("netscape") != -1);
	mozilla = (agt.indexOf("mozilla") != -1) && !ff && !netscape;
	nversion = (netscape||mozilla)?parseFloat(navigator.appVersion.toLowerCase()):-1;
	
	//if(!(mac_ff || (safari && sversion>=125) || (ie && !mac_ie && ver_ie>=5.5) || ff || ((mozilla || netscape) && nversion>=5)) )
	//	window.location = "/notsup.html";
}

function correctPNG() 
{
   for(var i=0; i<document.images.length; i++)
      {
	  var img = document.images[i];
	  var imgName = img.src.toUpperCase();
	  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	     {
		 var imgID = (img.id) ? "id='" + img.id + "' " : "";
		 var imgClass = (img.className) ? "class='" + img.className + "' " : "";
		 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
		 var imgStyle = "display:inline-block;" + img.style.cssText;
		 if (img.align == "left") imgStyle = "float:left;" + imgStyle;
		 if (img.align == "right") imgStyle = "float:right;" + imgStyle;
		 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;		
		 var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"; 
		 img.outerHTML = strNewHTML;
		 i = i-1;
	     }
      }
}

function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1)
	{
		return"";
	}
		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE=="")
	{
		return "";
	}
	else
	{
		return TRIM_VALUE;
	}
}

function RTrim(VALUE)
{
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0)
	{
		return"";
	}
	var iTemp = v_length -1;
	
	while(iTemp > -1)
	{
		if(VALUE.charAt(iTemp) == w_space)
		{
		
		}
		else
		{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;

	}
	return strTemp;
}

function LTrim(VALUE)
{
	var w_space = String.fromCharCode(32);
	if(v_length < 1)
	{
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length)
	{
		if(VALUE.charAt(iTemp) == w_space){
		
		}
		else
		{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	}
	return strTemp;
}
function cutoff(str, maxlength)
{
	if(str.length>maxlength)
		return str.substring(0,maxlength)+"...";	
	else
		return str;
}

function getStyleObject(objectId, doc) {
    if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
    } else {
	return false;
    }
} 

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.display = newVisibility;
	return true;
    } else {
	return false;
    }
} 

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
    	if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
    	if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
    	}
	}
	return null;
}

function getImage(name) {
	if (document.layers) {
    	return findImage(name, document);
	}
	return null;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelHeight;
		} else {
			if(parseInt(elem.height)>parseInt(elem.offsetHeight))
			{
				if(safari)
					xPos = parseInt(elem.height)-3;
				else
					xPos = parseInt(elem.height);
			}
			else
				xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}

function getElementLeft(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	}
}


function getElementTop(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {
		if(document.getElementById) {	
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	}
}


function getImageLeft(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
    	if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
  	} else {
		return getElementLeft(myImage);
	}
	return -1;
}

function getImageTop(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	} else {
		return getElementTop(myImage);
	}
	return -1;
}

function getImageWidth(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.width;
	} else {
		return getElementWidth(myImage);
	}
	return -1;
}



function getImageHeight(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.height;
	} else {
		return getElementHeight(myImage);
	}
	return -1;
}

function moveXY(myObject, x, y) {
	obj = getStyleObject(myObject)
	if (ns4) {
		obj.top = y;
 		obj.left = x;
	} else {
		if (op5) {
			obj.pixelTop = y;
 			obj.pixelLeft = x;
		} else {
			obj.top = y + 'px';
 			obj.left = x + 'px';
		}	
	}
}

function getElement(Elem)
{
	
	if(ns4)
	{		
		return getObjNN4(document, Elem);
	}
	else
	{		
		if(document.getElementById)
		{	
			//alert('Elem: ' + Elem + '  document.getElementById(Elem): ' + document.getElementById(Elem) );		
			return document.getElementById(Elem);
		}
		else if(document.all)
		{			
			return document.all[Elem];
		}
	}
}

function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	else
		return false;
	if (op5 || op6) 
	{
		elem.style.className = myClass;
		return true;
	}
	else
	{
		if(elem)
		{
			elem.className = myClass;
			return true;
		}		
	}
}

function getFileName(strFN)
{
	//alert('strFN: ' + strFN); 
	//alert('-' + strFN.substring(strFN.lastIndexOf("/")+1) );
	return strFN.substring(strFN.lastIndexOf("/")+1);	
}

function changeBGColour(myObject, colour) {
	if (ns4) {
		var obj = getObjNN4(document, myObject);
		obj.bgColor=colour;
	} else {
		var obj = getStyleObject(myObject);
		if (op5) {
			obj.background = colour;	
		} else {
			obj.backgroundColor = colour;
		}	
	}
}

function changeImage(target, source) {
	var imageObj;
	
	
	if(source.substring(source.lastIndexOf(".")+1).toUpperCase()=="GIF" || source.substring(source.lastIndexOf(".")+1).toUpperCase()=="PNG")
	{
		//alert('1'); 
		//alert('call gE(target):  ' + getElement(target) )
		//alert('target: ' + target);
		if (getElement(target) != null)
			getElement(target).src = source;	
	}
	else
	{
		alert('else');
		if(getElement(target).tagName!="IMG")
		{
			getElement(target).src = eval(source).src;
		}
		else
		{
			if (ns4) {
				imageObj = getImage(target);
				if (imageObj) imageObj.src = eval(source).src; 
			} else {
				imageObj = getElement(target);//imageObj = eval('document.images.' + target);
				if (imageObj) imageObj.src = eval(source).src; 
			}
		}
	}
}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}
function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

function initResize(id){
	var table = document.getElementById(id);
	window.onresize = function(){resizeTable(table);}
	resizeTable(table);
}

function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight;
	return window.undefined; 
}
function getViewportWidth() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}
function resizeTable(table)
{	
	if(table)
		table.style.height = getViewportHeight()+"px";
}

function getWindowHeight()
{
	if(window.outerHeight) return window.outerHeight;
	if(document.documentElement.clientHeight) return document.documentElement.clientHeight;
	return document.body.clientHeight;
}
function getWindowWidth()
{
	if(document.getElementById) return window.outerWidth;
}
function getLeftOffset()
{
	if(window.screenX || window.screenX==0) return window.screenX;
	if(window.screenLeft || window.screenLeft==0) return window.screenLeft;
	return window.undefined;
}
function getTopOffset()
{
	if(window.screenY||window.screenY==0) return window.screenY;
	if(window.screenTop || window.screenTop==0) return window.screenTop;
	return window.undefined;
}
function popup(content, wName, toolbar, status, scrollbar, location, width, height, left, top)
{
	var c = content || "";
	var w = wName || "myWindow";
	var l = left || (getAbsoluteX()-(width/2));
	var t = top || (getAbsoluteY()-(height/2)-21);
	var toolbar = toolbar || "yes";
	var status = status || "yes";
	var scrollbar = scrollbar || "yes";
	var width = width || "200px";
	var height = height || "200px";
	var location = location || "yes";
	var properties = "left="+l+", top="+t+", toolbar="+toolbar+", status="+status+", scrollbar="+scrollbar+", location="+location+", width="+width+"px, height="+height+"px";
	window.open(c,w,properties);
}
function getAbsoluteX()
{
	var x = getLeftOffset() + (getViewportWidth()/2);
	return Math.round(x);
}
function getAbsoluteY()
{
	var bottomOffset = screen.height-getTopOffset()-getWindowHeight();
	var toolbarHeight = screen.height - getTopOffset() - getViewportHeight() - bottomOffset;
	var y=getTopOffset() + toolbarHeight + (getViewportHeight()/2)
	return Math.round(y);
}
function imagePreloader()
{
	//image1 = new Image(9, 11); image1.src="images/global/interface/arrow_right_on.gif";
	image1 = new Image(9, 11); image1.src=getApplicationPath()+ "templates/stanford/arrow_right_on.gif";
}
function printfire()
{
    if (document.createEvent)
    {
        printfire.args = arguments;
        var ev = document.createEvent("Events");
        ev.initEvent("printfire", false, true);
        dispatchEvent(ev);
    }
}
imagePreloader();
sniffBrowsers();