var panels = null;
var IE = null;
var autocomplete_list = null;

function positionNavigation(e) {
	if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	} else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
	}

	// catch possible negative values in NS4
	if (tempX < 0) { tempX = 0; }
	if (tempY < 0) { tempY = 0; }

	if(tempX < 750 && tempY < 200 && tempX > 2 && tempY > 2) {
		$('globalnav').style.marginLeft = '0px';
	} else {
		$('globalnav').style.marginLeft = '-750px';
	}
		
	document.onmousemove = null;
	return true;
}

window.addEvent('domready', function() {
	var fx = new Fx.Styles('globalnav', { duration:1200, wait:false, fps: 60 } );
	
	/*var IE = document.all ? true : false;

	if(document.location.href.indexOf("#") == -1) {
		$('globalnav').style.marginLeft = '-750px' 
	} else {
		//document.onmousemove = positionNavigation;
	}*/

			
	$('globalnav').style.marginLeft = document.location.href.indexOf("#") == -1 ? '-750px' : '0px';

	$('globalnav-area').addEvent('mouseenter', function(e){
		fx.start({
			'margin-left': 0
		});

		$('vl-menu').style.background = "url(/img/vertical-labels-red.gif) 0 0";
	});

	$('globalnav-area').addEvent('mouseleave', function(e){
		fx.start({
			'margin-left': -750
		});

		$('vl-menu').style.background = "url(/img/vertical-labels-red.gif) -36px 0";
	});

	if(window['analysts']) {
		startAutoFill(analysts);
	}

	//readifyEmails();

	setupChartContainer();
});

function setupChartContainer() {
	var chart_container = $('flash-chart-container');
	if(chart_container != null) {
		chart_container.style.display = 'none';
		
		chart_container.getElements('a')[0].addEvent('click', function() {
			chart_container.style.display = 'none';
		});

		var innovation_button = $('innovation');

		if(innovation_button != null) {
			innovation_button.href = 'javascript:void(0);';

			innovation_button.addEvent('click', function () {
				chart_container.style.display = 'block';
			});
		}
	}
}

window.addEvent('load', function() {
	var body_objects = document.getElementsByTagName('object');

	for(var i = 0; i < body_objects.length; i++) {
		if(body_objects[i].getAttribute("class") == 'sIFR-flash') {
			var temp_html = body_objects[i].innerHTML;

			if(temp_html.indexOf('link') > 0) {
				temp_html = temp_html.substring(temp_html.indexOf('link')+5,temp_html.indexOf('&amp;target'));

				body_objects[i].addEvent('click', function() {
					document.location.href = temp_html;
				});
			}
		}
	}
});

/*** footer */
function printPage() {
	window.print();  
}

function startAutoFill() {
	var input_objects = document.getElementsByTagName('input');
	
	if(window.ie) {
		for(var i = 0; i < input_objects.length; i++) {
			if(input_objects[i]['rel'] != null) {
				if(input_objects[i]['rel'] == 'autofill-name') {
					input_objects[i].attachEvent('onkeyup', function() {
						//alert(this.value);
						//autoCompleteAnalysts(this.value);
					});
				}
			}
		}
	} else {
		for(var i = 0; i < input_objects.length; i++) {
			if(input_objects[i].getAttribute('rel') != null) {
				if(input_objects[i].getAttribute('rel') == 'autofill-name') {
					input_objects[i].addEvent('keyup', function() {
						autoCompleteAnalysts(this.value);
					});
				}
			}
		}
	}
}

function autoCompleteAnalysts(in_string) {
	var keywords = in_string.split(" ");

	if(keywords.length > 0) {
		temp_analysts = getMatchingAnalysts(keywords);
		displayAutoCompleteList(temp_analysts);
	}
}

function updateAutoCompleteField(in_value) {
	$('keyword').value = in_value;
	$('name-autofill').innerHTML = '';
	$('keyword').form.submit();
}

function displayAutoCompleteList(in_list) {
	var new_list_html = "";

	for(var i = 0; i < in_list.length; i++) {
		new_list_html += "<li><a onclick=\"updateAutoCompleteField('" + in_list[i] + "'); return false;\">" + in_list[i] + "</a></li>";
	}

	$('name-autofill').innerHTML = "<ul>" + new_list_html + "</ul>";
}

function getMatchingAnalysts(in_keywords) {
	var matching_analysts = new Array();
	
	var keywords = "";

	for(var i = 0; i < in_keywords.length; i++) {
		if(in_keywords[i] != " " && in_keywords[i] != '') {
			keywords += in_keywords[i] + " ";
		}
	}

	keywords = keywords.substring(0, keywords.length - 1);
	
	
	//var keywords = in_keywords.join(" ");

	var max_hits = 0;
	var temp_hits = 0;

	// for each analyst
	for(i = 0; i < analysts.length; i++) {
		if(matching_analysts.length > 10) break;
		//var temp_hits = 0;

		// see if each word can be found in the analysts name
		//for(j = 0; j < in_keywords.length; j++) {

			// if the word has length
			if(keywords.length > 1) {

				if(analysts[i].toLowerCase().search(keywords.toLowerCase()) > -1) {
					matching_analysts.push(analysts[i]);
				}
				// and if this current word is found in the name
				//if(analysts[i].toLowerCase().search(in_keywords[j].toLowerCase()) > -1) {
					// then mark that we found it
				//	temp_hits++;
				//}
			}
		//}
	}
	
	return matching_analysts;
}

function createBookmarkLink() {
	title = document.title;

	url = document.location.href;

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url, "");
	} else if(window.external) { // IE Favorite
		window.external.AddFavorite(url, title);
	} else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}

function readifyEmails() {
	all_anchors = document.getElementsByTagName('a');
	readified = 0;

	for(i = 0; i < all_anchors.length; i++) {
		if(all_anchors[i].rel == 'email') {
			all_anchors[i].innerHTML = reverseString(all_anchors[i].innerHTML);
			readified++;
			if(readified > 4) break;
		}
	}
}

function reverseString(in_string) {
	var return_string = "";

	for(i = in_string.length - 1; i > -1; i--) {
		return_string += in_string[i];
	}

	return return_string;
}
