/* JavaScript Document        */
/* littleleaguecoach.org      */
/* Java Script by Anton Dovbik*/
/* adovbik@crameronline.com   */

(function(){
//Little League global variable
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }
var navMenuClone;
var navSearchForm;
var navItemOpened = -1;

function init() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;
    if (_timer) clearInterval(_timer);

if ($('nav-menu')) {
	navMenuClone = $('nav-menu').cloneNode(true);
	if ($('skills-menu')) initTabsFilter();
	initMenu();
}
containerResize();

//bug fix for background image flickers in Internet Explorer
/*@cc-on @*/
/*@if (@_win32)
	document.execCommand("BackgroundImageCache", false, true);  
/*@end @*/

};
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, false);
};
/*@cc_on @*/
/*@if (@_win32)
    document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
    var script = $("__ie_onload");
    script.onreadystatechange = function() {
        if (this.readyState == "complete") {
            init(); // call the onload handler
        }
    };
/*@end @*/
if (/WebKit/i.test(navigator.userAgent)) { // sniff
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            init(); // call the onload handler
        }
    }, 10);
};
window.onload = init;

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
};
function insertAfter(parent, node, referenceNode) {
      parent.insertBefore(node, referenceNode.nextSibling);
};
function preloadImages(){
	var pics = new Array()
	for(var i=0;i<arguments.length;i++){
        pics[i]=new Image();
        pics[i].src=arguments[i];
		}
};
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
};
function getElementsByClass(theclass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+theclass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
	return classElements;
};
function getHTTPObject() {
	var xmlhttp;
	try {
		xmlhttp = new XMLHttpRequest();
	}
	catch(er) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	return xmlhttp;
};
function addEvent(element, type, handler) {
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	if (!element.events) element.events = {};
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	handlers[handler.$$guid] = handler;
	element["on" + type] = handleEvent;
};
addEvent.guid = 1;
function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};
function handleEvent(event) {
	var returnValue = true;
	event = event || fixEvent(window.event);
	var handlers = this.events[event.type];
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};
function fixEvent(event) {
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};

