<!--

// dhtml_base.js

// customized for secondstory.com by seb chevrel

// updated : 2001.01.03

//

// supports Mozilla M17 / Netscape 6 / Gecko

// supports IE 4, 5 and 5.5 on windows

// supports IE 4.5 and IE 5 on macOS

// supports NN 4.5, 4.7 on windows and macOS

// partial support of Opera 4.01

//

// startMouseCapture()

// swapImage(name,src,layer)

// popUp(URL,width,height,additional)

// getscrollX(window)

// getscrollY(window)

// Showlayer(id,visibility)

// Movelayer(id,x,y)

// Writelayer(id,htmlcode)

// Resizelayer(id,w,h)

// setZindex(id,z)

// getwindowWidth()

// getwindowHeight()

// getlayerX(id)

// getlayerY(id)

// getlayerWidth(id)

// getlayerHeight(id)





mouseX=0;

mouseY=0;





//===================================================================================================================

// Cross Browser DHTML Functions

//===================================================================================================================



// Swap Image Src

function swapImage(which,what,theLayer) {

	if (!theLayer) theLayer=''; else theLayer+='document.';

	if (isNav) {

		eval("document." +theLayer+ "images."+which+".src='"+what+"'");

	} else {

		eval("document.images."+which+".src='"+what+"'");

	}

}



// Pop-up Window

function popUp(theURL,width,height,more)

{

		var popup=window.open(theURL,'popup','width='+width+',height='+height+','+more);

		popup.focus();

}



// This function writes HTML code in a layer

function Writelayer(layer,code) {

	if (isNav) {

		eval('document.'+layer+'.document.open()');

		eval('document.'+layer+'.document.write(code)');

		eval('document.'+layer+'.document.close()');

		}

	else if (isExp) {

		eval('document.all.'+layer+'.innerHTML=code');

	}

	else if (isW3C) {

		obj=document.getElementById(layer);

		// this is a non-compliant netscape hack supported by Gecko/Mozilla,

		// necessary to allow writing markup in a layer

		obj.innerHTML=code;

		/* this is the DOM way, but only support TextNodes in Mozilla

		while (obj.firstChild) obj.removeChild(obj.firstChild);

		node=document.createTextNode(code);

		obj.appendChild(node);*/

	}

	else if (isOpera) {

		obj=document.getElementById(layer);

		obj.style.innerHTML=code;

	}

}



function getscrollX(window) {

	if (isNav || isW3C  || isOpera) {

		//return eval(window+'.pageXOffset');

		return eval(0);

	}

	else if (isExp) {

		//return eval(window+'.document.body.scrollLeft');

		return eval(0);

	}

}



function getscrollY(window) {

	if (isNav || isW3C || isOpera) {

		return eval(window+'.pageYOffset');

		//return eval(0);

	}

	else if (isExp) {

		return eval(window+'.document.body.scrollTop');

		//return eval(0);

	}

}



function mousemoveH(evt) {

	if (isNav) {

		mouseX=evt.pageX;

		mouseY=evt.pageY + window.pageYOffset;

	} 

	else if (isExp) {

		mouseX=window.event.clientX;

		mouseY=window.event.clientY + window.document.body.scrollTop;

	}

	else if (isW3C) {

		mouseX=evt.clientX;	

		mouseY=evt.clientY + window.pageYOffset;

	}

	else if (isOpera) {

		mouseX=window.event.clientX;

		mouseY=window.event.clientY + window.pageYOffset;

	}

	return true;

}



function startMouseCapture(handler) {

	if (isNav) document.captureEvents(Event.MOUSEMOVE);

	if (handler) document.onmousemove=handler;

	else document.onmousemove=mousemoveH;

//	if (isW3C) document.addEventListener(Event.MOUSEMOVE,mousemoveH,true);

}





function resizeH()

{

	location.reload();

	return false;

}





function setZindex(which,how) {

	if (isNav || isExp) {

		eval('document.'+pre+which+suf+'.zIndex="'+how+'"');

		return;

	}

	else if (isW3C || isOpera) {

		obj=document.getElementById(which);

		obj.style.zIndex=how;

	}

}



function Showlayer(which,how) {

	if (isNav || isExp) {

		eval ('document.'+pre+which+suf+'.visibility="'+how+'"');

//		eval ('document.'+pre+which+suf+'.visibility="'+how+'"');

//		eval ('document.'+pre+which+suf+'.visibility="'+how+'"');

		return;

	}

	else if (isW3C || isOpera) {

		obj=document.getElementById(which);

		obj.style.visibility=how;

	}

}



