
//fix for Firebug's console.log statements causing js execution problems in other browser
//Refer: http://www.sitepoint.com/forums/showthread.php?t=575320#


jQuery.fn.updateSidebar = function(){
	/*
	 * console.log('sidebar2 '+$('#leftcolumn').height()); var innertube =
	 * $('#leftcolumn div.innertube'); var diff = 0; var innertube_allheight =
	 * 0; $.each(innertube, function(){ innertube_allheight += $(this).height();
	 * }); var diff = $('#maincontainer').height() - 140 - innertube_allheight;
	 * console.log(diff); $('#leftcolumn div.innertube div.third
	 * div.filler').height(diff); // alert($(document).height());
	 * $('#leftcolumn').height($('#leftcolumn').height() + diff);
	 */
	return this;
};

function updateFooter(){
	/**
	 * Footer positioning
	 */
	/*
	 * var ftr_diff = $(window).width() - $('#subfooter').width();
	 * console.log('footer positioning : doc width '+$(window).width());
	 * if($(document).width()<1060){ $('.ftr-filler').width(0); }else { if
	 * ($.browser.mozilla) { // For firefox console.log('mozilla browser
	 * '+ftr_diff+'/2'); $('.ftr-filler').width(ftr_diff / 2); }else { // For
	 * all other browsers like safari, chrome, msie, opera
	 * $('.ftr-filler').first().width(Math.floor(ftr_diff / 2));
	 * $('.ftr-filler').last().width(Math.round(ftr_diff / 2)); } }
	 */
	/*
	 * console.log($('#maincontainer-wrapper').height() - 162); //
	 * $('#footer').css('top', $('#maincontainer').height());
	 * $('#footer').css('bottom', 0);
	 */
	if($.browser.msie && $.browser.version == '6.0'){
		var ftr_diff = $(window).width() - $('#subfooter').width();
		$('.leftfiller, .rightfiller').width(ftr_diff / 2);
//		$('#maincontainer').height($('#maincontainer').height()+162);
	}
}

$(window).load(function() {
	updateFooter();
	if($.browser.msie && $.browser.version == '6.0'){
		$(document).updateSidebar();
	}
});

//Allows chainable logging
//Usage: $('#someDiv').hide().log('div hidden').addClass('someClass');
jQuery.log = jQuery.fn.log = function (msg) {
	if (console){
		console.log("%s: %o", msg, this);
	}
	return this;
};

