$(document).ready(function(){
	//cleanWhitespace(document);
	set_index_buttons();
	set_utilty_nav();
	set_role_box();
	set_signature_bg(); 
	tooltips();
	startList();
	startList2();
	
	$('.thumb_shadow a').click(function() {
	    $('#img_shadow img').attr('src',this.rel).attr('alt','');
	    return false;
	});
	
	//if(document.getElementById('lg_sig')) {
	//    lgSig_init();
	//}
});

window.onload = function() {
	if(document.getElementById("sign_list")) {
	    set_scroll_box(); // << --- Index Page Scrolling...
	}
}

//var lgSig = { current:1, max:5 };
//function lgSig_init() {
    
//}

//Index page scrolling animation
//--------------------------------------------------------------------//
var reset_it;
var scroll;
var sign_height;

function set_scroll_box() {
	var sign = document.getElementById("sign")
	
	var sign_parent = document.getElementById("sign_list");
	
	if (sign && sign_parent) {
		var sign_style = document.getElementById("sign").style;
		sign_style.position = "relative";
		sign_style.marginTop = "0px";
	
		//Find height of all signatures to know where to jump back to
		var sign_child_length = sign.childNodes.length;
		sign_height = sign_child_length * 50;
	
		var temp_sign = document.createElement("div");
		temp_sign.id = "sign_duplicate";
		temp_sign.innerHTML = sign.innerHTML;
		
		insertAfter(temp_sign, sign);
	
		scroll = start_scroll();
	}
} 

function start_scroll() {
	var sign_elm = document.getElementById("sign").style;
	var sign_top = parseInt(sign_elm.marginTop);
	
	if (sign_top == -sign_height) {
		reset_it = reset_box();
		return false;
	}
	
	if (sign_top <= 0) {
		sign_top--;
	}
	
	sign_elm.marginTop = sign_top + "px";
	scroll = setTimeout("start_scroll()", 75);
}

function reset_box() {
	var sign = document.getElementById("sign").style;
	sign.marginTop = "0px";
	scroll = start_scroll();
}

//Big Signature Background Animation
//--------------------------------------------------------------------//

var lgSig = {
	leftPosition: -750,
	opacity: 0
};

function set_signature_bg() {

	var bgSignDiv = document.getElementById("lg_sig");
	bgSignDiv.style.left = lgSig.leftPosition + "px";
	
	var bgSignDivImage = bgSignDiv.getElementsByTagName("img")[0];
	var signCollection = document.getElementById("all_lg_sigs").getElementsByTagName("img");
	
	var lgCounter = rolebox.counter + 1;
	if(lgCounter >= rolebox.signNumber) {
		lgCounter = 0;
	}
	bgSignDivImage.src = signCollection[lgCounter].src;
	moveBackgroundSign = setInterval(function(){bg_animate_move(bgSignDiv)}, 80);
}

function fade_in_lg(displayDiv) {
	
	if (lgSig.opacity < 100) {
		lgSig.opacity += 2;
	
		displayDiv.style.opacity = lgSig.opacity/100;
		displayDiv.style.filter = "alpha(opacity:"+lgSig.opacity+")"; 
	}

	if (lgSig.opacity >= 99) {
	    
		clearInterval(fade_in_now);
	} 
}

function fade_role_in(current_role) {

	if (rolebox.opacity <= 100 || rolebox.opacity != 100) {
		rolebox.opacity += 2;
		
		current_role.style.opacity = rolebox.opacity/100;
		current_role.style.filter = "alpha(opacity:"+rolebox.opacity+")"; 
	}
	if (rolebox.opacity >= 100){
		clearInterval(role_fade_interval);
		
		current_role.style.opacity = ".99";
		current_role.style.filter = "alpha(opacity:100)"; 
	}
}

function bg_animate_move(bgSignDiv) {
	
	if (lgSig.leftPosition <= 0){
		lgSig.leftPosition -= 1;
	}
	bgSignDiv.style.left = lgSig.leftPosition + "px";	
}

