var Room214 = {
    current_display: 0,
    interval_id: undefined,
    display_interval: 20, //Seconds to display each tab
    works: ['facebook', 'iphone', 'buzzroom', 'dashboard'],
    currentSelected: undefined,	
    currentWork: undefined,	
	setSelected: function(select, effect) {
		//turn off currently selected nav display icon if need be
		if (this.currentSelected != undefined) {
			this.removeCssClass(this.currentSelected[0], this.currentSelected[1]);
		}
		
		//turn on the currently selected nav icon and set the type of work 
		//example to be displayed to the front end user
		if(select == this.works[0]) {
			$('#facebook_nav').addClass('facebook_selected');
			this.currentSelected = ['facebook_nav', 'facebook_selected'];
			this.currentWork = this.works[0];
			$('#prevBtn').removeClass('hide_element');
			$('#nextBtn').removeClass('hide_element');
		} else if (select == this.works[1]) {
			$('#iphone_nav').addClass('iphone_selected');
			this.currentSelected = ['iphone_nav', 'iphone_selected'];
			this.currentWork = this.works[1];
			$('#prevBtn').addClass('hide_element');
			$('#nextBtn').addClass('hide_element');
		} else if (select == this.works[2]) {
			$('#buzzroom_nav').addClass('buzzroom_selected');
			this.currentSelected = ['buzzroom_nav', 'buzzroom_selected'];
			this.currentWork = this.works[2];
			$('#prevBtn').addClass('hide_element');
			$('#nextBtn').addClass('hide_element');
		} else if (select == this.works[3]) {
			$('#dashboard_nav').addClass('dashboard_selected');
			this.currentSelected = ['dashboard_nav', 'dashboard_selected'];
			this.currentWork = this.works[3];
			$('#prevBtn').addClass('hide_element');
			$('#nextBtn').addClass('hide_element');
		} else {
			return false;
		}
		
		//hide all work examples besides the currently selected one and 
		//start the fadein effect
		if (this.currentWork != undefined) {
			for(var i in this.works) {
				if (this.works[i] != this.currentWork) {
					$('#' + this.works[i] + '_work').css('display', 'none');
				}
			}
			if (effect == false) {
				$('#' + this.currentWork + '_work').css('display', 'block');
			} else {
				$('#' + this.currentWork + '_work').fadeIn('slow');
			}
		}
 	},
	removeCssClass: function(dom_id, css_class) {
 		$('#' + dom_id).removeClass(css_class);
 	},
 	sendPost: function() {
 		$.post('/php/mail/put.php', 
 			   $("#contact_form").serialize(), 
 			   function(json) { Room214.displayAlertMessage(json); }, 
 			   'json');
 	},
 	clearContactFullName: function() {
 		if ($('#contact_full_name').val() == 'Name') {
			$('#contact_full_name').val('');
		}
 	},
 	clearContactEmailAddress: function() {
 		if ($('#contact_email_address').val() == 'Email') {
			$('#contact_email_address').val('');
		}
 	},
 	clearContactMessage: function() {
 		if ($('#contact_message').val() == 'Message') {
			$('#contact_message').val('');
		}
 	},
 	displayAlertMessage: function(json) {
 		if (json.status == 0) {
 			$("#alert_message").css('color', '#990000');
 		} else {
 			$("#alert_message").css('color', '#585858');
 			//message was sent set default values for the contact form
 			$('#contact_full_name').val('Name');
 			$('#contact_email_address').val('Email');
 			$('#contact_message').val('Message');
 		}
 		
 		$("#alert_message").html(json.message);
 		$("#alert_message").fadeIn("slow");
 		
 		setTimeout(function() { $("#alert_message").fadeOut("slow"); }, 3000);
 	}
};
//on dom ready actions
$(document).ready(function(){
	var default_display_position = 0;
	//actions that clear out default values for contact information
	$('#contact_full_name').click(function() {
		Room214.clearContactFullName();
	});
	$('#contact_full_name').focus(function(){
		Room214.clearContactFullName();
	});
	$('#contact_email_address').click(function() {
		Room214.clearContactEmailAddress();
	});
	$('#contact_email_address').focus(function() {
		Room214.clearContactEmailAddress();
	});
	$('#contact_message').click(function() {
		Room214.clearContactMessage();
	});
	$('#contact_message').focus(function() {
		Room214.clearContactMessage();
	});
	//actions that display work examples
	$('#facebook_nav').click(function() {
		clearInterval(Room214.interval_id);
		Room214.setSelected(Room214.works[0]);
	});
	$('#iphone_nav').click(function() {
		clearInterval(Room214.interval_id);
		Room214.setSelected(Room214.works[1]);
	});	
	$('#buzzroom_nav').click(function() {
		clearInterval(Room214.interval_id);
		Room214.setSelected(Room214.works[2]);
	});
	$('#dashboard_nav').click(function() {
		clearInterval(Room214.interval_id);
		Room214.setSelected(Room214.works[3]);
	});
	$('#contact_send').click(function() {
		pageTracker._trackPageview('/contact-form/');
		Room214.sendPost();
	});
	
	//load content slide shows
	//$("#facebook_work").easySlider();
	
	//keep the alert message dom element always at window top
	$(window).scroll(function() {
		$("#alert_message").css('top', $(window).scrollTop() + 'px');
	});
	
	//set default work example to frontend user
	Room214.setSelected(Room214.works[default_display_position], false);
	Room214.current_display = default_display_position + 1;
	Room214.display_interval = Room214.display_interval * 1000;

	//set time interval for slide effect
	Room214.interval_id = setInterval(function() { 
		if (Room214.current_display > 3) {
			Room214.current_display = 0;
		}
		
		Room214.setSelected(Room214.works[Room214.current_display]);
		Room214.current_display = Room214.current_display + 1;
	}, Room214.display_interval);
});
