var LeftNavFx;

window.addEvent('domready',function(){
	
	
	var itemArrows = $$('#left_column .item_box .item .item_arrow'),
		loadedContent = [],
		selCat = $('currentCategorySelection'),
		selSubCat = $('currentSubCategorySelection'),
		itemPath = '#left_column .item_box .item .item_text ';
		itemLinks = $$(itemPath + '.expert',
					   itemPath + '.channel',
					   itemPath + '.category',
					   itemPath + '.subcategory',
					   itemPath + '.tools_surveys',
					   itemPath + '.subtools_surveys',
					   itemPath + '.health_conditions_link',
					   itemPath + '.tools_petition',
					   itemPath + '.tools_tstd_quiz'),
		url = location.href,
		talkBoxBtn = $('talkbox_button');
		//leftNavEnhanceBtn = $('nav_enhance_btn'),
		//topNavEnhanceBtn = $('topEnhanceBtn');

	if(!$defined($('left_column')))	
		return 0;
		
	if(url.indexOf('localhost') >= 0) {
		var local = url.indexOf("localhost:") + 14;
		var currentUrl = url.substring(local);		
	} else {
		var local = url.indexOf(".com") + 4;
		var currentUrl = url.substring(local);		
	}
	
	if(itemArrows)
	itemArrows.addEvents({
		'mouseenter':function(){
			var state = this.hasClass('item_arrow_closed') ? 'closed':'opened';
			this.addClass('item_arrow_'+state+'_hovered');
		},
		'mouseleave':function(){
			var state = this.hasClass('item_arrow_closed') ? 'closed':'opened';
			this.removeClass('item_arrow_'+state+'_hovered');
		},
		'click':function(){
			this.fireEvent('mouseleave');
			if(this.hasClass('item_arrow_closed')) {
				this.removeClass('item_arrow_closed');
				this.addClass('item_arrow_opened');
				this.getParent('li.item').getElement('ul.sub_item_box').removeClass('hide');
			} else {
				this.removeClass('item_arrow_opened');
				this.addClass('item_arrow_closed');
				this.getParent('li.item').getElement('ul.sub_item_box').addClass('hide');				
			}
		}
	});

	var talkBoxState = 0, currentId;
	var activatePopup = function() {
		if(itemLinks) {
			itemLinks.addEvents({
				'mouseenter':function(){
					var item = this,
						type = this.get('class').split(' ')[1],
						id = this.get('id').split('_'),
						talkSize = 'M';
					id = id[id.length - 1];
					currentId = id;
					if(talkBoxState > 0)
						$('talkbox_holder').setStyle('opacity',0);
					talkBoxState = id;
					if(this.hasClass('sizeL')) {
						talkSize = 'L';
					}
					if(loadedContent[type+'_'+id]) {
						if(talkBoxState == id) {
							$('talkbox_mid').set('html',loadedContent[type+'_'+id]);
							showTalkBox(item,talkSize);			
						}
					} else {
						var myRequest = new Request({
							url:'/ajax/leftcolumn',
							onSuccess:function(response) {
								if(talkBoxState == id) {
									$('talkbox_holder').setStyle('opacity',0);
									$('talkbox_mid').set('html',response);
									loadedContent[type+'_'+id] = response;
									(function(){showTalkBox(item,talkSize);}).delay(10);
								}
							}
						}).send('type='+type+'&id='+id);
					}
				},
				'mouseleave':function(){
					talkBoxState = 0;
					hideTalkBox();
				}
			});
		}
	}
//	if(!Cookie.read('leftNavFx'))
		activatePopup();
			
	var showTalkBox = function(item, size) {
		var talkBox = $('talkbox_holder');
		if(size == 'L') {
			switchTalkBox('large');
		} else {
			switchTalkBox('normal');
		}
		if(talkBoxState == 0 || talkBoxState != currentId) {
			talkBox.setStyle('opacity',0);
			return 0;
		}
		var itemPos = item.getCoordinates(),
			tbPos = talkBox.getCoordinates(),
			leftColPos = $('left_column').getCoordinates(),
			topVal = itemPos.top - tbPos.height + 15,
			leftVal = itemPos.width + leftColPos.left + 20,
			winTop = window.getScrollTop();
		if(topVal < winTop) {
			if(size == 'L') {
				switchTalkBox('large_flipped');
			} else {
				switchTalkBox('flipped');
			}
			topVal = itemPos.top - 35;
			leftVal += 20;
		}
		if(item.getParent('ul.sub_item_box'))
			leftVal += 30;
		talkBox.setStyles({
			top:topVal+'px',
			left:leftVal+'px',
			opacity:0
		});
		talkBox.morph({opacity:1});
	},
		hideTalkBox = function() {
			var talkBox = $('talkbox_holder');
			//talkBox.setStyles({'opacity':0,'top':'-500px'});
			talkBox.morph({opacity:0});
		},
		switchTalkBox = function(type) {
			if(type == 'large' || type == 'large_flipped') {
				$('talkbox_holder').addClass('talkBoxLarge');
			} else {
				$('talkbox_holder').removeClass('talkBoxLarge');				
			}
			var talkBoxEl = $('talkbox_holder').getElements('div.talkbox_part');
			if(type == 'flipped' || type == 'large_flipped') {
				talkBoxEl[0].set('id','talkbox_top_flipped');
				talkBoxEl[2].set('id','talkbox_btm_flipped');
				talkBoxEl[1].removeClass('talkbox_mid').addClass('talkbox_mid_flipped');
			} else {
				talkBoxEl[0].set('id','talkbox_top');
				talkBoxEl[2].set('id','talkbox_btm');				
				talkBoxEl[1].removeClass('talkbox_mid_flipped').addClass('talkbox_mid');
			}
		};
		
	if($('talkbox_holder'))
	$('talkbox_holder').addEvents({
		mouseenter:function(){
			this.morph({opacity:1});
		},
		mouseleave:function(){
			hideTalkBox();
		}
	});
		
	var selectedNav = $$('a.item_link[href='+currentUrl+']')[0];
	if(selectedNav) {
		selectedNav.addClass('selected_item');
		if($defined(selectedNav.getParent('ul.sub_item_box'))) {
			if(selectedNav.getParent('ul.sub_item_box').getParent('li.item').getElement('div.item_arrow'))
				selectedNav.getParent('ul.sub_item_box').getParent('li.item').getElement('div.item_arrow').fireEvent('click');
		} else {
			if(selectedNav.getParent('li.item').getElement('div.item_arrow'))
				selectedNav.getParent('li.item').getElement('div.item_arrow').fireEvent('click');			
		}
	} else {
		if(selSubCat.get('value').toInt()) {
			var linkEl = $('item_link_'+selSubCat.get('value'));
			if(linkEl) {
				linkEl.addClass('selected_item');
				linkEl.getParent('ul.sub_item_box').getParent('li.item').getElement('div.item_arrow').fireEvent('click');
			}
		}
		if(selCat.get('value') && !selSubCat.get('value').toInt()) {
			var linkEl = $('item_link_'+selCat.get('value'));
			if(linkEl) {
				linkEl.addClass('selected_item');
				if(linkEl.getParent('li.item').getElement('div.item_arrow'))
					linkEl.getParent('li.item').getElement('div.item_arrow').fireEvent('click');
			}
		} 		
	}
/*
	var cookiePath = location.href.indexOf('localhost') == -1 ? 'healthguru.com':'';
	LeftNavFx = {
		disable : function() {
			Cookie.write('leftNavFx',1,{duration:365, domain: cookiePath });
			itemLinks.removeEvents();
			talkBoxState = 0;
			hideTalkBox();
			var myRequest = new Request({url:'/ajax/setpreference'}).send('preference=enhanced_navigation&value=0');
			enhanceBtnFx.show();
			disableBreadCrumbFx();
			$try(function(){subscribeBox.disable();});				
		},
		enable : function() {
			Cookie.dispose('leftNavFx', { domain: cookiePath });
			activatePopup();
			var myRequest = new Request({url:'/ajax/setpreference'}).send('preference=enhanced_navigation&value=1');
			enhanceBtnFx.hide();
			breadcrumbFx();
			$try(function(){subscribeBox.enable();});								
		}
	};
	
	talkBoxBtn.addEvent('click',function(){
		LeftNavFx.disable();	
	});
	
	var enhanceBtnFx = {
		show : function() {
			if(topNavEnhanceBtn)
				topNavEnhanceBtn.morph({top:0});
			if(leftNavEnhanceBtn) {
				leftNavEnhanceBtn.set('text','enable enhanced navigation');
				leftNavEnhanceBtn.getParent('.nav_content_box').removeClass('hide').getPrevious('.main_box_divider').removeClass('hide');
			}
		},
		hide : function() {
			if(topNavEnhanceBtn)
				topNavEnhanceBtn.morph({top:'20px'});
			if(leftNavEnhanceBtn) {
				leftNavEnhanceBtn.getParent('.nav_content_box').addClass('hide').getPrevious('.main_box_divider').addClass('hide');
			}
		}
	};
	
	if(leftNavEnhanceBtn) {
		leftNavEnhanceBtn.addEvent('click',function(){
			if(this.get('text').contains('enable')) {
				LeftNavFx.enable();
			} else {
				LeftNavFx.disable();
			}
		});
		
		if(leftNavEnhanceBtn.get('text').contains('disable'))
			leftNavEnhanceBtn.getParent('.nav_content_box').addClass('hide').getPrevious('.main_box_divider').addClass('hide');
	}
	
	if(topNavEnhanceBtn) {
		topNavEnhanceBtn.addEvent('click',function(){
			LeftNavFx.enable();		
		});
		if(Cookie.read('leftNavFx'))
			topNavEnhanceBtn.setStyle('top',0);
	}
	
	if(!Browser.Engine.trident && !Browser.Engine.gecko && !Browser.Engine.webkit)
		LeftNavFx.disable();
	*/
});