var DragonDynasty = {
	films:
	{
		user_rating:
		{
			set: function(rating)
			{
				var new_rating_val = (DragonDynasty.films.user_rating.round(rating/20));
				$('review_rating').value = new_rating_val * 20;
				$('rating_widget').set_rating(new_rating_val * 20);
				$('rating_representation').innerHTML = new_rating_val;
			},
			round: function(value)
			{
				var converted = parseFloat(value); // Make sure we have a number
				var decimal = (converted - parseInt(converted, 10));
				decimal = Math.round(decimal * 10);
				if (decimal == 5) { return (parseInt(converted, 10)+0.5); }
				if ( (decimal < 3) || (decimal > 7) ) {
					return Math.round(converted);
				} else {
					return (parseInt(converted, 10)+0.5);
				} 
			}
		},
		user_review:
		{
			validate: function()
			{
				var r = new RegExp(/^\s*$/);
				if (r.test($('review_rating').value)){
					alert("Please rate this film by clicking on the stars.");
					return false;
				}
				//If they didn't rate it
				if ($('review_rating').value == 0){
					alert("Please rate this film by clicking on the stars.");
					return false;
				}
				if (r.test($('review_bottom_line').value)){
					alert('Please give us your bottom line.');
					$('review_bottom_line').focus();
					return false;
				}
				if (r.test($('review_bigger_picture').value)){
					alert('Please give us the bigger picture.');
					$('review_bigger_picture').focus();
					return false;
				}
				if (r.test($('review_name').value)){
					alert('Please tell us who you are.');
					$('review_name').focus();
					return false;
				}
				if (r.test($('review_location').value)){
					alert('Please tell us where you are located.');
					$('review_location').focus();
					return false;
				}
				return true;
			}
		}
	},
	blog:
	{
		post_comment:
		{
			validate: function()
			{
				var r = new RegExp(/^\s*$/);
				if (r.test($('comment_body').value)){
					alert('Please provide your comment.');
					$('comment_body').focus();
					return false;
				}
				if (r.test($('comment_name').value)){
					alert('Please tell us who you are.');
					$('comment_name').focus();
					return false;
				}
				if (r.test($('comment_location').value)){
					alert('Please tell us where you are located.');
					$('comment_location').focus();
					return false;
				}
				return true;
			}
		}
	},
	orderofthedragon:
	{
		signup: function()
		{
			var r = new RegExp(/^\s*$/);
			var e = new RegExp(/^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/);
			if (r.test($('orderofthedragon_first_name').value)){
				alert('Please provide your First Name.');
				$('orderofthedragon_first_name').focus();
				return false;
			}
			if (r.test($('orderofthedragon_last_name').value)){
				alert('Please provide your Last Name.');
				$('orderofthedragon_last_name').focus();
				return false;
			}
			if (!e.test($('orderofthedragon_email_address').value)){
				alert('Please provide a valid Email Address.');
				$('orderofthedragon_email_address').focus();
				return false;
			}
			return true;
		},
		unsubscribe: function()
		{
			var e = new RegExp(/^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/);
			if (!e.test($('orderofthedragon_unsubscribe_email_address').value)){
				alert('Please provide a valid Email Address.');
				$('orderofthedragon_unsubscribe_email_address').focus();
				return false;
			}
			return true;
		}
	}
};