//Little League
function initMenu() {
var itemOnTop
var navElements = $('nav-menu').getElementsByTagName('li');
for (var i=0; i <  navElements.length; i++){
	  if ((navElements[i].className != 'nav-item') && (navElements[i].className != 'nav-item open'))
		navElements[i].onclick= navBtnOn;
	  if (navElements[i].className == 'nav-item open')
	  {
		if (getElementsByClass('video on').length > 0) var itemOnTop = getElementsByClass('video on')[0].offsetTop;
		if (getElementsByClass('info on').length > 0) var itemOnTop = getElementsByClass('info on')[0].offsetTop;
		var parent = navElements[i].getElementsByTagName('ul')[0];
		parent.scrollTop = itemOnTop- navElements[i].offsetTop-41;
	  }
	}

var navItem = $('nav-menu').getElementsByTagName('h3');
	for (var i=0; i < navItem.length; i++){
		navItem[i].onclick= navOpen;
	}
if ($('skills-menu')) {
	var navTabs = $('skills-menu').getElementsByTagName('li');
	for (var i=0; i < navTabs.length; i++){
		navTabs[i].onclick = navTabsFilter;
	}
}
window.onresize = containerResize;
if ($('search-go')) {
	$('search-go').onclick = goSearch;
	addEvent($('aspnetForm'),'submit',goSearch);
	$('search-box').onfocus = searchBoxOnFocus;
	$('search-box').onblur = searchBoxOnBlur;
}
};
function searchBoxOnFocus() {
	if (this.value == 'Search Skills') this.value = '';
}
function searchBoxOnBlur() {
	if (this.value == '') this.value = 'Search Skills';
}
function containerResize() {
	var	docWidth;
	(typeof( window.innerWidth ) == 'number') ? docWidth = window.innerWidth : docWidth = document.documentElement.clientWidth;
	if (docWidth < 1058) document.getElementById('container').style.width = "1009px";
	else document.getElementById('container').style.width = "1058px";
};
function navOpen() {
  if (this.parentNode.className != "sample"){
	if (this.parentNode.className == "nav-item") { 
		var navItemOpen = getElementsByClass('nav-item open');
		for (var i=0; i < navItemOpen.length; i++) {
			navItemOpen[i].className = "nav-item";
		}
		this.parentNode.className += " open";
	}
	else {
		this.parentNode.className = "nav-item";
		navItemOpened = -1;
	}
	document.getElementById('search-result').className = "";
	document.getElementById('search-result').innerHTML = "";
	document.getElementById('search').className = "";
  }
};
function navBtnOn() {
	var infoOn = getElementsByClass('info on');
	for (var i=0; i < infoOn.length; i++) { 
		infoOn[i].className = "info"; 
	}
	var videoOn = getElementsByClass('video on');
	for (var i=0; i < videoOn.length; i++) { 
		videoOn[i].className = "video"; 
	}
	if ((this.className == "info") || (this.className == "video")) {
		var aLink = this.getElementsByTagName("a");
		if (aLink.length > 0) location.href = aLink[0].getAttribute("href");
	}
	if (this.className == "info") this.className += " on";
	else if (this.className == "video") this.className += " on";
};
function initTabsFilter() {
	var navTabs = $('skills-menu').getElementsByTagName('li');
	for (var i=0; i < navTabs.length; i++) {
		if (navTabs[i].className == "on" || navTabs[i].className == "last on"){
			var startTab = navTabs[i];
		}
	}
	var tempClone = navMenuClone.cloneNode(true);
	var elements = new Array();
	var workMenu = $('nav-menu');
	var keyWord = "";
	if (startTab.id == "major-baseball") keyWord =  "major";
	else if (startTab.id == "minor-baseball") keyWord =  "minor";
	else if (startTab.id == "softball") keyWord =  "softball";
	else if (startTab.id == "jr-sr-big-league") keyWord =  "jr/sr/big";
	if (keyWord != "") {
		var navKeyObj = tempClone.getElementsByTagName('p');
		for (var i= navKeyObj.length-1; i >= 0; i--){
			if ( navKeyObj[i].innerHTML.toLowerCase().indexOf(keyWord) < 0 ) {
				navKeyObj[i].parentNode.parentNode.removeChild(navKeyObj[i].parentNode);
			}
		}
	}
	$('navigator').replaceChild(tempClone,workMenu);
}
function navTabsFilter() {
	var navTabs = $('skills-menu').getElementsByTagName('li');
		for (var i=0; i < navTabs.length; i++) {
			navTabs[i].className = "";
		}
	this.className = "on";
	var tempClone = navMenuClone.cloneNode(true);
	var workMenu = $('nav-menu');
	var keyWord = "";
	if (this.id == "major-baseball") keyWord = "major";
	else if (this.id == "minor-baseball") keyWord = "minor";
	else if (this.id == "softball") keyWord = "softball";
	else if (this.id == "jr-sr-big-league") keyWord = "jr/sr/big";
	if (keyWord != "") {
		var navKeyObj = tempClone.getElementsByTagName('p');
		var basicNavKeyObjLength = navKeyObj.length;
		for (var i= navKeyObj.length-1; i >= 0; i--){
			if ( navKeyObj[i].innerHTML.toLowerCase().indexOf(keyWord) < 0 ) {
				navKeyObj[i].parentNode.parentNode.removeChild(navKeyObj[i].parentNode);
			}
		}
	}
	$('navigator').replaceChild(tempClone,workMenu);
	initMenu();
};
function goSearch() {
	document.getElementById('search-result').innerHTML = "";
	var navItemOpen = getElementsByClass('nav-item open');
	for (var i=0; i < navItemOpen.length; i++) {
		navItemOpen[i].className = "nav-item";
	}
	var searchResult = '';
	var searchObj = document.getElementById('search-result');
	var searchWord = document.getElementById('search-box').value.toLowerCase();
	searchWord  = searchWord.trim();
	if (searchWord == 'search skills' ) {
		searchResult = '<li class="message">Please enter your search.</li>';
	}
	if (searchWord.length < 3 ) {
		searchResult = '<li class="message">Search key is less than three characters.</li>';
	} else {
		var itemsList = $('nav-menu');
		var liItems = itemsList.getElementsByTagName('li');
		for (var i=1; i < liItems.length; i++){ // i=1 liItems[0] is 'search'
			keywordsObj = liItems[i].getElementsByTagName('input');
			if ((keywordsObj.length > 0) && (liItems[i].className != "nav-item") ) {
				if (keywordsObj[0].value.toLowerCase().indexOf(searchWord) >= 0 ) {
					searchResult += '<li class="' + liItems[i].className + '">';
					searchResult +=  liItems[i].innerHTML;
					searchResult += '</li>';
				}
			}
		}
	}
	if (searchResult == '' ) { searchResult = '<li class="message">Your search found no results.</li>'; }
	searchObj.className = "open";
	searchObj.innerHTML = searchResult;
	document.getElementById('search').className = "open";
	return false;
};
}).call(this);

// Inline Little league functions
function printText() { 
 	window.print();
};
