// Bam Strategy ©2009
// By Simon-Pierre Alepin
// simon@bamstrategy.com / spalepin@gmail.com
// Last modification: 2009/12/10
// v 0.5

var id_menu_content_list = new Array("#menu_useful_information_content", "#menu_useful_your_babys_age_content", "#menu_your_babys_age_content", "#menu_triple_tested_products_content", '#menu_your_babys_age', '#menu_your_babys_age_content', '#menu_categories', '#menu_categories_content', '#menu_useful_your_babys_age');
var class_link_list      = new Array('menu-useful-information', 'menu-helpful-tools', 'menu-triple-tested-products');

var menu_status = new Object();
//Collapsed or Expanded
menu_status['#menu_categories_content']    = false;
menu_status['#menu_categories']            = false;
menu_status['#menu_your_babys_age']        = false;
menu_status['#menu_useful_information']    = false;
menu_status['#menu_useful_your_babys_age'] = false;
menu_status['#menu_helpful_tools']         = false;

$(document).ready(function()
{	
	//hideContentDiv();
	$('#menu_useful_information a').addClass('menu-useful-information');
	$('#menu_helpful_tools a').addClass('menu-helpful-tools');
	$('#menu_triple_tested_products a').addClass('menu-triple-tested-products');
	$('#menu_categories a').addClass('menu-sub-categories');	
	$('#menu_your_babys_age a').addClass('menu-sub-your-babys-age');
	$('#menu_useful_your_babys_age a').addClass('menu-useful-your-babys-age');

	$('#menu_useful_information').click(function()
	{
		doUsefulYourBabysAgeClickAni();
	});	
	
	$('#menu_helpful_tools').click(function()
	{
		doHelpfulToolsClickAni();
	});		
	
	//Triple Tested products / Show sub menus
	$('#menu_triple_tested_products').click(function()
	{
		doTripleTestedClickAni();
	});		
	
	$('#menu_categories').click(function()
	{
		doCategoriesClickAni();
	});	
	
	$('#menu_your_babys_age').click(function()
	{
		doYourBabysAgeClickAni();	
	});	
	
	$('#menu_useful_your_babys_age').click(function()
	{
		if(menu_status['#menu_useful_your_babys_age'] == false)
		{			
			menu_status['#menu_useful_your_babys_age'] = true;
			switchClassON($('#menu_useful_your_babys_age a'));
		}else{
			menu_status['#menu_useful_your_babys_age'] = false;
			switchClassOFF($('#menu_useful_your_babys_age a'));		
		}
		slideToggle($('#menu_useful_your_babys_age_content'));		
	});		
	
	//getCategoryLinks();
	autoExpandLeftMenu()
	
});

function doUsefulYourBabysAgeClickAni()
{
		if(menu_status['#menu_useful_information'] == false)
		{		
			switchClassON($('#menu_useful_information a'));
			menu_status['#menu_useful_information'] = true;
			showMenu($('#menu_useful_your_babys_age'));
			$('#menu_useful_see_all_topics').show();
		}else{
			switchClassOFF($('#menu_useful_information a'));
			menu_status['#menu_useful_information'] = false;
			hideMenu($('#menu_useful_your_babys_age'));
			hideMenu($('#menu_useful_your_babys_age_content'));
			hideMenu($('#menu_useful_see_all_topics'));
		}
		slideToggle($('#menu_useful_information_content'));
}

function doUsefulYourBabysAgeClick()
{
		if(menu_status['#menu_useful_information'] == false)
		{		
			switchClassON($('#menu_useful_information a'));
			menu_status['#menu_useful_information'] = true;
			$('#menu_useful_your_babys_age').show();
			$('#menu_useful_your_babys_age_content').show();
			$('#menu_useful_see_all_topics').show();
		}
}

/* HELPFUL TOOLS */
function doHelpfulToolsClickAni()
{
		if(menu_status['#menu_helpful_tools'] == false)
		{		
			switchClassON($('#menu_helpful_tools a'));
			menu_status['#menu_helpful_tools'] = true;
			//showMenu($('#menu_helpful_tools_content'));
			//$('#menu_helpful_tools_content').show();
		}else{
			switchClassOFF($('#menu_helpful_tools a'));
			menu_status['#menu_helpful_tools'] = false;
			//hideMenu($('#menu_useful_your_babys_age'));
			//hideMenu($('#menu_useful_your_babys_age_content'));
			//hideMenu($('#menu_useful_see_all_topics'));
		}
		slideToggle($('#menu_helpful_tools_content'));
}

