
var isIE = (/MSIE/.test(navigator.userAgent));
var pageStyleRule = null;

/*******************************************************/
/*************  BEHAVIOUR BASED CODE FOR   *************/
/*************  SPECIAL BD FUNCTIONALITY  **************/
/*******************************************************/

	var businessDirectoryRules = {
			'div.businessDirectoryCategoryLocationFirstLine A' : function(element){
				if(element.className.indexOf('Plain') > -1){
					element.onclick = showNoMIPMessage;					
				}else if(element.href.indexOf('moreInfo') > -1){
					element.onclick = function(){var _win = window.open(element.href, getSecondWindowPrefix() + 'mipWindow', 'height=600,width=800,scrollbars=1,resizable=1');_win.focus();return false;};
				}
				
				var bdclfl = element.parentNode;
				var omshElements = document.getSubElementsByClassName(bdclfl, 'onMapSymbolHolder');
				var omsh = (omshElements.length > 0) ? omshElements[0] : null;
				var mihElements = document.getSubElementsByClassName(bdclfl, 'mapIndicatorHolder');
				var mih = (mihElements.length > 0) ? mihElements[0] : null;
				
				if(omsh != null && mih != null){
					omsh = omsh.getElementsByTagName('A')[0];
					var pageStyleRule = document.getStyleSheetRule('business.css', '.'+omsh.className.replace('Background', ''));
										
					omsh.onmouseover = function(e){
						if(e == null){e = window.event;}
						showMapClickMessage(e);
						omsh.parentNode.className = 'onMapSymbolHolderHighlight';
						if(pageStyleRule != null){omsh.parentNode.style.borderColor = pageStyleRule.style.color;}
					};
					omsh.onmouseout = function(e){
						if(e == null){e = window.event;}
						hideMapClickMessage(e);
						omsh.parentNode.className = 'onMapSymbolHolder';
					};
					
					
					mih.onmouseover = function(){
						omsh.parentNode.className = 'onMapSymbolHolderHighlight';
						if(pageStyleRule != null){omsh.parentNode.style.borderColor = pageStyleRule.style.color;}
					};
					mih.onmouseout = function(){omsh.parentNode.className = 'onMapSymbolHolder';};
					mih.onclick = function(){if(isIE){omsh.click();}};
					
					
				}				
			},
			
			'#pageHeader': function(container){
				document.getElementById('categoryEditorialMasterContainer').style.display = 'block';
			}
		};


	Behaviour.register(businessDirectoryRules);

	// onclick="window.top.header.processNavigationRequest('/businessAdvertisement/businessAdvertisement.aspx?businessLocationID=20199');"



/*******************************************************/
/***********  DEFAULT CATEGORY LOADING CODE  ***********/
/*******************************************************/

	function selectDefaultCategory(){
		if(document.URL.indexOf('categoryID=') > -1){
			var paramOffset = document.URL.indexOf('categoryID=') + 12;
			var categoryID = document.URL.substring(paramOffset, document.URL.length);
			
			if(categoryID.indexOf('&') > -1){
				//This contains more parameters than just the catgoryID, substring up to the first &
				categoryID = categoryID.substring(0, categoryID.indexOf('&'));}					
			
			var linkCol = document.getElementsByName("categoryLink");
			
			for(var i = 0; i < linkCol.length; i++){
				if(linkCol[i].href.indexOf(categoryID) > -1){
					//Click the requested category bar, parentElement of the category bar is an Anchor with the link
					var image = linkCol[i].getElementByTagName('IMG')[0]
					turnImageOn(image);
					break;}
			}						
		}			
	}
	
	function deselectAllCategories(){
		var imageCol = document.getElementsByName("categoryImage");
		for(var i = 0; i < imageCol.length; i++){turnImageOff(imageCol[i]);}		
	}
		
	
	function showNoMIPMessage(e){
		var left, top;
		if(e == undefined || e == null){
			e = window.event;
			e.cancelBubble = true;
			left = parseInt(e.clientX)+'px';
			top = parseInt(e.clientY)+'px';
		}else{
			e.preventDefault();
			left = parseInt(e.pageX)+'px';
			top = parseInt(e.pageY)+'px';}
		
		$('noMIPMessageContainer').style.display = 'block';
		$('noMIPMessageContainer').style.top = top;
		$('noMIPMessageContainer').style.left = left;
		
		window.setTimeout(function(){$('noMIPMessageContainer').style.display='none';}, 2000);
		
		return false;
	}
	
	


	//var hideTimer = null;
	function showMapClickMessage(e){	
		var topOffset = (isIE) ? parseInt(document.body.scrollTop) : parseInt(document.documentElement.scrollTop);
		var mapClickMessage = document.getElementById('mapClickMessage');
		mapClickMessage.style.display = 'block';
		mapClickMessage.style.left = (parseInt(e.clientX) + 10) + 'px';
		mapClickMessage.style.top = topOffset + (parseInt(e.clientY) + 10) + 'px';
		
		//if(hideTimer == null){
			//hideTimer = window.setTimeout(hideMapClickMessage.bind(this), 4000);}
	}
	
	function hideMapClickMessage(e){
		
		var mapClickMessage = document.getElementById('mapClickMessage');
		mapClickMessage.style.display = 'none';
		//hideTimer = null;
	}
	



function getSecondWindowPrefix(){
	var host = document.location.hostname;

	switch(host){
		case 'cfl-inhouse.welcomeguide-map.com':
		case 'cfl-freelance.welcomeguide-map.com':
		case 'cfl-dev.welcomeguide-map.com':
		case 'cfl-stage1.welcomeguide-map.com':
		case 'cfl-stage2.welcomeguide-map.com':
		case 'centralflorida.welcomeguidemap.com':
			return 'cfl_';
		case 'tbb-inhouse.welcomeguide-map.com':
		case 'tbb-freelance.welcomeguide-map.com':
		case 'tbb-dev.welcomeguide-map.com':
		case 'tbb-stage1.welcomeguide-map.com':
		case 'tbb-stage2.welcomeguide-map.com':
		case 'tampabaybeaches.welcomeguidemap.com':
			return 'tbb_';
		case 'sar-inhouse.welcomeguide-map.com':
		case 'sar-freelance.welcomeguide-map.com':
		case 'sar-dev.welcomeguide-map.com':
		case 'sar-stage1.welcomeguide-map.com':
		case 'sar-stage2.welcomeguide-map.com':
		case 'sarasota.welcomeguidemap.com':
			return 'sar_';
		case 'swf-inhouse.welcomeguide-map.com':
		case 'swf-freelance.welcomeguide-map.com':
		case 'swf-dev.welcomeguide-map.com':
		case 'swf-stage1.welcomeguide-map.com':
		case 'swf-stage2.welcomeguide-map.com':
		case 'southwestflorida.welcomeguidemap.com':
			return 'swf_';
		case 'dsp-inhouse.discoverguidemap.com':
		case 'dsp-freelance.discoverguidemap.com':
		case 'dsp-dev.discoverguidemap.com':
		case 'dsp-stage1.discoverguidemap.com':
		case 'dsp-stage2.discoverguidemap.com':
		case 'www.discoverdowntown.com':
			return 'dsp_';
		case 'dit-inhouse.discoverguidemap.com':
		case 'dit-freelance.discoverguidemap.com':
		case 'dit-dev.discoverguidemap.com':
		case 'dit-stage1.discoverguidemap.com':
		case 'dit-stage2.discoverguidemap.com':
		case 'www.discoverintown.com':
			return 'dit_';
	}
}


