$(function () {
	function UndoMedia()
	{
		$("div.media").each(function(index) {
			$(this).media('undo');
		});
	}
	
	$("a.media").media();
	
	if (typeof RTE2_ViewSource == 'function')
	{
		base_RTE2_ViewSource = RTE2_ViewSource;
		RTE2_ViewSource = function(strBaseElementID, saveState)
		{
			var iv = RTE_GetEditorInstanceVariables(strBaseElementID);
			var editorOpenFromWebPartValue = '-1';
			for (var i = 0; i < iv.aSettings.length; i++)
			{
				var dictionaryItem = iv.aSettings[i];
				if (dictionaryItem[0] == "EditorOpenFromWebPart")
				{
					editorOpenFromWebPartValue = dictionaryItem[1];
					dictionaryItem[1] = 'True';
					break;
				}
			}
			if (editorOpenFromWebPartValue == '-1')
			{
				iv.aSettings[iv.aSettings.length] = new Array('EditorOpenFromWebPart', 'True');
			}
			iv.overrides.SaveSelection(strBaseElementID);
			
			base_RTE2_ViewSource(strBaseElementID, saveState);
		}
	}
	
	$("input[id$=diidIOSaveItem]").each(function(index) {
		var eventname = 'onclick';
		var saveclickattr = $(this).attr(eventname).toString();
		saveclickattr = saveclickattr.substring(saveclickattr.indexOf(";") + 1, saveclickattr.length - 2);
		
		$(this).attr(eventname, '');
		$(this).click(function(){
			UndoMedia();
			if (!PreSaveItem()) return false;
			eval(saveclickattr);
			return false;
		});
	});
	
	$("table[id=qaCheckin],[id=qaPublish],[id=qaApprovePublish]").each(function(index) {
		var eventname = 'onclick';
		var eventattr = $(this).attr(eventname).toString();
		
		eventattr = "UndoMedia();" +  eventattr.substring(eventattr.indexOf("{") + 2, eventattr.indexOf(";") + 1);
		
		$(this).attr(eventname, '');
		$(this).click(function(){
			eval(eventattr);
			return false;
		});
	});
	
	$(window).bind('beforeunload', function()
	{
		UndoMedia();
	});
});

