/*========= Tyler's super-cool element fader script ==========*/
/*============ copyright 2007 Tyler Peterson =================*/
/*========= requires DHTMLAPI.js & addOnLoadEvent.jd :: uses 2 functions from DHTMLAPI; getObjectWidth & getObjectHeight =========*/


//========= set global variables, be careful you don't overwrite any existing global variables ==========//
var faders = new Array();
faders[0] = 'sale_info_container';
faders[1] = 'sale_contacts_container';

var fade_pause = 350; // set load interval if it's a global delay

var pause_time = new Array; // set if you would prefer different intervals between fade-in times
pause_time[0] = '500';
pause_time[1] = '800';

var opacity_step 	= 10;  // interval opacity increases by per fadeIn call
var opacity_speed 	= 50; // speed of fadeIn function
//========= end global variables ==========//


//========= no need to modify unless you know what you're doing ==========//
//set defaults
if(isNaN(fade_pause)){ fade_pause = 0; }
if(isNaN(opacity_step)){ opacity_step = 5; }
if(isNaN(opacity_speed)){ opacity_speed = 50; }


//execute addOnLoadEvent for each element in the array
var output = new Array();

for (var i=0; i<faders.length; i++){
	if(faders[i] != '' && faders[i]){
		document.write("<style type='text/css'>#"+faders[i]+" {visibility:hidden;}</style>");
		
		if(pause_time[i] != '' && pause_time[i] && (!isNaN(pause_time[i]))){
			var x = pause_time[i];
		} else {
			var x = parseInt(fade_pause) * i;
		}
		
		output[x] = 'addOnLoadEvent( function () { setTimeout(\'initImageContact("'+faders[i]+'")\','+x+') } );';
		eval(output[x]);
	}
}


//get the image, and set opacity to zero
function initImageContact(fade_element) {
	if(!document.getElementById) return false;	
		fadeElem = document.getElementById(fade_element);
		
		if(fadeElem){
			//explicitly set width and eight of element to fade to fix IE opacity bug... er, "feature"
			fadeElem.style.width = getObjectWidth(fadeElem);
			fadeElem.style.height = getObjectHeight(fadeElem);
			
			//set opacity to 0, then begin iterative fadeIn function
			setOpacityContact(fadeElem, 0);
			fadeElem.style.visibility = 'visible';
			fadeInContact(fade_element,0);
		}
}

//set opacity
function setOpacityContact(obj, opacity) {
	opacity = (opacity >= 80)?80:opacity;
	
	obj.style.filter = "alpha(opacity:"+opacity+")"; 	// IE/Win
	obj.style.KHTMLOpacity = opacity/80; 				// Safari<1.2, Konqueror
	obj.style.MozOpacity = opacity/80;					// Older Mozilla and Firefox
	obj.style.opacity = opacity/80; 					// Safari 1.2, newer Firefox and Mozilla, CSS3
}


//iterator to call setOpacity
function fadeInContact(objId,opacity) {
	if(!document.getElementById) return false;
    obj = document.getElementById(objId);
	
	if(obj){
		if (opacity <= 100) {
			setOpacityContact(obj, opacity);							
				
				//iterate through the childNodes to resolve childNodes from not inheriting updated opacity in IE
				for (var i=0; i<obj.childNodes.length; i++){
					if(obj.childNodes[i].nodeType == 1){			
						setOpacityContact(obj.childNodes[i], opacity);
					}					
				}				
								
			opacity += opacity_step;				
			window.setTimeout("fadeInContact('"+objId+"',"+opacity+")", opacity_speed);
		}
		
	}
}