function fade_out_lg(displayDiv) {

	if (lgSig.opacity <= 100 || lgSig.opacity != 0) {
		lgSig.opacity -= 2;
		displayDiv.style.opacity = lgSig.opacity/100;
		displayDiv.style.filter = "alpha(opacity:"+lgSig.opacity+")";
	}
	if (lgSig.opacity <= 0) {
		clearInterval(lg_fadeout_go);
	}
}

function int_lg_fade() {	
	var displayDiv = document.getElementById("lg_sig");
	lg_fadeout_go = setInterval(function(){fade_out_lg(displayDiv)}, 30);	
}

//Small Signature and Role animation
//--------------------------------------------------------------------//

var rolebox = {
	timer : 0,
	counter : -1,
	start_animate : null,
	total_sigs : 0,
	signNumber : 0,
	opacity : 0,
	smallSignPosition : null
};

function set_role_box() {
	var person_box = document.getElementById("sign_position");
	
	if (person_box) {
		var person_divs = person_box.getElementsByTagName("div");
		var person_role = person_box.getElementsByTagName("span");
	
	    rolebox.signNumber = person_divs.length;
		rolebox.total_sigs = person_divs.length * 50 + 1;
	
	    rolebox.counter = Math.floor(Math.random()*13);
	    //rolebox.counter = 13;
		
	    var rand = rolebox.counter*50+50;
	
		person_box.style.top = -rand + "px";
	
		for (var i=0; i<person_divs.length; i++){
			person_divs[i].style.opacity = "1";
		}
	
		for (var y=0; y<person_role.length; y++){ 
			person_role[y].style.visibility = "hidden";
		}
	    
		person_divs[rolebox.counter].style.visibility = "hidden";
		rolebox.smallSignPosition = parseInt(person_box.style.top);
		start_animation();	
	}
	
	
}

function start_animation(){	
	var smallSignDiv = document.getElementById("sign_position");
	rolebox.start_animate = setInterval(function(){move_person_box(smallSignDiv)}, 80);
	
	var displayDiv = document.getElementById("lg_sig");
	fade_in_now = setInterval(function() {fade_in_lg(displayDiv)}, 80);
}

function pause_animation() {clearInterval(rolebox.start_animate);}

function move_person_box(person_box){
	
	if (rolebox.smallSignPosition <= 0) {
		rolebox.timer++;
		rolebox.smallSignPosition--;
	}
	
	person_box.style.top = rolebox.smallSignPosition + "px";
	
	if (rolebox.smallSignPosition <= -rolebox.total_sigs){
		var person_divs = person_box.getElementsByTagName("div");
		var person_role = person_box.getElementsByTagName("span");
		person_box.style.top = "0px";
		
		for (var i=0; i<person_divs.length; i++){
			person_divs[i].style.opacity = ".99";
	        person_divs[i].style.filter = "alpha(opacity=100)"; 
			person_divs[i].style.visibility = "visible";
		}
		
		for (var y=0; y<person_role.length; y++){
		   person_role[y].style.opacity = "100";
		   person_role[y].style.visiility = "hidden";
		   person_role[y].style.filter = "alpha(opacity=100)"; 
		}
		
		rolebox.counter = -1;
		rolebox.timer = 0;
		rolebox.smallSignPosition = 0;
	}
		
	if (rolebox.timer == 50) { 
		pause_animation();
		rolebox.timer = 0;
		rolebox.counter++;
		int_role_fade();
		wait_for_lg_fade  = setTimeout("int_lg_fade()", 3000);
		wait_for_fade = setTimeout("int_fade()", 3000);
		
	}
}

function int_role_fade() {
	var person_divs = document.getElementById("sign_position").getElementsByTagName("div");
	var current_role = person_divs[rolebox.counter].getElementsByTagName("span")[0];
	
	current_role.style.visibility = "visible";
	current_role.style.opacity = "0";
	current_role.style.filter = "alpha(opacity:0)";
	
	rolebox.opacity = 0;
	
	role_fade_interval = setInterval(function() {fade_role_in(current_role)}, 30);
}

