// JavaScript Document
// Body onload utility (supports multiple onload functions)
var gSafeOnload = new Array();
function SafeAddOnload(f)
{
	
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
IEmac = ((document.all)&&(isMac)) ? true : false;
IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
if (IEmac && IE4) // IE 4.5 blows out on testing window.onload
{
window.onload = SafeOnload;
gSafeOnload[gSafeOnload.length] = f;
}
else if (window.onload)
{
if (window.onload != SafeOnload)
{
gSafeOnload[0] = window.onload;
window.onload = SafeOnload;
} 
gSafeOnload[gSafeOnload.length] = f;
}
else
window.onload = f;
}

function SafeOnload()
{
for (var i=0;i<gSafeOnload.length;i++)
gSafeOnload[i]();
}



function visible (id,change) { //note: can pass id or an object
     
	if(change==null) change="visible";
	var obj=document.getElementById(id);
	if (obj) {
		if (obj==null) obj=id;  //means that it wasn't an id passed, it was an object
	
		if(obj.filters!=null)obj.filters(0).apply();
	
		obj.style.visibility =change;
	
	
	if(obj.filters!=null) obj.filters(0).play();
	}
}

function preload() {
		
	
	preload = new Array;
	for (var x = 0; x< 45; x++) {
		preload[x]=new Image;
	}
	preload[0].src= "intro/textphoto.jpg";
	preload[2].src= "intro/textdist.jpg";
	preload[3].src= "intro/textspray.jpg";
	preload[4].src= "intro/textsalon.jpg";
	
	preload[5].src= "intro/image1.jpg";
	preload[6].src= "intro/image2.jpg";

	
	preload[7].src= "intro/image3.jpg";
	preload[8].src= "intro/image4.jpg";
	

}

	
	function intro1() {
		setTimeout("preload()",1000);
		var obj=document.getElementById("image1");
		if(obj.filters!=null)obj.filters(0).apply();
		obj.style.backgroundImage="url(intro/image1.jpg)";
		obj.style.visibility ="visible";
		if(obj.filters!=null) obj.filters(0).play();

		setTimeout("intro2()",1000);
	}
	function intro2() {
		var obj=document.getElementById("image3");
		if(obj.filters!=null)obj.filters(0).apply();
		obj.style.backgroundImage="url(intro/image3.jpg)";
		obj.style.visibility ="visible";
		if(obj.filters!=null) obj.filters(0).play();
		setTimeout("intro3()",1000);
	}
	function intro3() {
		var obj=document.getElementById("image2");
		if(obj.filters!=null)obj.filters(0).apply();
		obj.style.backgroundImage="url(intro/image2.jpg)";
		obj.style.visibility ="visible";
		if(obj.filters!=null) obj.filters(0).play();
		setTimeout("intro4()",1000);
	}

function intro5() {
		
		visible("textspray");
		visible("textsalon");
		visible("textphoto");
		visible("textdist");
	}
function intro4() {
		visible("logo");
		setTimeout("intro5()",1000);

		
	}
	
function roll_over(id){
	var obj = document.getElementById(id);
	obj.onmouseover();
}
function roll_out(id){
	var obj = document.getElementById(id);
	 obj.onmouseout();
}

