/**
* @author   Vasatko
* @version  0.1
* @remarks  Copyright (C) 2011 Vasatko
* @remarks  Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
* @see      http://vasatko.net/joomla/accordion-menu
*/

window.addEvent('domready', function() {
	
	if(window.ie6) 
		var heightValue='100%';
	else 
		var heightValue='';
	
	var togglerName='dt.accmenu_toggler_';
	var contentName='dd.accmenu_content_';
	
	var counter=1;	
	var toggler=$$(togglerName+counter);
	var content=$$(contentName+counter);
	
	while(toggler.length>0){
		
		new Accordion(toggler, content, {
			opacity: false,
			display: -1,
			onComplete: function() { 
				var element=$(this.elements[this.previous]);
				if(element && element.offsetHeight>0) element.setStyle('height', heightValue);			
			},
			onActive: function(toggler, content) {
				toggler.addClass('open');
			},
			onBackground: function(toggler, content) {
				toggler.removeClass('open');
			}
		});
		
		toggler.each(function(item, index){

			item.addEvent('mouseover',function(){
					item.addClass('over');
			});
			item.addEvent('mouseout',function(){
				item.removeClass('over');
			});
			
			if(item.getElements('a').length>0){
				item.style.cursor = 'pointer';
				item.addEvent('click',function(){
					item.getElement('a').fireEvent('click');
					if(item.getElement('a').get('onclick')!=null){
						item.getElement('a').fireEvent('click');
					}else{
						if(item.getElement('a').get('target')=='_new' || item.getElement('a').get('target')=='_blank'){
							form = document.createElement("form");
							form.method = "GET";
							form.action = item.getElement('a').get('href');
							form.target = "_blank";
							document.body.appendChild(form);
							form.submit();
						}else{
							location.replace(item.getElement('a').get('href'));
						}
					}
					return false;
				});
			}
			
			if(item.hasClass('current')){
				var parent = item.getParent('dd');
				while(parent!=null){
					/*var t=/accmenu_content_([^\s]*)\s/i;
					i = item.get("id").match(t);
					i = i[1];*/
					i = parent.get("id").replace("accmenu_content_","");
					$('accmenu_toggler_'+i).addClass('open');
					$('accmenu_toggler_'+i).fireEvent('click');
					
					parent = parent.getParent('dd');
					
				}
			}
		});
		
		counter++;
		toggler=$$(togglerName+counter);
		content=$$(contentName+counter);
	}
	
	if($('open_accordion_entry'))
		$('open_accordion_entry').fireEvent('click');
});
