Detect = function(){	var agent = navigator.userAgent.toLowerCase(); 	this._mac = agent.indexOf('mac') != -1;	this._win = !this._mac;	this._w3c = document.getElementById;	this._iex = document.all;	this._ns4 = document.layers;}Detect.prototype.getObj = function(name){	if(this._w3c){		return document.getElementById(name);	}else if(this._iex){		return document.all[name];	}else if(this._ns4){		return this.getObjNS4(document,name);	}}Detect.prototype.getObjNS4 = function(obj, name){	var d = obj.layers;	var result,temp;	for(var i=0; i<d.length; i++){		if(d[i].id == name){		 	result = d[i];		}else if(d[i].layers.length){			var temp = this.getObjNS4(d[i],name);		}		if(temp){			result = temp;		}	}	return result;}Detect.prototype.getStyle = function(obj){	return (this._ns4) ? obj : obj.style;}// HTMLobj ConstructorHTMLobj = function(name){	if(name){		this._inherit = Detect; this._inherit(name);		this._id  = name;		this._el  = this.getObj(this._id);		this._css = this.getStyle(this._el);		this._obj = name+'Object'; eval(this._obj+'=this');			return this;	}}HTMLobj.prototype = new Detect();HTMLobj.prototype.show = function(){ // show the visibility of the element	this._css.visibility = 'visible';}HTMLobj.prototype.hide = function(){ // hide the visibility of the element	this._css.visibility = 'hidden';}HTMLobj.prototype.setOpacity = function(opacity){ // set opacity of the element	if (navigator.userAgent.indexOf("Firefox") != -1) {    	if (opacity == 100) { opacity = 99.999; } // This is majorly retarded  	}		this._css.filter = "alpha(opacity:"+opacity+")";  	// IE/Windows	this._css.KHTMLOpacity = opacity/100;				// Safari < 1.2, Konqueror	this._css.MozOpacity = opacity/100;					// Older Mozilla and Firefox	this._css.opacity = opacity/100;					// Safari 1.2, newer Firefox and Mozilla, CSS3}HTMLobj.prototype.fadeIn = function(opacity, change, speed){ // gradually increase the opacity of the element// opacity: starting opacity of element// change: the size of the increments between steps// speed: the rate of the animation		if (opacity <= 100){	  this.setOpacity(opacity);	  this.show();	  opacity += change;	  setTimeout(this._obj+'.fadeIn('+opacity+','+change+','+speed+')', speed);	} else {	  this.setOpacity(100);	  document.getElementById('PhotoContainer').style.backgroundImage = "url(" + document.getElementById('Photo').src + ")";	}}function setOpacity(opacity, theID) {   var object = document.getElementById('Photo').style;  // If it's 100, set it to 99 for Firefox.  if (navigator.userAgent.indexOf("Firefox") != -1) {    if (opacity == 100) { opacity = 99.999; } // This is majorly retarded  }  // Multi-browser opacity setting  object.filter = "alpha(opacity=" + opacity + ")"; // IE/Win  object.KhtmlOpacity = (opacity / 100);            // Safari 1.1 or lower, Konqueror  object.MozOpacity = (opacity / 100);              // Older Mozilla+Firefox  object.opacity = (opacity / 100);                 // Safari 1.2, Firefox+Mozilla}HTMLobj.prototype.displayShow = function(){ // display the element as 'block'	this._css.display = 'block';}HTMLobj.prototype.displayHide = function(){ // do not display the element	this._css.display = 'none';}HTMLobj.prototype.setSrc = function(target){ // set the element's source to target	this._el.src = target;}HTMLobj.prototype.setHref = function(target){ // set the element's link to target	this._el.href = target;}HTMLobj.prototype.setInnerHtml = function(content){ // set the element's inner HTML to content	this._el.innerHTML = content;}