function animate_this() {
	
	if (document.URL.match("2") ||document.URL.match("3") ||document.URL.match("4") || document.URL.match("giving") ||document.URL.match("index")||document.URL.match("faq")||document.URL.match("tantip")||document.URL.match("tanfastic")||document.URL.match("sundrops_tan")||document.URL.match("revive")) {
		 
		 document.getElementById("menu1").style.visibility= "visible";
		 document.getElementById("menu2").style.visibility= "visible";
		 document.getElementById("menu3").style.visibility= "visible";
		 document.getElementById("menu4").style.visibility= "visible";
			 
		 return;
	 }

	 var speed= 14; //just a relative term, use to make sure all drops fall at same speed
	 moves = 0;
	 animate = new Array;
	
	animate[0] = document.getElementById('drop1');
	animate[0].Xpos=7;
	animate[0].Ypos=100;
	animate[0].Xfin = 7;
	animate[0].Yfin= 353;
	animate[0].steps = Math.round((animate[0].Yfin-animate[0].Ypos)/speed)
	
	animate[1] = document.getElementById('drop2');
	animate[1].Xpos=7;
	animate[1].Ypos=100;
	animate[1].Xfin = 7;
	animate[1].Yfin= 296;
	animate[1].steps = Math.round((animate[1].Yfin-animate[1].Ypos)/speed)
	
	animate[2] = document.getElementById('drop3');
	animate[2].Xpos=7;
	animate[2].Ypos=100;
	animate[2].Xfin = 7;
	animate[2].Yfin= 239;
	animate[2].steps = Math.round((animate[2].Yfin-animate[2].Ypos)/speed)

	
	animate[3] = document.getElementById('drop4');
	animate[3].Xpos=7;
	animate[3].Ypos=100;
	animate[3].Xfin = 7;
	animate[3].Yfin= 171;
	animate[3].steps = Math.round((animate[3].Yfin-animate[3].Ypos)/speed)


	
	for (var i = 0; i < animate.length; i++) {
	
	animate[i].deltaX= (animate[i].Xfin - animate[i].Xpos)/animate[i].steps;
	animate[i].deltaY= (animate[i].Yfin - animate[i].Ypos)/animate[i].steps;
	}
	document.z=0;  //store variable to keep track of which drop we are on
	moveIt();
    

		
}

function moveIt() {
			var z= document.z;
			animate[z].Xpos += animate[z].deltaX;
			animate[z].Ypos += animate[z].deltaY;
			animate[z].style.left =animate[z].Xpos+"px";
			animate[z].style.top = animate[z].Ypos+"px";
			moves++;
			if(moves < animate[z].steps) {
				
				setTimeout("moveIt()",30);
			}
			else {
				var drop='drop'+(z+1)+'';
				
				visible(drop,'hidden');
				var menu= (4-z)+'';
				
				visible('menu'+menu);
				document.z++;
				
				if (document.z <4 ) {
					moves=0;
					moveIt();
				}
			}
}
function init_menu() {  //not used. Used to init menu with one item clicked
	var obj=document.getElementById('sol1');
	var img=obj.childNodes[0].childNodes[0];
	img.onmouseover();
	img.onmouseover = "";
	img.onmouseout = ""; //turns off rollovers
	document.menu_on=img;
}

function show(){ // pass any number of id's to function, they will be picked up by show.arguments 	
	if (!document.getElementById) return;
	
	var aText= new Array;
	var aDivs= document.getElementsByTagName('div');
	
	for (var i = 0; i < aDivs.length; i++) {  // hide all text boxes
		if (aDivs[i].className.match("swap")) 	aDivs[i].style.visibility = "hidden";
	}

		// then show the one we want
	var aText_id= arguments;  // gets the array of id's passed to function
	for (var i = 0; i < aText_id.length; i++) { //turn on all id's passed to function	
		var obj = document.getElementById(aText_id[i]);
		//obj.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=0.4);"
		//if(obj.filters!=null) obj.filters[0].apply();
		obj.style.visibility="visible"; 
		
		// if(obj.filters!=null) obj.filters[0].play();
	}
		

	}




/*
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
*/

