$(document).ready(function() {
	var slideInterval = 10000;
	var animationSpeed = 200;
	
	window.setInterval(function() {
	  	var lastItem = $('#twitter ul > li:last');
		var firstItem = $('#twitter ul > li:first');
		var itemHeight = lastItem.height() + 
						parseInt(lastItem.css("paddingTop")) + 
						parseInt(lastItem.css("paddingBottom") +
						//parseInt(lastItem.css("marginTop")) + 
						parseInt(lastItem.css("marginBottom")));
		$(lastItem).fadeTo('fast', 0);
		$('#twitter ul > li:first ')
			.animate({
				marginTop: +itemHeight
			}, animationSpeed, "swing", function() {
				$('#twitter ul').prepend(lastItem)
				$(firstItem).css('marginTop', 0)
				$(lastItem).fadeTo("fast", 1);
				//$('#ul_list > li:last ').remove()
			})
		
	}, slideInterval);
	
	
	$("#sendtweet").bind('click.sendTweet', function(event){
		var msg = $("#tweetmsg").html();
		var user = $("#tweetuser").attr("value");
		var pass = $("#tweetpass").attr("value");
		//alert(msg);
		
		$.get("<?php bloginfo('home'); ?>", { u: user, p: pass, d: msg }, function(data){
			if(data == 1) {
				$("#sendtweet").unbind('click.sendTweet');
				$("#twitter > .inputbox").fadeTo("fast", 0);
				$("#twitter > .inputbox").empty();
				$("#twitter > .inputbox").append("Message posted.");
				$("#twitter > .inputbox").fadeTo("fast", 1);
			} else {
				$("#twitter > .inputbox .msg").html("Could not post message. Check your input.");
			}
		});
		
		return false;
	});
	
	$("#tweetuser").focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});
	$("#tweetpass").focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});
	
 });
 
/*
	Recording...
*/
setRecordingDone = function() {
	$("#new-recording").css('display', 'block');
	$("#record-submit").css('display', 'block');
	
	$("#container #content #compete_recorder #record_options #new-recording").bind('click.newMovie', function(event){
		getRecorder();
		
		$("#new-recording").css('display', 'none');
		$("#record-submit").css('display', 'none');
		return false;
	});
	
	$("#record-submit").unbind('click.transferMovie');
	$("#record-submit").bind('click.transferMovie', function(event){
		/*
		jQuery.validity.start();
		jQuery("#campaign-post_author_name").require().minLength(3, "You must enter your name.");
		jQuery("#campaign-post_author_name").require().maxLength(25, "Your name is too long.");
		jQuery("#campaign-post_author_email,#campaign-post_author_email_confirm").require().match('email').maxLength(70).equal("Email addresses do not match"); 
		
		jQuery("#campaign-post_author_age").require().match('number').greaterThanOrEqualTo('18', 'At least 18');
		jQuery("#campaign-post_author_age").require().match('number').lesserThanOrEqualTo('100', "Too old.");
		jQuery("#campaign-post_terms").require('You must accept the terms and conditions');
		var result = jQuery.validity.end();
		*/
		var filename = $("#campaign-filename").attr("value");
		var name = $("#campaign-post_author_name").attr("value");
		
		// Show loader
		var loader = "<img src=\""+styleurl+"/images/loader.gif\" />";
		$("#container #content #compete_recorder #compete_button").html(loader);
		
		$("#container #content #compete_recorder #compete_button #record-submit").unbind('click.transferMovie');
		$("#container #content #compete_recorder #recorder").html("");
		
		$("#container #content #compete_recorder #recorder").css("background-position", "0 -540px");
		$.get("", { recorder: "1", m: "transfer_movie", n: filename, t: escape(name) }, function(data){		
			//$("#container #content #compete_recorder #recorder").css("background-position", "0 -810px");
			$("#container #content #compete_recorder #recorder").html("");
			$("#campaign-video_id").attr("value", data);
			
			formSubmit();
		}, "text");
		
		return false;
	});
}

formSubmit = function() {
	if ($("#campaign-video_id").attr("value").length != 11) {
		alert('An error occured when uploading movie to Youtube, please try again');
		var url = siteurl+"/compete";    
		$(location).attr('href',url);
		return false;
	}
	
	$("#container #content #compete_recorder #recorder").html("");
	
	var entry = 'true';
	var author = $("#campaign-post_author_name").attr("value");
	var email = $("#campaign-post_author_email").attr("value");
	var age = $("#campaign-post_author_age").attr("value");
	var video = $("#campaign-video_id").attr("value");
	var file = $("#campaign-filename").attr("value");
	
	$.get("", { 
			campaign: entry, 
			post_author_name: author, 
			post_author_email: email,
			video_id: video,
			post_author_age: age,
			filename: file }, function(data){		
		$("#container #content #compete_recorder #recorder").css("background-position", "0 -810px");
		$("#container #content #compete_recorder #recorder").html("");

		// Remove loader
		$("#container #content #compete_recorder #compete_button").html("");
		
		// Redirect user
		var url = siteurl+"/thank-you/?post="+data.post;    
		$(location).attr('href',url);
	}, "json");
	return false;
}

