Element.implement({        
    getId: function(){  
       if(!this.get('id')){   
         var uniqueId = this.get('tag') + "-" + $time();  
         while($(uniqueId)){ uniqueId = this.get('tag') + "-" + $time(); }  
         this.set('id', uniqueId);        
      }  
       return this.get('id');  
    }  
});  

/*
Function: $get
	This function provides access to the "get" variable scope + the element anchor
*/
function $get(key,url){
	if(arguments.length < 2) url =location.href;
	if(arguments.length > 0 && key != ""){
		if(key == "#"){
			var regex = new RegExp("[#]([^$]*)");
		} else if(key == "?"){
			var regex = new RegExp("[?]([^#$]*)");
		} else {
			var regex = new RegExp("[?&]"+key+"=([^&#]*)");
		}
		var results = regex.exec(url);
		return (results == null )? "" : results[1];
	} else {
		url = url.split("?");
		var results = {};
			if(url.length > 1){
				url = url[1].split("#");
				if(url.length > 1) results["hash"] = url[1];
				url[0].split("&").each(function(item,index){
					item = item.split("=");
					results[item[0]] = item[1];
				});
			}
		return results;
	}
}


var TSAsite = new Class({
	initialize: function(basehref) {
		this.subtweak = (Browser.Engine.trident)?5:3;
		
		this.base_href = basehref;
		
		this.mainMenu();
		this.sidesMenus();
		this.autocompleter();
	},
	
	autocompleter: function() {
		
		var inputWord = $('search_term');

		
		new Autocompleter.Request.JSON(inputWord, this.base_href + 'search/autocompleter', {
        'postVar': 'term',
		'minLength': 2,
		'overflow': true, 
		'width':'auto',
		'autoTrim':true,
		'autoSubmit':true,
		'indicatorClass': 'autocompleter-loading'
		});

	},
	
	mainMenu: function() {
	/*	
		$$('.navigation li a').each(function(el)
		{
		if (!$(el.parentNode).hasClass('active'))
		{
			$(el.parentNode).addEvents({
				'mouseover': function() {
					el.morph('.testm',{duration:'short'});
				},
				'mouseleave': function() {
					el.morph('.testm1',{duration:'short'});
				}
			});
		}
		});
*/


var sublinks = new MenuMatic({ orientation:'horizontal', subMenusContainerId:'main_menu_submenu',opacity:90, effect: 'slide & fade', id: 'navbar',
						   tweakSubsequent:{x:(Browser.Engine.trident)?5:3}, tweakInitial:{x:3},
						   fixHasLayoutBug: true, center:false});


		var new_margin = 16;
		while($('navbar').getSize().y > 30) {
		
		$('navbar').getElements('a').setStyle('margin','0 '+ new_margin + 'px');
		new_margin--;
		}
		
		$('navbar').setStyle('right', ((990 - $('navbar').getWidth())/2).toInt());		
		
	},
	sidesMenus: function() {
		$$('.producers').each(function(producers, index) {
		producers.setStyle('display','none');	
		
		var leftMenu = new MenuMatic({ orientation:'vertical', opacity:90, effect: 'slide & fade', id: 'nav',
						   tweakSubsequent:{x:(Browser.Engine.trident)?5:3}, tweakInitial:{x:3},
						   fixHasLayoutBug: true, center:false});

		

		var accordion = new Accordion(producers, 'h3.toggler', 'div.element', {
		show:-1,
		alwaysHide: true,
			opacity: false,
			onActive: function(toggler, element){
			toggler.addClass('clicked');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('clicked');
			}
		});
		
		
		producers.getElements('h3.toggler').addEvents({
			'mouseover': function() {
				this.addClass('onHover');					
			},
			'mouseleave': function() {
				this.removeClass('onHover');
			}
		});
		
	
		producers.setStyle('display','block');			
		
		
		
		var rightMenus = $$('.rhtM');
		
		var menusArray = Array(rightMenus.lenght);
		
		rightMenus.each(function(item,index){
		menusArray[index] = new MenuMatic({ orientation:'vertical', opacity:90, effect: 'slide & fade', id: item.getId(),
					   tweakSubsequent:{x:(Browser.Engine.trident)?-3:-3}, tweakInitial:{x:0},
					   center:false, direction: {x:'left'}, subMenusContainerId:'subMenusCR'+index, subMenusContainerClass:'otherMenus' });
		
		});
	});
	}
});



window.addEvent('domready', function(){
var site_ob = new TSAsite(base_href);
}); 