function initRollovers() {
	if (!document.getElementById) return
	

	var aPreLoad = new Array();
	var aPreLoad_remotes = new Array();
	var aRemote_rollovers = new Array();
    var oDefault_over = new Array();  
	var z = 0; 
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');
	var def_counter = 0;  //counter for oDefault_over

	for (var i = 0; i < aImages.length; i++) {
		
		//begin Remote Rollover setup
		if (aImages[i].className.match("remote")) {
			aTrigger = new Array(); 
			aRemote_rollovers[z]=aImages[i];
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			aTrigger = aImages[i].className.split(/\s/);// splits the class string if there are multiple classes
														// only works if there are only _remote classes
			for (var x=0; x< aTrigger.length; x++) { 
					aPreLoad_remotes[z,x]= new Image(); // just used z to create 2D array so preloading wouldn't overwrite images upon re-entering this loop
					aTrigger[x]=aTrigger[x].replace("_remote",""); 
					//alert(aTrigger[x]);
					aPreLoad_remotes[z,x].src = src.replace(ftype,'_'+aTrigger[x]+ftype);
					
					aRemote_rollovers[z].setAttribute(aTrigger[x],aPreLoad_remotes[z,x].src); // sets up an array with "remote object to rollover"."trigger obj id", and the property "trigger obj id" has the value of the file to be rolled to
			}
			z++;   // z adds one for every time an image with class including "_remote" is found
		}
		//end Remote Rollover setup
		
		//begin normal Rollover setup
		if (aImages[i].className.match("rollover")) {
			
			var src = aImages[i].getAttribute('src');
			
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_over'+ftype);
			
			if (aImages[i].className.match("default_over")) {  //immediately turn on image with class "default_over"
				oDefault_over[def_counter] = aImages[i];
				var imgtemp = oDefault_over[def_counter] .getAttribute('src');
				oDefault_over[def_counter].setAttribute('src',hsrc);
				oDefault_over[def_counter].setAttribute('hsrc',imgtemp);
				menu_div(oDefault_over[def_counter]); //sets up .menu_div for oDefault_over[def_counter]
				write_to_children(oDefault_over[def_counter].menu_div,oDefault_over[def_counter]);
				def_counter++;
			}
			else { //Don't apply mouseover/out fncts to "default_over"
				
				aImages[i].setAttribute('hsrc', hsrc);
				aPreLoad[i] = new Image();
				aPreLoad[i].src = hsrc;
				
				aImages[i].onmouseover = function rollover_over(e) { // e is used in case of netscape to pass event
					var imageobj =this;
					if(imageobj.filters!=null)imageobj.filters[0].apply();
					var imgtemp = imageobj.getAttribute('src');
					imageobj.setAttribute('src', imageobj.getAttribute('hsrc'));
					if(imageobj.filters!=null) imageobj.filters[0].play();
					imageobj.setAttribute('hsrc',imgtemp);
					
					//alert("from "+window.event.fromElement.menu);
					//alert("to "+imageobj.menu);
					//alert(" imageobj = "+menu_div(imageobj).id);
					//alert("def_over parent = "+menu_div(oDefault_over[0]).id);
					
					// begin revert back to default_over
					var fromElement;
					if (!e) var e = window.event;  //see http://www.quirksmode.org/js/events_mouse.html#relatedtarget
					if (e.relatedTarget) fromElement = e.relatedTarget;  //for netscape
					else if (e.fromElement) fromElement = e.fromElement;  //for IE
					else fromElement = "nothing";  //for case of page load with mouse over rollover, there is no From element, so it crashes script unless fromelement given some value
						
						for (var x = 0; x< oDefault_over.length; x++) { // if there is a default_over image, fade it in and out
							if (menu_div(oDefault_over[x]) == menu_div(imageobj) && fromElement.menu!= imageobj.menu ) { //only fade in and out default over if it is in the same menu, but also not if you are only moving in the same menu
								if(oDefault_over[x].filters!=null) oDefault_over[x].filters[0].apply();
								var imgtemp = oDefault_over[x].getAttribute('src');
								oDefault_over[x].setAttribute('src', oDefault_over[x].getAttribute('hsrc'));
								if(oDefault_over[x].filters!=null) oDefault_over[x].filters[0].play();
								oDefault_over[x].setAttribute('hsrc',imgtemp);
							}
						}
					//end revert back to default over
					
					
					//begin remote rollover process
					var image_id = parent_id(imageobj);
					var from_id = parent_id(fromElement);

					for (var i = 0; i < aRemote_rollovers.length; i++) {
						if (aRemote_rollovers[i].getAttribute(image_id)) { //find the remote image to affect
							if(aRemote_rollovers[i].filters!=null) aRemote_rollovers[i].filters[0].apply();
							if (!aRemote_rollovers[i].getAttribute(from_id)) {
								var orig_src = aRemote_rollovers[i].src;
								aRemote_rollovers[i].setAttribute('orig_src',orig_src);  //if its a transition from one trigger to another, don't reset orig_src
							}
							aRemote_rollovers[i].setAttribute('src', aRemote_rollovers[i].getAttribute(image_id));
							if(aRemote_rollovers[i].filters!=null) aRemote_rollovers[i].filters[0].play();
						}
					}
					//end remote rollover process
					
				}	  	
				
				aImages[i].onmouseout = function rollover_out(e) {
					var imageobj =this;
					if(imageobj.filters!=null)imageobj.filters[0].apply();
					var imgtemp = imageobj.src;
					imageobj.setAttribute('src', imageobj.getAttribute('hsrc'));
					if(imageobj.filters!=null) imageobj.filters[0].play();
					imageobj.setAttribute('hsrc',imgtemp);
					imageobj.rollover_state = "off";
					
					//capture info about to/from mouseover 
					var toElement;
					if (!e) var e = window.event;  //see http://www.quirksmode.org/js/events_mouse.html#relatedtarget
					if (e.relatedTarget) toElement = e.relatedTarget;  //for netscape
					else if (e.toElement) toElement = e.toElement;  //for IE
					else toElement = "nothing";  //for case of page load with mouse over rollover, there is no to element, so it crashes script unless toelement given some value
					
					//begin revert back to default over
						for (var x = 0; x< oDefault_over.length; x++) { // if there is a default_over image, fade it in and out
							if (menu_div(oDefault_over[x]) == menu_div(imageobj) && toElement.menu!= imageobj.menu ) { //only fade in and out default over if it is in the same menu, but also not if you are only moving in the same menu
								if(oDefault_over[x].filters!=null) oDefault_over[x].filters[0].apply();
								var imgtemp = oDefault_over[x].getAttribute('src');
								oDefault_over[x].setAttribute('src', oDefault_over[x].getAttribute('hsrc'));
								if(oDefault_over[x].filters!=null) oDefault_over[x].filters[0].play();
								oDefault_over[x].setAttribute('hsrc',imgtemp);
							}
						}
					//end revert back to default over
					
					//begin remote rollover process
					var image_id = parent_id(imageobj);
					var to_id = parent_id(toElement);
					
					
					for (var i = 0; i < aRemote_rollovers.length; i++) {
						if (aRemote_rollovers[i].getAttribute(image_id) && !aRemote_rollovers[i].getAttribute(to_id)) { //find the remote image to affect, but don't revert back to original if mouseout is to another trigger for this image
							if(aRemote_rollovers[i].filters!=null) aRemote_rollovers[i].filters[0].apply();
							aRemote_rollovers[i].setAttribute('src', aRemote_rollovers[i].getAttribute('orig_src'));
							if(aRemote_rollovers[i].filters!=null) aRemote_rollovers[i].filters[0].play();
						}
					}
					//end remote rollover process
				}
			}
		}
	}

}