$(document).ready(function(){
//    $('#contentcolumn').css('visibility', 'hidden');
//	$.preloadCssImages();
	$("#searchterm").focus(function() {
          $(this).val('');
    });
        
        $("#searchterm").blur(function() {
          if($(this).val()=='') { $(this).val('Search..'); }
    });
	/**
	 * Position the content w.r.t the menu - Start
	 */
	if ($('ul#menulinks li.selected').length) {
		var num_links = $('ul#menulinks li').length;
		var selected_menulink = -1;
		var content_margin = 0;
		$('ul#menulinks li').each(function(i){
			if ($(this).hasClass('selected')) 
				selected_menulink = i;
		});
		// console.log(selected_menulink);
		if (selected_menulink != -1) {
			selected_menulink += 1;
			if($.browser.msie && $.browser.version == '6.0')
				content_margin = selected_menulink * 21 - 1.75 * ($('ul#menulinks li').length - selected_menulink);  
			else
				content_margin = selected_menulink * 21;  
		}

		// if($('#maincontainer-wrapper').height() >
		// $('#maincontainer').height())
		// $('#maincontainer-wrapper').css('height',
		// $('#maincontainer-wrapper').height() + (-140 + content_margin+18));
		$('#contentcolumn').css('top', (-140 + content_margin + 18) + 'px');

	}

	/* Mouseover menu links add menulinkhovered */

	/*
	 * Piano Style
	 * 
	 * $('ul#menulinks li').hover(function(){ if (!$(this).hasClass('selected')) { //
	 * $(this).addClass('menulinkhovered'); if($(this).hasClass('mlone')) {
	 * $(this).css({'width':'20%','background-color':'#B945B2'}); }else
	 * if($(this).hasClass('mltwo')) {
	 * $(this).css({'width':'20%','background-color':'#FFA921'}); }else
	 * if($(this).hasClass('mlthree')) {
	 * $(this).css({'width':'20%','background-color':'#DACA1A'}); }else
	 * if($(this).hasClass('mlfour')) {
	 * $(this).css({'width':'20%','background-color':'#B5E23B'}); }else
	 * if($(this).hasClass('mlfive')) {
	 * $(this).css({'width':'20%','background-color':'#15D307'}); }else
	 * if($(this).hasClass('mlsix')) {
	 * $(this).css({'width':'20%','background-color':'#0B9600'}); } }
	 * 
	 * $(this).stop(true, true).animate({ width: "100%" }, 500); }, function(){
	 * if (!$(this).hasClass('selected')) { $(this).stop(true, true).animate({
	 * width: "20%" }, 500, "linear", function() {
	 * $(this).css({'background-color':''}); }); }
	 * 
	 * 
	 * 
	 * });
	 */

	/* Dissolving Style */

	$('ul#menulinks li').click(function(){
		if (!$(this).hasClass('selected')) {
			var menuhover = $(this).children('.menuhover');
			menuhover.show();
		}
	});
	$('ul#menulinks li').hover(function(){
		if (!$(this).hasClass('selected')) {
			$(this).addClass('menulinkhovered');
			var menuhover = $(this).children('.menuhover');
			var navq = menuhover.queue();
			menuhover.show();
			// $(this).children('.menuhover').css({'display':'block'});
		}

	}, function(){
		if (!$(this).hasClass('selected')) {
			$(this).removeClass('menulinkhovered');
			var menuhover = $(this).children('.menuhover');
			var navq = menuhover.queue();
			//$(this).children('.menuhover').fadeOut('200');
			menuhover.fadeOut('200');
			console.log(navq.length);
		}

	});  



	$('ul#menuindicators li').hover(function(){
		var hoverednum = $('ul#menuindicators li').index(this) + 1;
		// console.log($('ul#menulinks
		// li:nth-child('+hoverednum+')').length);
		var menulinkhovered = $('ul#menulinks li:nth-child(' + hoverednum + ')');
		if (!menulinkhovered.hasClass('selected')) 
			// menulinkhovered.addClass('menulinkhovered');
			menulinkhovered.children('.menuhover').css({'display':'block'});
		/*
		 * menulinkhovered.animate({ 'background-position': '+940px 0' }, 1000,
		 * 'linear', function(){ $('ul#menulinks li').css({
		 * 'background-position': '' }); });
		 */
	}, function(){
		$('ul#menulinks li').removeClass('menulinkhovered');
		$(' .menuhover').fadeOut('400');
	});

	/**
	 * On click the li elements in the menu, navigate to that page
	 */
	$('ul#menulinks li').click(function(){
		if (!$(this).hasClass('selected')) 
			window.location = $(this).children('a').attr('href');
	});
	$('ul#menuindicators li').click(function(){
		var hoverednum = $('ul#menuindicators li').index(this) + 1;
		var link = $('ul#menulinks li:nth-child(' + hoverednum + ') a').eq(0);
		if (!link.hasClass('selected')) 
			window.location = link.attr('href');

	});

	/**
	 * On mouseover control links at the bottom of the content
	 */
	$('#contentcolumn-controls a.control-link1 img').hover(function(){
		$(this).attr('src', $(this).attr('mouseoverimg'));
	}, function(){
		$(this).attr('src', $(this).attr('mouseoutimg'));
	});

	/**
	 * On mouseover sidebar elements
	 */
	$('#leftcolumn .innertube').hover(function(){
		$(this).addClass('hovered');
	}, function(){
		$(this).removeClass('hovered');
	});
});

$(window).resize(function() {
	
	updateFooter();
});



jQuery.preloadCssImages = function(){
	var allImgs = [];// new array for all the image urls
	var k = 0; // iterator for adding images
	var sheets = document.styleSheets;// array of stylesheets
	for(var i = 0; i<sheets .length; i++){// loop through each stylesheet
		var cssPile = '';// create large string of all css rules in
		// sheet
		var csshref = (sheets[i].href) ? sheets[i].href : 'window.location.href';
		var baseURLarr = csshref.split('/');// split href at / to make
		// array
		baseURLarr.pop();// remove file path from baseURL array
		var baseURL = baseURLarr.join('/');// create base url for the
		// images in this sheet (css
		// file's dir)
		if(baseURL!="") baseURL+='/'; // tack on a / if needed
		if(document.styleSheets[i].cssRules){// w3
			var thisSheetRules = document.styleSheets[i].cssRules; // w3
			for(var j = 0; j<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[j].cssText;
			}
		}
		else {
			cssPile+= document.styleSheets[i].cssText;
		}
		// parse cssPile for image urls and load them into the DOM
		var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);// reg
		// ex
		// to
		// get
		// a
		// string
		// of
		// between
		// a
		// "("
		// and
		// a
		// ".filename"
		if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){// loop
			// array
			var arr = jQuery.makeArray(imgUrls);// create array from
			// regex obj
			jQuery(arr).each(function(){
				allImgs[k] = new Image(); // new img obj
				allImgs[k].src = (this[0] == '/' || this.match('http://')) ? this : baseURL + this;     // set
				// src
				// either
				// absolute
				// or
				// rel
				// to
				// css
				// dir
				k++;
			});
		}
	}// loop
	return allImgs;
} 






