	var j$ = jQuery;
	var outOpacity= 0.6;
	var _over= "_o";
	var _select= "_s";
	var speed="normal";
	var regOver = new RegExp( _over, "g" );
	var regSelect = new RegExp( _select, "g" );	
	var active=null;
	var over=null;
	
	jQuery.fn.AddSelectImg = function (selected) {
		var img = this.find('img');
		var src = img.attr('src');
		var _o = src.replace(regSelect, '').replace(regOver, '');
		_o = [
			_o.substr(0, _o.lastIndexOf('.')),
			_o.substring(_o.lastIndexOf('.'))
		].join(_select);
		
		var rolloverImg=$('<img>').attr	('src',_o);
		if(!selected){
			rolloverImg.fadeTo(0,0);
		}
		
		rolloverImg.addClass('over');
		this.append(rolloverImg);
		
	}
	jQuery.fn.over = function () {
		if(this.hasClass("close") && !this.hasClass("select")){
			var img = this.find('img.base');
			if(img!=null){
				var src = img.attr('src');
				var _o = src.replace(regSelect, '').replace(regOver, '');
				_o = [
					_o.substr(0, _o.lastIndexOf('.')),
					_o.substring(_o.lastIndexOf('.'))
				].join(_over);
				img.attr('src',_o);
				over=this;
			}
		}
	}
	jQuery.fn.out = function () {
		if(this.hasClass("close") && !this.hasClass("select")){
			var img = this.find('img.base');
			if(img!=null){
				var src = img.attr('src');
				var _o = src.replace(regSelect, '').replace(regOver, '');
				img.attr('src',_o);
			}
		}		
	}
	
	
	
	jQuery.fn.toggleSelect = function () {
		var img =this.find('img.base');
		if(img!=null){
			var src = img.attr('src');
			var _o = src.replace(regSelect, '').replace(regOver, '');
			img.attr('src',_o);
		}
			
		if(!this.hasClass("close") && !this.hasClass("select")){
			if(this.attr("href")=="#categoty"){
				var over =this.find('img.over');
				if(over!=null){
					over.fadeTo(speed,1);
					active=over;
				}				
			}
		}else{
			this.unSelected();
			active=null;
		}
	};

	jQuery.fn.unSelected = function () {
		if(!this.hasClass("select")){
			var img = this.find('img.base');
			if(img!=null){
				var src = img.attr('src');
				var _o = src.replace(regSelect, '').replace(regOver, '');
				img.attr('src',_o);
			}
		}
	};
	
	jQuery.fn.childSelect = function () {
		if(this.hasClass("select")){
			var img = this.find('img');
			var src = img.attr('src');
			var _o = src.replace(regSelect, '').replace(regOver, '');
			_o = [
				_o.substr(0, _o.lastIndexOf('.')),
				_o.substring(_o.lastIndexOf('.'))
			].join(_over);
			img.attr('src', _o);
		}
	};
	
	window.onbeforeunload = function() {
		if(over!=null){
			over.unSelected();
		}
	};
	


$(document).ready(function() {
	j$(function(){

		function setBackground() {
			var $last = j$("#menu > li:last > a");
			if($last.hasClass("close"))
				$last.css("background-position", "left bottom");
			else
				$last.css("background-position", "left -30px");
		}

		
	

		j$("#menu").each(function(){
			j$("li > ul"            , this).wrap("<div></div>");
			j$("li > div:not(:last)", this).append("<div class='notlast'>&nbsp;</div>");
			j$("li > div:last"      , this).append("<div class='last'>&nbsp;</div>");
	
			j$("li > a", this).each(function(index){
				var $this = j$(this);
				var img = $this.find('img');
				if(img!=null){
					img.addClass("base");
					$this.unSelected();
				}
				if($this.attr("href")=="#categoty"){
					var selected=false
					$this.AddSelectImg(selected);
					if($this.attr("id") == selectCategory) {
						selected=true;
						$this.toggleSelect();
					}else{
						$this.addClass("close").next().hide();
						if($this.attr("id") == selectChild) {
							$this.addClass("select");
							$this.childSelect();
						}else{
							$this.unSelected();	
						}	
					}
				}else{
					$this.addClass("close");
					if($this.attr("id") == selectChild) {
						$this.addClass("select");
						$this.childSelect();
					}else{
						$this.unSelected();	
					}	
				}

				
				setBackground();
	
				var prms = {height:"toggle", opacity:"toggle"};
				
				$this.click(function(){
					var answer=true;
					if($this.attr("href")=="#categoty"){
						
						if(active!=null && $this!=active){
							active.fadeTo(speed,0);							
						};
						
						$this.toggleClass("close").next().animate(prms, {duration:speed})
						.parent().siblings().children("div:visible").animate(prms, {duration:speed}).prev().addClass("close");

						$this.toggleSelect();
						
						setBackground();
						
						answer=false;
					}else{
						answer=true;
					}
					return answer;
				}).mouseover(function() {
					$this.over();
				}).mouseout(function() {
					$this.out();
				});					 
				
			});
		});
		j$("#menu").css("display","inline");
		if(menu_follow){
			$('#menu').scrollFollow({speed: 700});
		}
	});
});
