var DoSomethingActions = {
	playerSelector: {
		session: Math.floor(Math.random() * 100000),

		postsId: 0,
		canAdmin: 0,

		load: function(postsId, usersId, canAdmin) {
			this.postsId = postsId;
			this.canAdmin = canAdmin
			$.getScript("/players/list/?skin=json&callback=DoSomethingActions.playerSelector.loaded&reorder=1&users_id="+ usersId +"&cachekey=" + this.session);
		},

		loaded: function(players) {
	                var select = document.getElementById('ShowPlayers');
			select.options.length = 1;
			var self = this;
			select.onchange = function() { self.getEmbedCode(this.value,self.postsId); };
			if (players && players.length > 0) {
			    for (var i=0; i<players.length; i++) {
				if (players[i].id) {
				    select.options[i] = new Option(players[i].name,players[i].id);
				}
				if ( i+1 == players.length) {
				    select.options[i+1] = new Option('Standard Player',-1);
				}
			    }
			} 
			else {
			    select.options[0] = new Option('Standard Player',-1);
			}
				    
			var playerId = select.options[0].value;

			this.getEmbedCode(playerId,this.postsId);
		},

		getEmbedCode: function(playersId,postsId) {			
			var url = "/players/embed/?posts_id=" + postsId + "&players_id=" + playersId +
			"&skin=json&callback=DoSomethingActions.playerSelector.gotEmbedCode&cachekey=" +
			this.session;

			if (this.canAdmin != 1) {
			    url += "&users_id=-2&width=480";
			}

			$.getScript(url);
		},

		gotEmbedCode: function(params) {
			if (params && params.length && params[0] && params[0].code) {
				var code = params[0].code;
				var textarea = document.getElementById('ShowPlayerCode');
				textarea.value = code;
			}
		}
	},
	
	legacySelector : {

		itemId : 0,

		embedCode: function(CPO){
				code = CPO.code;
				var textarea = document.getElementById('legacy_player_code');
				textarea.value = code.replace("  ", " ");
		},

		getEmbedCode : function(itemId) {
			var url = "/syndication/copypaste/?item_type=file&id=" + itemId + 
			"&playback_style=" + $("#playback_style").val() +
			"&preferred_file_type_name="+ $("#file_format").val() +
			"&ctp_text=" + $("#ctp_text").val() + 
			"&player_width="+ $("#legacy_player_width").val() +
			"&player_height="+ $("#legacy_player_height").val() +
			"&skin=json&callback=DoSomethingActions.legacySelector.gotEmbedCode";
			$.getScript(url);
		},
		
		gotEmbedCode : function(params) {
			if(params && params.length && params[0]) {
				var CPO = params[0];
				this.embedCode(CPO);
			}

		},
		
		initialize : function(itemId) {
			this.itemId = itemId;
			$.getScript("/syndication/copypaste/?item_type=file&id=" + itemId + "&skin=json&callback=DoSomethingActions.legacySelector.initialized");
		},
		
		initialized : function (params) {
			if(params && params.length && params[0]) {
				var CPO = params[0];
				this.embedCode(CPO);
				
				var filetypes_select = document.getElementById("file_format");
				var playback_style_select = document.getElementById("playback_style");
				
				$.each(CPO.filetypes, function(i) {
					filetypes_select.options[filetypes_select.options.length] = new Option(this.description, this.name);
				});
 
				$.each(CPO.playbackStyles, function(i) {
					playback_style_select.options[playback_style_select.options.length] = new Option(this.title, this.name);
				});

				
				filetypes_select.value = "flv";
				playback_style_select.value = "flipper";
				
				$("#legacy_player_width").attr("value", CPO.width);
				$("#legacy_player_height").attr("value", CPO.height);

				var thisObj = this;
				
				$("#legacy_update_submit").click(function() {
					thisObj.getEmbedCode(thisObj.itemId);
				});

			}
		}	
	},

	crosspostSelector : {

		initialize : function() {
			
			var crosspostSubmit = $("#crosspostSubmit");
			var thisObj = this;
			if (crosspostSubmit) {
				crosspostSubmit.click(function() {
					thisObj.submit();
				});
			}
		},
		
		submit : function() {
			var serializedData = $("#crosspostForm").serialize();
			$.post("/posts/share/?skin=xmlhttprequest", serializedData, function(response) {
				if (/<notice>OK/.test(response)) {
					$("#SomethingContents").load("/dosomething/blog?no_wrap=1 #Confirmation");
					$("#SomethingContents").empty();
					$("#SomethingError").empty();
				} else {
					$("#SomethingError").text("Please select one or more blogs!");
				}
			}, "text");
		}

	},

	emailSender : {

		postsId : -1,
	
		initialize : function(postsId) {
			
			this.postsId = postsId;
			var emailSubmit = $("#emailSubmit");
			var thisObj = this;
			if (emailSubmit) {
				emailSubmit.click(function() {
					thisObj.submit();
				});
			}
		},
		
		submit : function() {
			var serializedData = $("#emailForm").serialize();
			serializedData += "&id=" + this.postsId;
			$.post("/posts/email/?skin=xmlhttprequest", serializedData, function(response) {
				if (/<notice><p>An/.test(response)) {
					$("#SomethingContents").load("/dosomething/share?no_wrap=1 #Confirmation");
					$("#SomethingContents").empty();
					$("#SomethingError").empty();
				} else {
					$("#SomethingError").text("Please make sure to fill out all fields correctly!");
					EpisodePageWriter.insertCaptcha();
				}
			}, "text");
		}
	},
	
	wordpressSelector : {
		
		initialize : function(postsId) {
			var embedCode ="[blip.tv ?posts_id=" + postsId + "&dest=-1]";
			var textarea = document.getElementById('WPCode');
			textarea.value = embedCode;
		}
		
	}
	
};
