/*============ FAQs scripts ============*/

Event.observe(window, 'load', function() {
	$$('#faq_list > li > div').each(
		function(node) {
			
			var calculated_height = node.getHeight();
			var li = node.up('li');
			//node.wrap(div);
			node.effect = new Effect.Style( node, 'height', { start: 0, end: calculated_height, start_options: { duration: 1.3, transition: Effect.Transitions.spring },
			rewind_options: { transition:  Effect.Transitions.sinoidal, duration: .3 },
			beforeStart: function() {
				if( node.effect.effect_state == 'from' ) 
					li.removeClassName('selected');	
				else
					li.addClassName('selected');	
			} } );	
			node.setStyle({height: '0px', overflow: 'hidden'});	
		}
	);
	$$('#faq_list li > a').invoke( 'observe', 'click', faq_click );
	
	//open specific faq based on the hash in the url
	var hash = window.location.hash;
	if(hash != "")
	{
		var elementid = hash.replace("#", "");
		var li = $(elementid);	
		if(li)
		{
			var div = li.down('div');
			div.effect.start_effect();
			var faqid = get_faqid(elementid);
			track_question_view(faqid);
		}
	}	
});

function faq_click(e) {
	var li = $(e.target).up('li');
	
	if( !li || li.id.length == 0)
		return false;
	
	e.stop();

	
	var div = li.down('div');
	if( li.className.indexOf('selected') > -1 )		
	{
		//hide answer
		div.effect.rewind_effect();		
	}
	else
	{
		//show answer			
		var faqid = get_faqid(li.id);
		div.effect.start_effect();
		track_question_view(faqid);	
	}
	return false;
}

function get_faqid(elementid)
{
	var underscore = elementid.indexOf("_") + 1;
	var faqid = elementid.substring(underscore, elementid.length );	
	return faqid;
}

function track_question_view(faqid)
{
	//dummy URL to be replaced by counter script
	
	var url = "/global/Faq-InsertCount.aspx";
	var req = new Ajax.Request( url, 
		{
		method: 'get',
		parameters: 'faqid=' + faqid,
		onComplete: null
		}
	);

}