function doHelpfulToolsClick()
{
		if(menu_status['#menu_helpful_tools'] == false)
		{		
			switchClassON($('#menu_helpful_tools a'));
			menu_status['#menu_helpful_tools'] = true;
			$('#menu_helpful_tools').show();
			$('#menu_helpful_tools_content').show();
			//$('#menu_useful_see_all_topics').show();
		}
}


function doTripleTestedClickAni()
{
	if(menu_status['#menu_categories_content'] == false)
	{
		switchClassON($('#menu_triple_tested_products a'));
		menu_status['#menu_categories_content'] = true;
		showMenu($('#menu_categories'));
		showMenu($('#menu_your_babys_age'));
	}else{
		switchClassOFF($('#menu_triple_tested_products a'));
		menu_status['#menu_categories_content'] = false;
		hideMenu($('#menu_categories'));
		hideMenu($('#menu_your_babys_age'));		
		$('#menu_categories_content').hide()
		$('#menu_your_babys_age_content').hide()
	}
}

function doTripleTestedClick()
{
	if(menu_status['#menu_categories_content'] == false)
	{
		switchClassON($('#menu_triple_tested_products a'));
		menu_status['#menu_categories_content'] = true;
		$('#menu_categories').show();
		$('#menu_your_babys_age').show();
	}
}

function doCategoriesClick()
{
	if(menu_status['#menu_categories'] == false)
	{		
		menu_status['#menu_categories'] = true;
		switchClassON($('#menu_categories a'));
	}
	$('#menu_categories_content').show();
}

function doCategoriesClickAni()
{
	if(menu_status['#menu_categories'] == false)
	{		
		menu_status['#menu_categories'] = true;
		switchClassON($('#menu_categories a'));
	}else{
		menu_status['#menu_categories'] = false;
		switchClassOFF($('#menu_categories a'));		
	}
	slideToggle($('#menu_categories_content'));
}

function doYourBabysAgeClickAni()
{
	if(menu_status['#menu_your_babys_age'] == false)
	{			
		menu_status['#menu_your_babys_age'] = true;
		switchClassON($('#menu_your_babys_age a'));
	}else{
		menu_status['#menu_your_babys_age'] = false;
		switchClassOFF($('#menu_your_babys_age a'));		
	}
	slideToggle($('#menu_your_babys_age_content'));	
}

function doYourBabysAgeClick()
{
	if(menu_status['#menu_your_babys_age'] == false)
	{			
		menu_status['#menu_your_babys_age'] = true;
		switchClassON($('#menu_your_babys_age a'));
	}
	$('#menu_your_babys_age_content').show();
}

function setMouseOver()
{
	$('#menu_triple_tested_products a').mouseover(function()
	{
		switchClassON($('#menu_triple_tested_products a'));
	});		
}

function setMouseOut()
{
	$('#menu_triple_tested_products a').mouseleave(function()
	{
		switchClassOFF($('#menu_triple_tested_products a'));
	});
}

function hideContentDiv()
{
	var len = id_menu_content_list.length;
	for(var i=0;i<len;i++)
	{		
		$(id_menu_content_list[i]).hide();
	}
}

function addClassDiv()
{
	var len = class_link_list.length;
	for(var i=0;i<len;i++)
	{		
		$(id_menu_content_list[i]+' a').addClass(class_link_list[i]);
	}
}

function showMenu(e)
{
	if (e.is(":hidden")) 
	{
		e.slideDown('fast');
	}
}

function hideMenu(e)
{
	if (!e.is(":hidden")) 
	{
		e.slideUp('fast', function(){e.hide()});
	}
}

function slideToggle(e)
{
	var display = e.css('display');
	if(display == 'block')
	{
		e.slideUp('fast');
	}else{
		e.slideDown('fast');
	}
}


/*****************************/
function switchClassToggle(e)
{
	var $classNameAdd = '';
	var $classNameRemove = '';
	var $classNameCurrent = e.attr('class');
	if($classNameCurrent.indexOf('_on') != -1)
	{
		switchClassOFF(e)
	}else{
		switchClassON(e)				
	}
}

function switchClassON(e)
{
	var $classNameCurrent = e.attr('class'); 
	e.removeClass($classNameCurrent);
	e.addClass($classNameCurrent+'_on');	 
}

function switchClassOFF(e)
{
	var $classNameCurrent = e.attr('class'); 
	var $split             = $classNameCurrent.split('_on', 1);	
	e.removeClass($classNameCurrent);
	e.addClass($split[0]);
}


