// JavaScript Document
/*
Title:     Stroyofjudson.com Javascripts page
Author:    Matt McCloskey, Kemso Design
*/

/* On Load
-----------------------------------------------------------------------------------------------------*/
// preload images
if(window.imagesToPreload){
	var images = imagesToPreload.split(',');
	for(i=0; i<images.length; i++){
		preloadImages(images[i].trim());
	}
}

var ticks = new Array();

window.addEvent('domready', function(){
	/* intro effects */
	if($('carcorner')) $('carcorner').set('tween', {duration: 1000}).tween('opacity', 0, 1);
	//setTimeout("$('photochanger').set('tween', {duration: 1000}).tween('opacity', 0, 1);", 800);
	if($('headertext')){
		
			setTimeout("$('headertext').set('morph', {duration: 300, transition:Fx.Transitions.Back.easeOut}).morph({'opacity': 1, 'top': [-100, 76]});", 1000);
	
	}
	
	var navNum = 1;
	if($('navigation') && ! $('navigation').hasClass('new')){
		$('navigation').getElements('li').each(function(el){
			el.set('id', 'nav'+navNum);
			el.getElement('a').addEvents({
				'mouseenter': function(e){
					this.getPrevious().set('tween', {duration: 200}).tween('left', 15);
					this.normalbg = this.getParent().getStyle('background-image');
					this.getParent().set('styles', {'background-image': 'url(../images/navbackgrounds/dark.gif)'});
				},
				'mouseleave': function(e){
					this.getPrevious().tween('left', 10);
					this.getParent().set('styles', {'background-image': this.normalbg});
				}
			});
			//el.setStyle('visibility', 'visible');
			setTimeout("$('nav"+navNum+"').set({'tween': {duration:300, transition: Fx.Transitions.Sine.easeOut}, styles:{'visibility':'visible', 'margin-left':-300}}).tween('margin-left', -300, 0);", navNum*100);
			navNum += 1;
		});
	}
	
	
	/* New Navigation */
	if($('navigation') && $('navigation').hasClass('new'))
	{
		$('navigation').getChildren('li').each(function(li, key){
			li.addClass('style'+((key % 4)+1));
			new Element('div', {'class': 'car car'+((key % 5)+1)}).inject(li).set('tween', {duration: 200});
			li.getElement('a').addEvents({
				'click': function(e){
					if(li.getElement('ul')){
						e.stop();
						li.getElement('ul').slide('toggle');
					}
				},
				'mouseenter': function(e){
					this.getNext('.car').tween('left', 15);
				},
				'mouseleave': function(e){
					this.getNext('.car').tween('left', 10);
				}
			});
			if(li.getElement('ul')) 
			{
				li.getElement('ul').setStyle('display', 'block');
				if( ! li.hasClass('selected')) li.getElement('ul').slide('hide');
			}
		});

	}
	
	
	
	/* form */
	//if($('container') && $('container').hasClass('guestbook') || $('comments')){
		setUpForms();
	//}
	
	
	/* ticker */
	/*if($('ticker')){
		var req = new Request.JSON({
			url: '/ajax/ticker.php'
		})
		.addEvent('success', function(json){
			ticks = json;
			startTicker();
		})
		.send();
		
		$('ticker').addEvents({
			'mouseenter': function(e){
				clearInterval(tickInterval);
			},
			'mouseleave': function(e){
				startTicker();
			}
		});
	}*/
	
	
	/* Signup for story form */
	if($('seal') && $('storysignupwindow')){
		$('seal').addEvent('click', function(e){
			//var e = new Event(e).stop();
			//$('storysignupwindow').setStyle('opacity', 0).setStyle('display', 'block').set('tween', {duration: "short"}).tween('opacity', 0, 1);
		});
		
		$('storysignupwindow').getElement('.close').addEvent('click', function(e){
			var e = new Event(e).stop();
			$('storysignupwindow').tween('opacity', 1, 0);
		});
		
		$('storysignupform').addEvent('submit', function(e){
			var e = new Event(e).stop();
			$('storysubmit').set('html', '<em>Sending...</em>');
			var req = this.get('send');
			req.addEvents({
				'success': function(rsp){
					
					$('storysubmit').set('html', rsp).tween('background-color', '#83cfd4');
					//$('submit').remove();
					setTimeout("$('storysubmit').set('html', 'Sign up').tween('background-color', '#c54b42');", 3000);
				}
			});
			this.send();	
		});
	}
	if($('booknotification')){
		$('booknotification').addEvent('click', function(e){
			var e = new Event(e).stop();
			$('storysignupwindow').setStyle('opacity', 0).setStyle('display', 'block').set('tween', {duration: "short"}).tween('opacity', 0, 1);
			var myFx = new Fx.Scroll(window).toElement('seal');
		});
	}
});

/* Functions
-----------------------------------------------------------------------------------------------------*/

function preloadImages() {
  	var d=document;
  	if(d.images){
  		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=preloadImages.arguments;
		for(i=0; i<a.length; i++){
			if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}
		}
    }
}
var formElements = new Object();


var tickInterval;
var currentTick = -1;
function startTicker(){
	tickInterval = setInterval(nextTicker, 4500);
}
function nextTicker(){
	if($('ticker')){
		currentTick++;
		if(currentTick >= ticks.length){
			currentTick = 0;
		}
		var tick = ticks[currentTick];
		$('ticker').set('html', '<a href="'+tick.option1+'">'+tick.title+'</a>').set('tween', {duration: 1500}).tween('opacity', 0, .8);
	}else{
		clearInterval(tickInterval);
	}
}



function setUpForms(){
	if($$('input[type=text], textarea').length > 0){
		$$('input[type=text], textarea').each(function(el){
			el.value = el.getPrevious().get('html');
			formElements[el.get('id')] = {'initvalue': el.value, 'ref': el};
			el.addEvents({
				'focus': function(){
					if(this.value == formElements[this.get('id')].initvalue){
						this.value = "";
					}else{
						if(this.value.substring(0, formElements[this.get('id')].initvalue.length+2) == formElements[this.get('id')].initvalue+": ")
						this.value = this.value.substring(formElements[this.get('id')].initvalue.length+2);
					}
				},
				'blur': function(){
					if(this.value == ""){
						this.value = formElements[this.get('id')].initvalue;
					}else{
						if(this.value.substring(0, formElements[this.get('id')].initvalue.length+2) != formElements[this.get('id')].initvalue+": ")
						this.value = formElements[this.get('id')].initvalue+': '+this.value;
					}
				}
			});
		});
		
		$$('form').each(function(el){
			el.addEvent('submit', function(e){
				this.getElements('input[type=text], textarea').each(function(item){
					var initvalue = formElements[item.get('id')].initvalue;
					if(item.value.substring(0, initvalue.length+2) == initvalue+": "){
						item.value = item.value.substring(formElements[item.get('id')].initvalue.length+2);
					}
				});
			});
		});
	}
}