getRecorder = function() {

    jQuery.validity.start();
    
    jQuery("#campaign-post_author_name").require().minLength(3, "You must enter your name.");
    jQuery("#campaign-post_author_name").require().maxLength(25, "Your name is too long.");
	jQuery("#campaign-post_author_email,#campaign-post_author_email_confirm").require().match('email').maxLength(70).equal("Email addresses do not match"); 
	
	jQuery("#campaign-post_author_age").require().match('number').greaterThanOrEqualTo('18', 'At least 18');
	jQuery("#campaign-post_author_age").require().maxLength(2, "Too old.");
	jQuery("#campaign-post_terms").require('You must accept the terms and conditions');
	
    var result = jQuery.validity.end();
	
	if (result.valid == true) {
		var filename = $("#campaign-filename").attr("value");
		
		$.get(siteurl+"/", { recorder: "1", m: "get_recorder", n: filename }, function(data){
			
			$("#campaign-go").unbind('click.getPlayer');
			
			$("#container #content #compete_recorder #recorder").css("background-position", "0 -270px");
			$("#container #content #compete_recorder #recorder").html(data);
		});
	} else {
		// Validation is False
		//alert("Not go");
	}
	return false;
}

browseFile = function() {

    jQuery.validity.start();
    
    jQuery("#campaign-post_author_name").require().minLength(3, "You must enter your name.");
    jQuery("#campaign-post_author_name").require().maxLength(25, "Your name is too long.");
	jQuery("#campaign-post_author_email,#campaign-post_author_email_confirm").require().match('email').maxLength(70).equal("Email addresses do not match"); 
	
	jQuery("#campaign-post_author_age").require().match('number').greaterThanOrEqualTo('18', 'At least 18');
	jQuery("#campaign-post_author_age").require().maxLength(2, "Too old.");
	jQuery("#campaign-post_terms").require('You must accept the terms and conditions');
	
    var result = jQuery.validity.end();
	
	if (result.valid == true) {
	
		$.get(siteurl+"/", { recorder: "1", m: "get_file-browser" }, function(data){
			
			$("#get-file-browser").unbind('click.browseFile');
			
			$("#container #content #compete_recorder #recorder").css("background-position", "0 -1080px");
			$("#container #content #compete_recorder #recorder").html(data);
			setFileBrowser();
		});
	} else {
		// Validation is False
		//alert("Not go");
	}
	return false;
}

setFileBrowser = function() {
	var button = $('#browse-file'), interval;
	
	new AjaxUpload(button, {
		//action: 'do-nothing.htm', 
		action: 'http://gumball.betsafe.com/red5/upload-handler.php', 
		name: 'userfile',
		onSubmit : function(file, ext){
			ext = ext.toLowerCase();
			//alert(ext.strLowerCase());
			if (ext && /^(mov|flv|avi|mpeg|mpg|wmv|3gp|3g2|mp4|m4v)$/.test(ext)){
				// change button text, when user selects file			
				button.val('Uploading');
				
				var loader = "<img src=\""+styleurl+"/images/loader.gif\" />";
				$("#container #content #compete_recorder #compete_button").html(loader);
				$("#container #content #compete_recorder #recorder").css("background-position", "0 -1350px");
								
				// If you want to allow uploading only 1 file at time,
				// you can disable upload button
				this.disable();
				
				// Hide button
				$('#browse-file').css('display', 'none');
				
				// Uploding -> Uploading. -> Uploading...
				interval = window.setInterval(function(){
					var text = button.val();
					if (text.length < 13){
						button.val(text + '.');					
					} else {
						button.val('Uploading');				
					}
				}, 200);
			} else {
				alert('The chosen filetype is not supported.');
				return false;
			}
			
		},
		onComplete: function(file, response){
			button.val('Uploaded');
			$("#container #content #compete_recorder #compete_button").html("");
						
			$("#record-submit").css('display', 'block');
			window.clearInterval(interval);
			//alert(response);
			if (response == "error") {
				alert('Upload failed');
			} else if (response == "exceed") {
				alert('File exceeds size limit');
			}
			
			if (response == "error" || response == "exceed") {
				button.val('Browse');
				$('#browse-file').css('display', 'block');
				$("#container #content #compete_recorder #recorder").css("background-position", "0 -1080px");
				this.enable();
				return false;
			}
			
			
			$("#container #content #compete_recorder #recorder").css("background-position", "0 -1620px");
			
			
			$("#record-submit").bind('click.transferMovie', function(event){
				
				var filename = $("#campaign-filename").attr("value");
				var name = $("#campaign-post_author_name").attr("value");
				
				// Show loader
				var loader = "<img src=\""+styleurl+"/images/loader.gif\" />";
				$("#container #content #compete_recorder #compete_button").html(loader);
				
				$("#container #content #compete_recorder #compete_button #record-submit").unbind('click.transferMovie');
				$("#container #content #compete_recorder #recorder").html("");
				
				$("#container #content #compete_recorder #recorder").css("background-position", "0 -540px");
				$.get("", { recorder: "1", m: "transfer_movie", n: filename, t: escape(name), f: file }, function(data){		
					//$("#container #content #compete_recorder #recorder").css("background-position", "0 -810px");
					$("#container #content #compete_recorder #recorder").html("");
					$("#campaign-video_id").attr("value", data);
					
					formSubmit();
				}, "text");
				
				return false;
			});
		}
	});
}

$(document).ready(function(){
	$("#campaign-go").bind('click.getPlayer', function(event){
		getRecorder();
	});
	$("#get-file-browser").bind('click.browseFile', function(event){
		browseFile();
	});
});