function setCategoryHover(url)
{
	$('#menu_categories_content a').each(function()
	{
		//alert('href:'+this.href+' '+url);
		if(cleanUrlHtaccessTabSelect(this.href) == cleanUrlHtaccessTabSelect(url))
		{
			doTripleTestedClick();
			doCategoriesClick();
			this.className = '';
			this.className = 'sub_categories_hover_on';
		}else
		{
			this.className = '';
			this.className = 'sub_categories_hover_off';			
			this.onmouseover = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_on';				
			}
			
			this.onmouseout = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_off';				
			}			
			
		}
	}
	);	
}

function setYourBabysAgeHover(url)
{
	$('#menu_your_babys_age_content a').each(function()
	{		
		if(cleanUrlHtaccessTabSelect(this.href) == cleanUrlHtaccessTabSelect(url))
		{
			doTripleTestedClick();
			doYourBabysAgeClick();
			this.className = '';
			this.className = 'sub_categories_hover_on';
		}else
		{
			this.className = '';
			this.className = 'sub_categories_hover_off';			
			this.onmouseover = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_on';				
			}
			
			this.onmouseout = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_off';				
			}			
			
		}
	}
	);	
}

function setUsefulYourBabysAgeHover(url)
{
	$('#menu_useful_your_babys_age_content a').each(function()
	{		
		if(cleanUrlHtaccessTabSelect(this.href) == cleanUrlHtaccessTabSelect(url))
		{
			doUsefulYourBabysAgeClick();
			
			this.className = '';
			this.className = 'sub_categories_hover_on';
			//alert(this.href +'  '+this.className);
		}else
		{
			this.className = '';
			this.className = 'sub_categories_hover_off';			
			this.onmouseover = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_on';				
			}
			
			this.onmouseout = function()
			{
				this.className = '';
				this.className = 'sub_categories_hover_off';				
			}			
			
		}
	}
	);	
}

function setHelpfulToolHover(url)
{
	var links = new Array();
	url = url.replace('http://hb-dev.bamstrategy.com', '');
	url = url.replace('http://hb-stage.bamstrategy.com', '');
	url = url.replace('http://heinzbaby.com', '');
	url = url.replace('http://www.heinzbaby.com', '');	
	links[0]  = '/fr_ca/babyclub/helpful_tools/';
	links[1]  = '/fr_ca/babyclub/menu_planner/menu_planner.php';
	links[2]  = '/fr_ca/babyclub/food_journal/foodjournal.php';

	
	if( url == links[0] || url == links[1] || url == links[2] )
	{
		//$('#menu_helpful_tools a:first').removeClass('menu-helpful-tools');
		//$('#menu_helpful_tools a:first').addClass('menu-helpful-tools_on');	
		doHelpfulToolsClick();
	}

}

function setSeeAllTopics( url )
{
	if( $( '#menu_useful_see_all_topics a:first' ).attr('href') == url )
	{
	}
}

function cleanUrlHtaccessTabSelect( url )
{
	var splited = url.split('/')
	return splited[0]+'/'+splited[1]+'/'+splited[2]+'/'+splited[3]+'/'+splited[4]+'/'+splited[5]+'/';
	/*var tabId       = url.substring( ( url.length - 2 ), ( url.length - 1 ) )
	var regExpDigit = /^[0-9]*$/;
	if( regExpDigit.test( tabId ) )
	{
		return url.replace( tabId + '/', '' );
	}
	else
	{
		return url;
	}*/
}

function autoExpandLeftMenu()
{
	//var url = getCurrentLocationPath(window.location.href);
	var url = window.location.href;
	//alert(url.substring( ( url.length - 2 ), url.length ) );
	//url = cleanUrlHtaccessTabSelect( url );
	//var url = "http://localhost/en_ca/categories/stages/allCategoryStages.php?categoryId=baby_food";
	setCategoryHover(url);
	setYourBabysAgeHover(url);
	setUsefulYourBabysAgeHover(url);
	setHelpfulToolHover(url);
	//setSeeAllTopics( url );
}

function getCategoryLinks()
{
	$('#menu_categories_content a').each(function()
	{
		alert('a :'+this.href);
	}
	);
}

function getCurrentLocationPath(url)
{
	if(url != null)
	{
		url = url.toString();
		var domain = url.match(/:\/\/(.[^/]+)/)[1];
		var locationPath = url.replace('http://www.'+domain, '');
		locationPath = locationPath.replace('https://www.'+domain, '');
		locationPath = locationPath.replace('http://'+domain, '');
		locationPath = locationPath.replace('https://'+domain, '');
		return locationPath;
	}
}