function Movelayer(which,x,y) {

	if (isExp)	{

		eval ('document.'+pre+which+suf+'.pixelLeft='+x);

		eval ('document.'+pre+which+suf+'.pixelTop='+y);

		return;

	}

	else if (isNav) {

		eval ('document.'+which+'.moveTo('+x+','+y+')');

		return;

	}

	else if (isW3C) {

		obj=document.getElementById(which);

		obj.style.left=x+'px';

		obj.style.top=y+'px';	

		return;

	}

	else if (isOpera) {

		obj=document.getElementById(which);

		obj.style.left=x;

		obj.style.top=y;	

	}

}



function getwindowWidth() {

	if (isExp) {

		return document.body.clientWidth;

	}

	else if (isNav || isW3C || isOpera) {

		return window.innerWidth;

	}

}



function getwindowHeight() {

	if (isExp) {

		return document.body.clientHeight;

	}

	else if (isNav || isW3C || isOpera) {

		return window.innerHeight;

	}

}



function getlayerX(which) {

	if (isExp) {

		return eval ('document.'+pre+which+suf+'.pixelLeft');

	}

	else if (isNav) {

		return eval ('document.'+pre+which+suf+'.left');

	}

	else if (isW3C) {

		obj=document.getElementById(which);

		style=getComputedStyle(obj,null); // computed style vs. style definition

		return parseInt(style.getPropertyValue('left')); // we need to parse 'px' out

	}

	else if (isOpera) { // broken

		obj=document.getElementById(which);

		return (obj.style.pixelLeft);

	}

}



function getlayerY(which) {

	if (isExp) {

		return eval ('document.'+pre+which+suf+'.pixelTop');

	}

	else if (isNav) {

		return eval ('document.'+pre+which+suf+'.top');

	}

	else if (isW3C) {

		obj=document.getElementById(which);

		style=getComputedStyle(obj,null); // computed style vs. style definition

		return parseInt(style.getPropertyValue('top')); // we need to parse 'px' out

	}

	else if (isOpera) { // broken

		obj=document.getElementById(which);

		return (obj.style.pixelTop);

	}





}



function Resizelayer(which,w,h) {

	if (isExp) {

		eval ('document.'+pre+which+'.pixelWidth='+w);

		eval ('document.'+pre+which+'.pixelHeight='+h);

	}

	else if (isNav) {

		eval ('document.'+pre+which+'.resizeTo('+w+','+h+')');

	}

}



function getlayerWidth(which) {

	if (isExp) {

		return eval ('document.'+pre+which+'.clientWidth');

	}

	else if (isNav) {

		return eval ('document.'+pre+which+'.clip.width');

	}

	else if (isW3C) {

		obj=document.getElementById(which);

		style=getComputedStyle(obj,null);

		return parseInt(style.getPropertyValue('width'));

	}

	else if (isOpera) { // broken

		obj=document.getElementById(which);

		return (obj.style.pixelWidth);

	}



}



function getlayerHeight(which) {

	if (isExp) {

		return eval ('document.'+pre+which+'.clientHeight');

	}

	else if (isNav) {

		return eval ('document.'+pre+which+'.clip.height');

	}

	else if (isW3C) {

		obj=document.getElementById(which);

		style=getComputedStyle(obj,null);

		return parseInt(style.getPropertyValue('height'));

	}

	else if (isOpera) {	// broken

		obj=document.getElementById(which);

		return (obj.style.pixelHeight);

	}



}



function Cliplayer(which,left,top,right,bottom) {

	if (isNav) {

		eval('document.'+pre+which+'.clip.top='+top);

		eval('document.'+pre+which+'.clip.bottom='+bottom);

		eval('document.'+pre+which+'.clip.left='+left);

		eval('document.'+pre+which+'.clip.right='+right);

	} else if (isExp ) {

		eval('document.'+pre+which+'.style.clip = "rect('+top+'px '+right+'px '+bottom+'px '+left+'px)"');

	} else if (isW3C || isOpera) {

		obj=document.getElementById(which);

		obj.style.clip='rect('+top+'px '+right+'px '+bottom+'px '+left+'px)';

	}

}



// -->