function fade_role_in(current_role) {

	if (rolebox.opacity < 100) {
		rolebox.opacity += 2;
		
		current_role.style.opacity = rolebox.opacity/100;
		current_role.style.filter = "alpha(opacity:"+rolebox.opacity+")"; 
	}
	if (rolebox.opacity >= 100){
		clearInterval(role_fade_interval);
		current_role.style.opacity = ".99";
		current_role.style.filter = "alpha(opacity:100)"; 
	}
}

function int_fade() {
	var person_divs = document.getElementById("sign_position").getElementsByTagName("div");
	rolebox.opacity = 100;
	fade_interval = setInterval(function(){fade_out(person_divs)}, 30);
}

function fade_out(person_divs) {

	if (rolebox.opacity <= 100 && rolebox.opacity != 0) {
		rolebox.opacity -= 2;
		
		person_divs[rolebox.counter].style.opacity = rolebox.opacity/100;
		person_divs[rolebox.counter].style.filter = "alpha(opacity="+rolebox.opacity+")"; 
	}
	
	if (rolebox.opacity <= 0) {
		var currentSpan = person_divs[rolebox.counter].getElementsByTagName("span");
		
		currentSpan[0].style.visibility = "hidden";
		person_divs[rolebox.counter].style.visibility = "hidden"; 
		person_divs[rolebox.counter].style.opacity = "1";
		person_divs[rolebox.counter].style.filter = "alpha(opacity:100)";
		clearInterval(fade_interval);
		lgSig.leftPosition = -750;
		document.getElementById("lg_sig").style.left = "-750px"; //<-- Reset Large BG position
		
		var allSignImages = $('#all_lg_sigs img');

		var showingSign = document.getElementById("lg_sig");
		var showingSignImage = showingSign.getElementsByTagName("img");
		var lgCounter = rolebox.counter + 1;
		if(lgCounter >= rolebox.signNumber) {
			lgCounter = 0;
		}
		
		showingSignImage[0].src = allSignImages[lgCounter].src;
		
		pause_animation();
		start_animation();
	}
}

//Set Index (WEB/VIDEO) buttons
//--------------------------------------------------------------------//
function set_index_buttons() {
	var web_link = document.getElementById("web_link");
	var web_bg = document.getElementById("web");
	
	var video_link = document.getElementById("video_link");
	var video_bg = document.getElementById("video");
	
	if (web_link && video_link) {
		web_link.onmouseover = function() {web_bg.style.backgroundColor = "#eaece9";}
		web_link.onmouseout = function() {web_bg.style.backgroundColor = "#e0e0e0";}
	
		video_link.onmouseover = function() {video_bg.style.backgroundColor = "#7f95ae";}
		video_link.onmouseout = function() {video_bg.style.backgroundColor = "#b2b2b2";}
	}
}	

