var init = function(){
	createNavi();
	setPopUps();
	createHovers();
	createImageRotation();
};



//image preload
var $preload_list = new Array();
var $preload_counter = 0;

function preload(SRC){
	$preload_list[$preload_counter] = new Image();
	$preload_list[$preload_counter].src = SRC;
	$preload_counter += 1;
}

//image rollovers
function createHovers(){
	$images = new Array;
	$images = document.getElementsByTagName('img');
	for (i=0; i<$images.length; i++){
		$image = $images[i];
		if($image.getAttribute('hvr')){
			preload($image.getAttribute('hvr'));
			$image.setAttribute('off',$image.getAttribute('src'));
			$image.onmouseover = function(){
				this.src = this.getAttribute('hvr');
			}
			$image.onmouseout = function(){
				this.src = this.getAttribute('off');
			}
		}
	}
}

//navigation menu
var $top_navi;
var $top_links = new Array();
var $lvl2s = new Array();
var $navi_pause = false;

function createNavi(){
	if(!document.getElementById('level_one')) return false;
	if(!document.getElementById('level_two')) return false;
	$top_navi = document.getElementById('level_one');
	$top_links = $top_navi.getElementsByTagName('a');
	for(i=0; i<$top_links.length; i++){
		if($top_links[i].getAttribute('href') == "#") $top_links[i].onclick = function(){ return false; };
		if ($top_links[i].getAttribute('drop')){
			$top_links[i].onmouseover = function(){
				$navi_pause = true;
				dropLevelTwo(this.getAttribute('drop'));
				}
			$top_links[i].onmouseout = function(){
				$navi_pause = false;
				$fadeoff = window.setInterval("fadeOff('"+this.getAttribute('drop')+"')",50);
				}
		}
	}
	var $level_two = document.getElementById('level_two');
	$lvl2s = $level_two.getElementsByTagName('div');
}

function dropLevelTwo(id){
	if(!document.getElementById(id)) return false;
	for(i=0; i<$lvl2s.length; i++){
		$lvl2s[i].style.display = "none";
		setOp($lvl2s[i],1);
	}
	var $lvl2 = document.getElementById(id);
	$lvl2.style.display = "block";
	$lvl2.onmouseover = function(){
		$navi_pause = true;
		window.clearInterval($fadeoff);
		setOp($lvl2,1);
		}
	$lvl2.onmouseout = function(){
		$navi_pause = false;
		$fadeoff = window.setInterval("fadeOff('"+this.getAttribute('drop')+"')",50);
		}
}


function fadeOff(id){
	if(!document.getElementById(id)){
		window.clearInterval($fadeoff);
		return false;
	}
	var lvl2 = document.getElementById(id);
	var $op = getOp(lvl2);
	if($navi_pause == true){
		setOp(lvl2,1);
		window.clearInterval($fadeoff);
		return false;
	}
	if ($op == 0){
		lvl2.style.display = "none";
		setOp(lvl2,1);
		$navi_pause = false;
		window.clearInterval($fadeoff);
		return;
	}
	$op -= 0.2;
	setOp(lvl2,$op);
}

//rotation banner
var $new_image, $current_image, $interval, $timeout;
var $current_counter = 0;
var $next_counter = 1;
var $image_list = new Array();
var $hover_list = new Array();

function createImageRotation(){
	if(!document.getElementById('fade_images'))return false;
	$image_list = document.getElementById('fade_images').getElementsByTagName('img');
	$image_list[0].style.zIndex = 3;
	setOp($image_list[0],1);
	
	for(var i=0; i<$image_list.length; i++){
		$image_list[i].style.display = "block";
	}
	$timeout = window.setTimeout("rotateImage()",6000);
	
	if(document.getElementById('fade_links')){
		$hover_list = document.getElementById('fade_hovers').getElementsByTagName('img');
		var $links = new Array();
		$links = document.getElementById('fade_links').getElementsByTagName('a');	
		for(i=0; i<$links.length; i++){
			if ($links[i].getAttribute('show')){
				$links[i].onmouseover = activeHover;
				$links[i].onmouseout = inactiveHover;
			}
		}
	}
}

function rotateImage(){
	$current_image = $image_list[$current_counter];
	setOp($current_image,1);
	$new_image = $image_list[$next_counter];
	setOp($new_image,1);
	$new_image.style.zIndex = 2;
	$interval = window.setInterval("imageTransition()",75);
}

function imageTransition(){
		var $opacity = getOp($current_image);
		$opacity -= 0.10;
		setOp($current_image,$opacity);
		if ($opacity < 0.10){
			$new_image.style.zIndex = 3;
			setOp($new_image,1);
			$current_image.style.zIndex = 1;
			setOp($current_image,1);
			window.clearInterval($interval);
			$current_counter += 1;
			$next_counter += 1;
			if ($current_counter >= $image_list.length) $current_counter = 0;
			if ($next_counter >= $image_list.length) $next_counter = 0;
			$timeout = window.setTimeout("rotateImage()",4500);
		}
}

function activeHover(){
	if ($interval){
		window.clearInterval($interval);
		setOp($new_image,1);
		setOp($current_image,1);
	}
	if ($timeout) window.clearTimeout($timeout);
	$hover_list[this.getAttribute('show')].style.display = "inline";
}

function inactiveHover(){
	$timeout = window.setTimeout("rotateImage()",6500);
	$hover_list[this.getAttribute('show')].style.display = "none";
}

getOp = getElementOpacity;
setOp = setElementOpacity;

function setElementOpacity(element,opacityLevel){
		element.style.opacity = opacityLevel;
		element.style.filter = "alpha(opacity=\"" + (opacityLevel*100) + "\")";
}
function getElementOpacity(element){
		var opacity = 1;
		if(element.style.opacity) opacity = element.style.opacity;
		else if(element.style.filter){
			opacity = opacity.style.filter;
			if(opacity.indexOf("opacity") >= 0) opacity = parseFloat(opacity) * 0.01;
		}
		return opacity;
}

//chat opener
function setPopUps(){
	var alllinks = document.getElementsByTagName('a');
	for(i=0; i<alllinks.length; i++){
		if(alllinks[i].getAttribute('popup')) alllinks[i].onclick = function(){
			var url = this.getAttribute('href');
			var popup = this.getAttribute('popup');
			xy = popup.split(',');
			if(!popup[0]) popup[0] = 450;
			if(!popup[1]) popup[1] = 500;
			try	{ window.open(url,"","toolbars=no,status=no,control=no,resize=no,width="+xy[0]+",height="+xy[1]) }
			catch(e) { alert("Please disable your pop-up blocker for this function to work properly.") }
			return false;
		}
	}
}

window.onload = init;
