var AJAX=ROOT+'/'+CONTROLLER+'/ajax/';
counter=0;

Carousel=new Class({
	Implements:Options,
	options:{
		cssProperty:'opacity',
		cssPropertyStart:1,
		cssPropertyFinish:0,
		transitionDuration:1000,
		transitionDelay:5000
	},
	initialize:function(elements, options){
		this.setOptions(options);
		this.elements=elements;
		this.numSlides=elements.length;
		this.reorder();
		return this;
	},
	start:function(){
		this.step.delay(this.options.transitionDelay, this);
	},
	reorder:function(){
		for(var i=0; i<this.elements.length; i++){
			el=this.elements[i];
			el.setStyle('z-index', this.numSlides-i);
			el.setStyle(this.options.cssProperty, this.options.cssPropertyStart);
		}
	},
	step:function(){
		this.reorder();
		new Fx.Tween(this.elements[0], {
				carousel:this,
				duration:this.options.transitionDuration,
				onComplete:function(){
					var c=this.options.carousel;
					var deadElement=c.elements.shift();
					//console.log("remove "+deadElement.id+" and push to bottom");
					c.elements.push(deadElement);
					//console.log("bottom element is now "+c.elements[c.elements.length-1].id+", top element is "+c.elements[0].id);
					c.step.delay(c.options.transitionDelay, c);
				}
			}).start(this.options.cssProperty, [this.options.cssPropertyStart, this.options.cssPropertyFinish]);
	}
});

Squeezer=new Class({
	Implements:Options,
	initialize:function(elements, options){
		this.setOptions(options);
		this.elements=elements;
		
	},
	step:function(){
		
	}
});

window.addEvent('domready', function(){
	$$('ul#main-menu li').each(function(el){
		el.addEvent('mouseenter', function(){
			this.addClass('hover');
			if(this.getElement('ul')){
				$$('ul#cms-main-menu li').each(function(element){
					element.setStyle('z-index', 0);
				});
				this.getElement('ul').setStyles({
					display: 'block',
					opacity:.93
				});
			}
		});
		el.addEvent('mouseleave', function(){
			this.removeClass('hover');
			if(this.getElements('ul')){
				this.getElements('ul').each(function(el){
					el.setStyle('display', 'none');
				});
			}
		});
	});
	$$('ul#main-menu ul ul').each(function(el){
		el.dispose()
	})
	mProjects=$$('maintenance-projects-container div.home-project');
	mSqueezer=new Squeezer({items:mProjects});

	subMenu=$('content-image-holder');
	if(subMenu){
		subMenu=subMenu.getElement('ul');
		subMenu.setStyle('opacity', .9);
	}

});

function changeStreets(town){
	new Request.JSON({
		url:AJAX+'getstreets',
		onSuccess:function(data){
			var s=$('search-street');
			s.disabled=false;
			var opts=s.options;
			var optCount=opts.length;
			for(var i=0; i<optCount; i++){
				s.remove(0);
			}
			var o = new Element('option');
			o.value='null';
			o.text='Please select...';
			s.add(o, null);
			for(var i=0; i<data.length; i++){
				var op = new Option;
				op.value=data[i].street;
				op.text=data[i].street;
				s.add(op, null);
			}
		}
	}).post({town:town.value});
}
function getTimes(){
	var town=$('search-town').value;
	var street=$('search-street').value;
	new Request.JSON({
		url:AJAX+'gettimes',
		onSuccess:function(data){
			$('last-visit').set('text', data.last);
			$('next-visit').set('text', data.next);
		}
	}).post({town:town, street:street});
}
window.addEvent('load', function(){
	/* pics=$$('div#home-image-holder img');
	if(pics.length>0){
		carousel=new Carousel(pics);
		carousel.start();
	}
	*/
	if(PARAMS[0]=='studies'){
		
	}

	$$('.scroll-image').each(function(el){
		var im=el.getElement('img');
		if(im!=null){
			var imHeight=im.getHeight();
			var elHeight=el.getHeight();
			if(imHeight>elHeight){
				el.store('img', im);
				el.store('maxMargin', elHeight-imHeight);
				el.store('scroller', new Fx.Tween(im, {duration:2000, transition:Fx.Transitions.Sine.easeInOut}));
			}
		}
	});
	//setInterval('scrollImages()', 7000);
	if($('subsite-bulletin')){
		nt=$('bulletin-text');
		tickerText=nt.get('text');
		doNews();
		setInterval('newsTicker()', 50);
	}

	$$('div.columns').each(function(el){
		numCols=2;
		var content=el.get('html');
		el.set('html', '');
		for(i=0; i<numCols; i++){
			var col=new Element('DIV');
			col.addClass('column');
			col.injectInside(el);
		}
		columns=el.getElements('div.column');
		columns[0].set('html', '<div class="column-contents">'+content+'</div>');
		var h=columns[0].getHeight();
		var maxHeight=h/numCols;
		for(var i=0; i<numCols-1; i++){
			elements=columns[i].getElements('p, ul, ol');
			for(var ii=elements.length-1; ii>0; ii--){
				if(columns[i].getHeight()>maxHeight+100){
					elements[ii].dispose().inject(columns[i+1], 'top');
				}
			}
		}

	});
	if(m=$('magnifier')){
		m.setStyle('display', 'none');
	}
	if(r=$('study-image-holder')){
		r.addEvent('mouseover', function(){
			m.setStyle('display', 'block');
		});
		r.addEvent('mouseout', function(){
			m.setStyle('display', 'none');
		});
	}
})

function scrollImages(){
	$$('.scroll-image').each(function(el){
		var mover;
		if(mover=el.retrieve('scroller')){
			if(parseInt(el.getElement('img').getStyle('margin-top'))<0){
				mover.start('margin-top', 0);
			} else {
				mover.start('margin-top', el.retrieve('maxMargin'));
			}
		}
	});
}

function changeImage(path){
	var im=$('main-content-image');
	im.setStyle('opacity', .6);
	im.src=path;
	
	var im=$('study-image-holder');
	if(!im.retrieve('expander')){
		im.store('expander', new Fx.Tween(im, {link:'cancel'}));
	}
	var height=im.getHeight();
	var exp=im.retrieve('expander');
	exp.start('height', 400);
}
function imageLoaded(){
	var im=$('main-content-image');
	im.setStyle('opacity', 1);
}


function doNews(){
	nt.set('text', '');
	nt.store('counter', 0);
}
function newsTicker(){
	var targetText=tickerText;
	if(nt.get('text')!=targetText){
		var count=nt.retrieve('counter');
		count++;
		nt.set('text', targetText.substr(0, count));
		nt.store('counter', count);
		if(count<targetText.length){
			nt.set('text', nt.get('text')+'_');
		} else {
			setTimeout('doNews()', 5000);
		}
	}
}

function toggleImage(){
	var im=$('study-image-holder');
	if(!im.retrieve('expander')){
		im.store('expander', new Fx.Tween(im, {link:'cancel'}));
	}
	var height=im.getHeight();
	var exp=im.retrieve('expander');
	if(height>400){
		exp.start('height', 400);
	} else {
		exp.start('height', im.getScrollHeight());
	}
}
