var tabs = [], tabContainers = [];
var boolSmallMode = false, boolMediumMode = false, boolLargeMode = false;
var strProductTabsContainerSelector = "#product-tabs";
var strDefaultSearchText = "SEARCH LEGRAND";

jQuery(document).ready(function() {
	var strSearchInputSelector = "#search .entry";
	var strCurrentSearch = jQuery(strSearchInputSelector).val();
	if(strCurrentSearch == "") {
		jQuery(strSearchInputSelector).val(strDefaultSearchText);
	}
	
	jQuery(strSearchInputSelector).focus(function() {
		strCurrentSearch = jQuery(strSearchInputSelector).val();
		if(strCurrentSearch == strDefaultSearchText) {
			jQuery(this).val("");
		}
	}).blur(function() {
		strCurrentSearch = jQuery(strSearchInputSelector).val();
		if(strCurrentSearch == "") {
			jQuery(this).val(strDefaultSearchText);
		}
	});;
});

// Change the page layout size based upon the current browser width and update it when screen resizes.
// called upon initial page load and when page resizes.
function content_resize() { 
	var wSize = innerWindowDimensions();
	var intWindowWidth = wSize.width;
	var intLargeWindowCutoff = 1400;	
	var intMediumWindowCutoff;
	//intMediumWindowCutoff = 1016;
	intMediumWindowCutoff = 995;
	
	if(intWindowWidth >= intLargeWindowCutoff) {
		boolSmallMode = false;
		boolMediumMode = false;
		boolLargeMode = true;
		if ( !jQuery('body').hasClass('large') ){
			jQuery('body').removeClass('small medium large').addClass('large');
		}
	} else if(intWindowWidth >= intMediumWindowCutoff) {
		boolSmallMode = false;
		boolMediumMode = true;
		boolLargeMode = false;
		if ( !jQuery('body').hasClass('medium') ){
			jQuery('body').removeClass('small medium large').addClass('medium');
		}
	}else{
		boolSmallMode = true;
		boolMediumMode = false;
		boolLargeMode = false;
		if ( !jQuery('body').hasClass('small') ){
			jQuery('body').removeClass('small medium large').addClass('small');
		}
	}
	
	fRearrangePageContent();
	fForceScrollHomeFilmstrip();
	
/*	if (resetHeight)
	resetHeight('feature-layout-large-1');
    if (boxLayoutSize)
	boxLayoutSize('feature-layout-large-1',0,0);
*/
};

//	Return a css pixel value (eg. 44px) converted to an integer
function fCssPixelToInt(strCssVal) {
	return Number(strCssVal.replace("px", ""));
}

/*
	Rearrange content specific to certain web pages depending on whether the user is viewing the site in small, medium or large mode.
*/
function fRearrangePageContent() {
	fRearrangeProductTabs();
	fRearrangeProblemSolution();
}

function fRearrangeProblemSolution() {
	if(boolLargeMode || boolMediumMode) {
		jQuery("#prob-sol").insertAfter("#sidebar");
	} else if(boolSmallMode) {
		jQuery("#sidebar").insertAfter("#prob-sol");
	}
}

function fRearrangeProductTabs() {
//alert("jQuery(strProductTabsContainerSelector).length = " + jQuery(strProductTabsContainerSelector).length + "\n");
	if(boolLargeMode) {
		if(jQuery(strProductTabsContainerSelector).length > 0){
			if(tabs[0]!=jQuery('#tab-overview a').get(0) && tabs.length > 0){
				tabs.splice(0,0,jQuery('#tab-overview a').get(0));
				tabContainers.splice(0,0,jQuery('#overview').get(0));
			}
			jQuery('#tab-overview').show().remove().prependTo(strProductTabsContainerSelector + " #tabs");
			jQuery('#overview').remove().insertAfter(strProductTabsContainerSelector + " #tabs");
			resetTabs();
			jQuery('#solutions').remove().appendTo('#gallery-col');
		}
	} else if(boolMediumMode) {
		if(jQuery(strProductTabsContainerSelector).length > 0){
			if(tabs[0]!=jQuery('#tab-overview a').get(0) && tabs.length > 0){
				tabs.splice(0,0,jQuery('#tab-overview a').get(0));
				tabContainers.splice(0,0,jQuery('#overview').get(0));
			}
			jQuery('#tab-overview').show().remove().prependTo(strProductTabsContainerSelector + " #tabs");
			jQuery('#overview').remove().insertAfter(strProductTabsContainerSelector + " #tabs");
			resetTabs();
			jQuery('#solutions').remove().appendTo('#gallery-col');
		}
	} else if(boolSmallMode) {
		if(jQuery(strProductTabsContainerSelector).length > 0){
			if(tabs[0]==jQuery('#tab-overview a').get(0)){
				tabs.splice(0,1);
				tabContainers.splice(0,1);
			}
			jQuery('#tab-overview').removeClass('active').hide().remove().appendTo('#container');
			jQuery('#overview').remove().prependTo('#gallery-col').show();
			resetTabs();
			jQuery('#solutions').remove().prependTo('#item-cols');
		}
	}
}

//	Accommodates for a Firefox bug when resizing the window to a smaller size on the homepage.
function fForceScrollHomeFilmstrip() {
	var strTabListClass = "tabs";
	var strTabListSelector = "ul." + strTabListClass;
	var strActiveItemSelector = strTabListSelector + " li.selected";
	var strScrollContainerSelector = "div.scroll-Container";
	if(jQuery(strActiveItemSelector).get(0)) {
		//if next item is 5 scroll it into view
		var strCurrentID = jQuery(strActiveItemSelector).find('a.tab-button').attr('id');
//alert("strCurrentID = " + strCurrentID + "\n");
		if(strCurrentID == "five" || strCurrentID == "six" || strCurrentID == "seven" || strCurrentID == "eight") {
			//jQuery(strScrollContainerSelector).stop().scrollTo('#five', duration, ease);
			jQuery(strScrollContainerSelector).stop().scrollTo("#five");
		} else {
			jQuery(strScrollContainerSelector).stop().scrollTo("#one");
		}
	}else{
		//jQuery(strScrollContainerSelector).stop().scrollTo('#one', duration, ease);
		jQuery(strScrollContainerSelector).stop().scrollTo("#one");
	}
}

var innerWindowDimensions = function(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    return {width: w, height: h};
}

function resetTabs(){
	if(jQuery('#tabs li.active').length > 0){
		jQuery(strProductTabsContainerSelector + " div.tab-cont").hide();
		var jQueryactive = jQuery('#tabs li.active');
		var jQueryhash = jQueryactive.find('a').attr('href').slice( jQueryactive.find('a').attr('href').indexOf('#') );
		jQuery(jQueryhash).show();
		jQuery(strProductTabsContainerSelector + " #tabs li").removeClass('active');
		jQueryactive.addClass('active');
	}else{
		jQuery(strProductTabsContainerSelector + " div.tab-cont").hide();
		jQuery(strProductTabsContainerSelector + " div.tab-cont:first").show();
		jQuery(strProductTabsContainerSelector + " #tabs li").removeClass('active').filter(':first').addClass('active');
	}
	jQuery(strProductTabsContainerSelector + " #tab-overview a").click(function () {
		jQuery(strProductTabsContainerSelector + " div.tab-cont").hide().filter(this.hash).show();
		jQuery(strProductTabsContainerSelector + " #tabs li").removeClass('active');
		jQuery(this).parent().addClass('active');
		return false;
	});	
}