//Set Utility Nav buttons
//--------------------------------------------------------------------//
function set_utilty_nav() {
	var flyout_links = new Array();
	var close_flyout_links = new Array();
	
	var utility_nav = document.getElementById("utility_nav");
	
	if (utility_nav) {
		var utility_links = utility_nav.getElementsByTagName("a");
	
		var about_div = document.getElementById("about_c2");
		var blogs_div = document.getElementById("blogs");
		var contact_div = document.getElementById("contact_us");
	
		for (i=0; i<utility_links.length; i++) {
			var link_class = utility_links[i].className;
		
			if (link_class == "flyout") {
				flyout_links.push(utility_links[i]);
			}
		
			if (link_class == "close_flyout") {
				close_flyout_links.push(utility_links[i]);
			}
		}
	
		flyout_links[0].onclick = function() {
			if (blogs_div.style.visibility == "visible" ||  contact_div.style.visibility == "visible"){
				blogs_div.style.visibility = "hidden";
				contact_div.style.visibility = "hidden";
				flyout_links[1].className = "flyout";
				flyout_links[2].className = "flyout";
			}
			about_div.style.visibility = "visible";
			flyout_links[0].className = "active_fly";
			return false;
		}
		flyout_links[1].onclick = function() {
			if (about_div.style.visibility == "visible" || contact_div.style.visibility == "visible"){
				about_div.style.visibility = "hidden";
				contact_div.style.visibility = "hidden";
				flyout_links[0].className = "flyout";
				flyout_links[2].className = "flyout";
			}
			blogs_div.style.visibility = "visible";
			flyout_links[1].className = "active_fly";
			return false;
		}
		flyout_links[2].onclick = function() {
			if (about_div.style.visibility == "visible" || blogs_div.style.visibility == "visible"){
				about_div.style.visibility = "hidden";
				blogs_div.style.visibility = "hidden";
				flyout_links[0].className = "flyout";
				flyout_links[1].className = "flyout";
			}
			contact_div.style.visibility = "visible";
			flyout_links[2].className = "active_fly";
			return false;
		}
	
		close_flyout_links[0].onclick = function() {
			about_div.style.visibility = "hidden";
			flyout_links[0].className = "flyout";
			return false;
		}
		close_flyout_links[1].onclick = function() {
			blogs_div.style.visibility = "hidden";
			flyout_links[1].className = "flyout";
			return false;
		}
		close_flyout_links[2].onclick = function() {
			contact_div.style.visibility = "hidden";
			if(document.getElementById('ctl00_ContactUs_Summary')) {
			    document.getElementById('ctl00_ContactUs_Summary').innerHTML = "";
			}
			if(document.getElementById('ctl00_ContactUs_lblEmailResponse')) {
			    document.getElementById('ctl00_ContactUs_lblEmailResponse').innerHTML = "";
			}
			flyout_links[2].className = "flyout";
			return false;
		}
	}
}

//Glitz and Guts tool tip
//--------------------------------------------------------------------//
function tooltips() {
	var guts_link = document.getElementById("guts_link");
	var glitz_link = document.getElementById("glitz_link");

	if (guts_link && glitz_link) {
	
		guts_link.onmouseover = function() {pause_guts_tip = setTimeout("show_guts_tip()", 250);}
		guts_link.onmouseout = function() {pause_hide_guts = hide_guts_tip();}
	
		glitz_link.onmouseover = function() {pause_glitz_tip = setTimeout("show_glitz_tip()", 250);}
		glitz_link.onmouseout = function() {pause_hide_glitz = hide_glitz_tip();}
	}
}

function show_guts_tip(){
	var guts_tip = document.getElementById("guts_defbg");
	guts_tip.style.display = "block";
}

function hide_guts_tip(){
	clearTimeout(pause_guts_tip);
	var guts_tip = document.getElementById("guts_defbg");
	guts_tip.style.display = "none";
}	

function show_glitz_tip(){
	var glitz_tip = document.getElementById("glitz_defbg");
	glitz_tip.style.display = "block";
}

function hide_glitz_tip(){
	clearTimeout(pause_glitz_tip);
	var glitz_tip = document.getElementById("glitz_defbg");
	glitz_tip.style.display = "none";
}

//Helper functions
//--------------------------------------------------------------------//
function cleanWhitespace(node) {

	var notWhitespace = /\S/;
	for (var x=0; x < node.childNodes.length; x++) {
		var childNode = node.childNodes[x];
	
		if ((childNode.nodeType == 3) && (!notWhitespace.test(childNode.nodeValue))) {
			node.removeChild(node.childNodes[x]);
			x--;
		}

		if (childNode.nodeType == 1){
			cleanWhitespace(childNode);
		}
	}
}

function insertAfter(newElem, targetElem) {
	var parent = targetElem.parentNode;
	if (parent.lastChild == targetElem) {
		parent.appendChild(newElem);
	}
	else {
		parent.insertBefore(newElem, targetElem.nextSibling);
	}
}

startList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		if (navRoot) {
			for (i=0; i<navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				if (node.nodeName=="LI") {
					node.onmouseover=function() {
						this.className+=" over";
					}
					node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
					}
				}
			}
		}
	}
}

startList2 = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("news");
		if (navRoot) {
			for (i=0; i<navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				if (node.nodeName=="UL") {
					node.onmouseover=function() {
						this.className+=" over";
					}
					node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
					}
				}
			}
		}
	}
}	