// Home Page Elements

window.addEvent('domready',function() {
									
	// Tooltips to preview larger images of my polaroid graphics
	var t = new Tips('.showThumb', {
		fixed: true,
		offset: {'x': -20, 'y': -150}
	});
	$$('.showThumb').each(function(thumb){
		var imgSrc = thumb.retrieve('tip:text');
		var imgAlt = thumb.retrieve('tip:title');
		thumb.store('tip:text', new Element('img',{'src': '/images/' + imgSrc,'alt':imgAlt}));
	});
	
	// Slide the form out for job enquiries
	var enquiryForm = new Fx.Slide('slideForm'); 
	enquiryForm.hide();
	$('toggleForm').addEvent('click', function(e){
		e.stop();
		enquiryForm.toggle();
	}); 
	
	// Rotate the images on the Portfolio Link
	slideShow = new SlideShow ($("rotateGallery"), {
		delay : 2000, 
		duration : 1000, 
		onInitialize : function () {
			this.start();
		},
		onStart : function () {
			var img = this.getItem().getElement("img");
			var captionStr = img.get("alt") == null ? img.get("title") == null ? img.get("src").split("/").getLast() : img.get("title") : img.get("alt");
		},
		onMouseOver : function () {
			this.stop();
		},
		onMouseOut : function () {
			this.play();
		}
	}).play();
	
	// Create the Slider Bottom Portfolio Items
	new SlideItMoo({
		overallContainer: 'favChange',
		elementScrolled: 'favElement',
		thumbsContainer: 'favItem',		
		itemsVisible:1,
		itemsSelector: '.element',
		itemWidth: 554,
		showControls: 1,
		autoSlide: 20000,
		transition: Fx.Transitions.Sine.easeOut,
		duration: 500
	});
	
	// Variables for page ID's								
	var formContainer = $('slideForm');
	var updatesForm = $('hireForm');
	var emailError = $('emailError');
	var emailResults = $('emailSubmitted');
	var state = 'closed';
	var baseURL = '/';
	var emailInput = $('yourEmail');
	
	// Static Variables
	var inputText = 'Enter a valid e-mail address';
	
	
	// Auto set the Home page Email Updates text
	emailInput.set('value', inputText);
	emailInput.addEvent('focus', function(e){
		if(this.value == inputText) this.set('value', '');
		
		this.addEvent('blur', function(e){
			new Event(e).stop();
			if(this.value == '') this.set('value', inputText);
			else this.value == this.value;
		});
	});
	
	// Submit the form, clear it, and show the results w/o a page refresh
	updatesForm.addEvent('submit', function(e){
		new Event(e).stop();
		var pars = this.toQueryString();
		var eSubmit = new Request({
			method: 'post', 
			data: pars,
			url: baseURL+'_script/submitEmail.php'
		});
		eSubmit.onSuccess = function(responseText, responseXML){
			var Error = this.response.text.contains("Error");
			state = (state == 'closed' ? 'open' : 'closed');
			function setText(){
				emailError.set('html', responseText);	
				return;
			}
			
			function setComplete(){
				emailResults.set('html', responseText);
			}
			
			function morphResults(){
				emailError.empty();
				emailError.morph('.closed');
				emailError.fade('out');
				return;
			}
			
			function formComplete(){	
				emailResults.morph('.closed');
				emailResults.fade('out');
				enquiryForm.slideOut();
			}
			
			if(Error == false){
				updatesForm.empty();
				emailResults.fade('in');
				emailResults.morph('.' + state);
				setComplete.delay(750);
				formComplete.delay(2500);
			} else {
				emailError.addClass('errorBox');
				emailError.fade('in');
				emailError.morph('.' + state);
				setText.delay(750, emailError);
				morphResults.delay(2500);
			}
		}
		eSubmit.onFailure = function(responseText, responseXML){
			emailResults.set('html', responseText);
		}
		eSubmit.send();
	});			
});
