document.observe("dom:loaded", function(){
	var target = $$(".accordionTarget");
	var expanded = -1;
	var isAnimating = false;
	var maxHeight = 0;
	var cookieIndex = "iVh7d6dS09jld";

	if(!target) return;

	var cookies = new CookieManager({
		shelfLife: 0
	});

	if(cookies.getCookie(cookieIndex)) expanded = 0;

	$$(".accordionTrigger").each(function(member, index){

/*****
		for(var i in target[index].childNodes){
			var ul = target[index].childNodes[i];
			if(ul.nodeType == 1 && ul.nodeName.toUpperCase() == "UL"){
				for(var j in ul.childNodes){
					var li = ul.childNodes[j];
					if(li.nodeType == 1 && li.nodeName.toUpperCase() == "LI"){
						maxHeight += parseInt(JCity.util.getStyle(li, "height"));
						for(var k in li.childNodes){
							var anchor = li.childNodes[k];
							if(anchor.nodeType == 1 && anchor.nodeName.toUpperCase() == "A"){
								anchor.style.backgroundImage = JCity.util.getStyle(anchor, "backgroundImage");
								if(anchor.style.backgroundImage.match(/_f\./)){
									anchor.onmouseover = function(){
										this.style.backgroundImage = this.style.backgroundImage.replace("_f.", "_n.");
									}
									anchor.onmouseout = function(){
										this.style.backgroundImage = this.style.backgroundImage.replace("_n.", "_f.");
									}
								}
							}
						}

					}
				}
			}
		}
*****/

		maxHeight = 377;

		if(expanded == -1){
			target[index].hide();
			target[index].setStyle({opacity: 0.0});
			target[index].setStyle({height: maxHeight + "px"});
		}

		Element.observe(member, "click", function(event){
//			if(expanded >= 0 && expanded != index){
//				animate(target[index], 0);
//				target[index].hide();
//			}else{

				var elementDimensions = target[index].getDimensions();

//				if((elementDimensions.height != maxHeight) || expanded == index) return;

				if(expanded == -1){
					new Effect.Parallel([
						new Effect.Fade(target[index], {
							from: 0.0,
							to: 1.0
						}),
						new Effect.Scale(target[index], 100, Object.extend({
							scaleContent: false,
							scaleX: false,
							scaleFrom: 0,
							transition: Effect.Transitions.sinoidal,
							scaleMode: {
								originalHeight: elementDimensions.height,
								originalWidth: elementDimensions.width
							},
							beforeStart: function(effect){
								isAnimating = true;
							},
							afterSetup: function(effect){
								effect.element.makeClipping().setStyle({
									height: "0px"
								}).show();
							},
							afterFinish: function(){
								isAnimating = false;
							}
						}, arguments[1] || { }))
					],
					{
						duration: 0.5,
						fps: 60,
						sync: true
					});
					expanded = index;
					cookies.setCookie(cookieIndex, "cKtb09TainA08");
				}else{
					if(expanded < 0) return;

					new Effect.Parallel([
						new Effect.Fade(target[expanded], {
							from: 1.0,
							to: 0.0
						}),
						new Effect.Scale(target[expanded], 0, {
							scaleX: false,
							scaleY: true,
							scaleContent: false,
							transition: Effect.Transitions.sinoidal,
							beforeStart: function(effect){
								effect.element.setStyle({
									height: maxHeight + "px"
								});
								isAnimating = true;
							}.bind(this),
							afterFinish: function(effect){
								effect.element.setStyle({
									height: maxHeight + "px"
								});
								isAnimating = false;
							}.bind(this)
						})
					],
					{
						duration: 0.5,
						fps: 60,
						sync: true
					});

					expanded = -1;
					cookies.setCookie(cookieIndex, "");
				}
//			}

			event.stop();
		});
	});

/***
	$$("#subnavi #menu li").each(function(member){
		if(!member.className.match(/accordionTrigger/) && member.id.match(/menu/)){
			Element.observe(member, "mouseover", function(){
				if(expanded < 0) return;

				new Effect.Parallel([
					new Effect.Fade(target[expanded], {
						from: 1.0,
						to: 0.0
					}),
					new Effect.Scale(target[expanded], 0, {
						scaleX: false,
						scaleY: true,
						scaleContent: false,
						transition: Effect.Transitions.sinoidal,
						beforeStart: function(effect){
							effect.element.setStyle({
								height: maxHeight + "px"
							});
							isAnimating = true;
						}.bind(this),
						afterFinish: function(effect){
							effect.element.setStyle({
								height: maxHeight + "px"
							});
							isAnimating = false;
						}.bind(this)
					})
				],
				{
					duration: 0.75,
					fps: 35,
					sync: true
				});

				expanded = -1;
			});
		}
	});
***/
});