function parent_id(obj){
	if (obj && obj!="nothing"  && obj.tagName!="BODY" && obj.tagName!="HTML") { //"nothing" is for case of no fromELement exisiting, see above
		obj.parent_div = obj; 
	
		while (obj.parent_div.tagName!='DIV') { //iterate up to find div container for obj. if obj is a div, stops here
			obj.parent_div= obj.parent_div.parentNode;
		}
		obj.parent_id = obj.parent_div.getAttribute('id');
		return obj.parent_id;
	}
}

function menu_div(obj) {
	if (obj && obj.tagName!="HTML" && obj.tagName!="BODY" ) { //Need HTML exception otherwise error when going from rollover out to background
		parent_id(obj); //sets up .parent_div as first containing div - should be img holder
		var id =obj.parent_div.parentNode.id; //next up should be menu container
		obj.menu_div= obj.parent_div.parentNode;
		return obj.menu_div;
	}
}

function write_to_children(element, Default) {
	var aChildren = new Array();
	aChildren = element.childNodes;
	for (var x = 0; x< aChildren.length; x++) {   // write "menu" attribute to all but the default over item
		if (aChildren[x].nodeType == 1 && aChildren[x]!=Default ) aChildren[x].menu = parent_id(Default); //menu = id of default over 
		if (aChildren[x].hasChildNodes) write_to_children(aChildren[x], Default)
	}
}
	

//SafeAddOnload(fadeIn);
SafeAddOnload(initRollovers);
SafeAddOnload(variable_load);


function variable_load(){
	
	var body=document.getElementsByTagName("body");
	
	if(body[0].id=="index") intro1();
else animate_this();
}

//SafeAddOnload(init_menu);
