﻿//Gradual Elements Fader- By Dynamic Drive at http://www.dynamicdrive.com
//Last updated: Nov 8th, 07'
//Modified by: Bert Hileman - LH Web Design so there is no need to
//create an object to use these methods.
//var gradualFader={}

baseopacity=0.0 //set base opacity when mouse isn't over element (decimal below 1)
increment=0.1 //amount of opacity to increase after each iteration (suggestion: 0.1 or 0.2)

document.write('<style type="text/css">\n') //write out CSS to enable opacity on "gradualfader" class
document.write('.gradualfader{filter:progid:DXImageTransform.Microsoft.alpha(opacity='+baseopacity*100+'); -moz-opacity:'+baseopacity+'; opacity:'+baseopacity+';}\n')
document.write('</style>')

setopacity1=function(obj, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)
	var targetobject=obj
	if (targetobject && targetobject.filters && targetobject.filters[0]){ //IE syntax
		if (typeof targetobject.filters[0].opacity=="number") //IE6
			targetobject.filters[0].opacity=value*100
		else //IE 5.5
			targetobject.style.filter="alpha(opacity="+value*100+")"
		}
	else if (targetobject && typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax
		targetobject.style.MozOpacity=value
	else if (targetobject && typeof targetobject.style.opacity!="undefined") //Standard opacity syntax
		targetobject.style.opacity=value
	targetobject.currentopacity=value
}

fadeupdown1=function(obj, direction){
	var targetobject=obj
	var fadeamount=(direction=="fadeup")? this.increment : -this.increment
	if (targetobject && (direction=="fadeup" && targetobject.currentopacity<1 || direction=="fadedown" && targetobject.currentopacity>this.baseopacity)){
		this.setopacity(obj, targetobject.currentopacity+fadeamount)
		window["opacityfader"+obj._fadeorder]=setTimeout(function(){fadeupdown(obj, direction)}, 50)
	}
}

clearTimer1=function(obj){
if (typeof window["opacityfader"+obj._fadeorder]!="undefined")
	clearTimeout(window["opacityfader"+obj._fadeorder])
}

fadeAndMoveObject(id, fadeDirection, leftPosition)
{
    document.getElementById(id).style.left = leftPosition;
    fadeupdown1(document.getElementById(id), fadeDirection);
}

//isContained=function(m, e){
//	var e=window.event || e
//	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
//	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
//	if (c==m)
//		return true
//	else
//		return false
//}

//fadeinterface=function(obj, e, direction){
//	if (!this.isContained(obj, e)){
//		clearTimer(obj)
//		fadeupdown(obj, direction)
//	}
//}

//collectElementbyClass=function(classname){ //Returns an array containing DIVs with specified classname
//	var classnameRE=new RegExp("(^|\\s+)"+classname+"($|\\s+)", "i") //regular expression to screen for classname within element
//	var pieces=[]
//	var alltags=document.all? document.all : document.getElementsByTagName("*")
//	for (var i=0; i<alltags.length; i++){
//		if (typeof alltags[i].className=="string" && alltags[i].className.search(classnameRE)!=-1)
//			pieces[pieces.length]=alltags[i]
//	}
//	return pieces
//}

//init=function(){
//	var targetobjects=this.collectElementbyClass("gradualfader")
//	for (var i=0; i<targetobjects.length; i++){
//		targetobjects[i]._fadeorder=i
//		this.setopacity(targetobjects[i], this.baseopacity)
//		targetobjects[i].onmouseover=function(e){fadeinterface(this, e, "fadeup")}
//		targetobjects[i].onmouseout=function(e){fadeinterface(this, e, "fadedown")}
//	}
//}