//** MAIN FUNCTIONS **//

var submenuHide = false;	//track visible sub-menus
function activePage(){
	if(jQuery('#mainMenu > li a.active').is(':visible')){
		var pid = jQuery('#mainMenu > li a.active').parent().attr('id');
		if(jQuery('#sub'+pid).is(':hidden') && submenuHide == true){
			jQuery('#sub'+pid).fadeIn(600);	
		}
	}
}
//-------
function menuHide(mid, resetter){
	mid = typeof(mid) == 'string' ? mid : false;
	resetter = typeof(resetter) == 'string' ? resetter : false;
	submenuHide = true;
	if(mid){
		jQuery('#secondMenu ul').each(function(){
			if(jQuery(this).attr('id') != ('sub'+mid)){
				jQuery(this).hide();	
			}
		});	
	}
	else{
		jQuery('#secondMenu ul').each(function(){
			if(!jQuery(this).hasClass('subMenuActive')){
				jQuery(this).hide();
			}
		});
	}
	if(resetter){
		jQuery('#secondMenu ul').each(function(){
			if(!jQuery(this).hasClass('subMenuActive')){
				jQuery(this).css('left', resetter);
			}
		});	
	}
	
	//Check for active page
	var w = setTimeout(function(){ activePage(); clearInterval(w); }, 1000);
}
//-------
var g = 0;	//track fHolder position
var e = 0;	//track info and nav number
var img = [];	//feature image array
var info = [];	//feature info array
var featuremaxnum = 4; 	//maximum of features that can be shown
var featurenum = 4;	//default number of features shown
var irotate;
function rotate(){
	irotate = setInterval(function(){
		var prev = e;
		e++;
		if(g > -(570 * (featurenum -1))){
			g -= 570;
		}
		else{
			g = 0;
			e = 0;
		}
		jQuery('#fhInner').animate({	left: g+'px' }, 500, 'swing');		
		jQuery('#homeRotate .info').text(info[e]);
		if(jQuery('#homeRotate li').hasClass('active')){
			jQuery('#homeRotate li').removeClass('active');
		}
		jQuery('#homeRotate #nav'+e).addClass('active');
	}, 5000);	
}
var homeRotation = function(XML){		//Carousel function
	var root = XML.documentElement;	//root element
	var features = root.getElementsByTagName('feature');
	if(typeof(features) != 'object'){
		return false;
	}
	
	for(var i = 0; i < features.length; i++){
		var tmpimg = features[i].getElementsByTagName('image')[0].firstChild.nodeValue;
		var tmpinfo = features[i].getElementsByTagName('info')[0].firstChild.nodeValue;
		img[i] = tmpimg;
		info[i] = tmpinfo;
	}
	
	featurenum = (img.length < featurenum) ? img.length : featurenum;	//adjust featurenum
	if(featurenum == 0){
		return false;	
	}
	
	//Insert feature images
	jQuery('#homeRotate').append('<div id="fHolder" class="feature"></div>');
	jQuery('#fHolder').append('<div id="fhInner" class="finner"></div>');
	//alert(jQuery('#fhInner').width());
	for(var h = 0; h < img.length; h++){
		var html = '<img id="feat'+h+'" src="'+img[h]+'" width="570px" height="208px" alt="" class="featimg" />';
		jQuery('#fhInner').append(html);
	}
	jQuery('#homeRotate .info').text(info[e]);
	jQuery('#homeRotate #nav'+e).addClass('active');
	
	rotate();	//Rotate
	
	//Rotation skip
	jQuery('#homeRotate .navi > li.left a').click(function(){
		clearInterval(irotate);
		if(e > 0){
			g += 570;
			e--;
			jQuery('#fhInner').animate({	left: g+'px' }, 500, 'swing');
			jQuery('#homeRotate .info').text(info[e]);
			if(jQuery('#homeRotate li').hasClass('active')){
				jQuery('#homeRotate li').removeClass('active');
			}
			jQuery('#homeRotate #nav'+e).addClass('active');
		}
		rotate();
	});
	jQuery('#homeRotate .navi > li.right a').click(function(){
		clearInterval(irotate);
		if(e < (img.length - 1)){
			g -= 570;
			e++;
			jQuery('#fhInner').animate({	left: g+'px' }, 500, 'swing');		
			jQuery('#homeRotate .info').text(info[e]);
			if(jQuery('#homeRotate li').hasClass('active')){
				jQuery('#homeRotate li').removeClass('active');
			}
			jQuery('#homeRotate #nav'+e).addClass('active');
		}
		rotate();
	});
	
	//Remove unused highlight link
	if(featurenum < featuremaxnum){
		for(var n = (featuremaxnum - featurenum); n < featuremaxnum; n++){
			jQuery('#homeRotate #nav'+n+' a').remove();
		}
	}
	
	//Rotate Jump
	jQuery('#homeRotate .navi li').each(function(){
		if(jQuery(this).attr('id') != '' && jQuery(this).has('a')){
			jQuery(this).click(function(){
				clearInterval(irotate);
				var nid = jQuery(this).attr('id');
				var tmp = nid.substring(3);
				tmp = Number(tmp);
				e = tmp;
				g = -570 * e;
				jQuery('#fhInner').animate({	left: g+'px' }, 500, 'swing');		
				jQuery('#homeRotate .info').text(info[e]);
				if(jQuery('#homeRotate li').hasClass('active')){
					jQuery('#homeRotate li').removeClass('active');
				}
				jQuery(this).addClass('active');
				rotate();
			});
		}
	});
};
//-------
function loadXML(url, callback){
	url = typeof(url) == 'string' ? url : false;
	callback = typeof(callback) == 'function' ? callback : false;
	if(url === false){ 
		return false;
	}
	var XML;
	var browser = jQuery.browser;
	
	if(browser.msie == true){
		XML = new ActiveXObject('MSXML2.XMLHTTP');
	}
	else{
		XML = new XMLHttpRequest();
	}
	
	XML.onreadystatechange = function(){
		if(XML.readyState == 4 && XML.status == 200){
			if(callback){
				callback(XML.responseXML);	
			}
		}
	};
	XML.open('GET', url, true);
	XML.send(null);
}
//-------
function footerFix(viewarea, master){
	var footer = jQuery('#mFooter').height();
	var newheight = footer + (viewarea - master);
	jQuery('#mFooter').height(newheight);
}
//=============================================
jQuery(document).ready(function(){
	//Design adjustments
	jQuery('.feedbox > ul > li:odd').addClass('odd');
	jQuery('#newsfeed > ul > li:odd').addClass('odd');
	jQuery('#newsfeed > ul > li:even').removeClass('odd');
	jQuery('#tertiaryMenu > li:odd').addClass('odd');
	jQuery('#cBody tr:last').css('border', 'none');
	jQuery('#cBody tr:odd').addClass('odd');
	jQuery('#cBody td:odd').css('border', 'none');
	jQuery('#homeRotate .overlay').css('opacity', '0.8');
	
	//adjust last Main Menu element
	var lmeparent = jQuery('#mainMenu').outerWidth();
	var lmesibs = 0;
	jQuery('#mainMenu li:last').siblings('li').each(function(){
		lmesibs += jQuery(this).outerWidth();													  
	});
	var lmenw = lmeparent - lmesibs;
	jQuery('#mainMenu li:last').css({'width': lmenw+'px', 'background': 'none'});
	jQuery('#mainMenu li:last a').css('width', lmenw+'px');
	
	//Footer length
	var viewarea = jQuery(document).height();	//document height
	var master = jQuery('#master').outerHeight();	//master/body height
	if(viewarea > master){
		footerFix(viewarea, master);	
	}
	
	//Menu
	jQuery('#mainMenu > li a:first').addClass('roundleft');
	jQuery('#mainMenu > li a:last').addClass('roundright');
	jQuery('#mainMenu > li').each(function(){
		var tmpid = jQuery(this).attr('id');
		jQuery('#'+tmpid).mouseover(function(){
			menuHide(tmpid, '30px');
			if(jQuery('#'+tmpid).siblings('li').children('a').hasClass('menuhover')){
				jQuery('#'+tmpid).siblings('li').children('a').removeClass('menuhover');
			}
			if(jQuery('#sub'+tmpid).is('ul')){
				jQuery('#'+tmpid+' a').addClass('menuhover');
			}
			jQuery(jQuery('#sub'+tmpid)).show().animate({ left: '180px' }, 600);
			submenuHide = false;
		});
	});
	jQuery('#cHeader').mouseleave(function(){
		menuHide(false, '30px');
		jQuery('#mainMenu li > a').removeClass('menuhover');
	});
	
	//Feature Rotation
	if(jQuery('#homeRotate').is(':visible')){
		loadXML('homerotation.php', homeRotation);
	}
});
//-------
jQuery(window).resize(function(){
	//Footer length
	var viewarea = jQuery(document).height();	//document height
	var master = jQuery('#master').outerHeight();	//master/body height
	if(viewarea > master){
		footerFix(viewarea, master);	
	}
});

//Interval Check
var check = setInterval(function(){
	//Footer length
	var viewarea = jQuery(document).height();	//document height
	var master = jQuery('#master').outerHeight();	//master/body height
	if(viewarea > master){
		footerFix(viewarea, master);	
	}							 
}, 1000);
