var $ = YAHOO.util.Dom.get;

function setTopicSubscribe(topicId, subscribe, node) {
	node.innerHTML = "Please wait...";
	YAHOO.util.Connect.asyncRequest("POST", "topic_subscription.do",
		{
			success: function(o) {
				var result = eval('(' + o.responseText + ')');
				if (result.type == "invalid") {
					var messages = result.messages.join("\n");
					alert(messages);
				} else if (result.type == "success") {
					if (subscribe) {
						node.innerHTML = "Unsubscribe from this topic";
					} else {
						node.innerHTML = "Subscribe to this topic";
					}
				} else {
					alert("Unknown result: " + result.type);
				}
			},
			failure: function(o) {
				alert("Error: " + o.statusText);
			}
		},
		"topicId=" + topicId + "&subscribe=" + subscribe);
}

function previewPost(body, node, resultNode) {
	node.value = "Please wait...";
	node.disabled = true;
	resultNode.innerHTML = "";
	
	YAHOO.util.Connect.asyncRequest("POST", "postpreview.sm", {
			success: function(o) {
				resultNode.innerHTML = o.responseText;
				node.value = "Preview";
				node.disabled = false;
			},
			failure: function(o) {
				alert("Error: " + o.statusText);
				node.value = "Preview";
				node.disabled = false;
			}
		}, "body=" + escape(body));
}

function initTopic() {
	YAHOO.util.Event.on("topic-subscribe", "click", function(e) {
		subscribed = !subscribed;
		setTopicSubscribe(topicId, subscribed, YAHOO.util.Dom.get("topic-subscribe"));
		YAHOO.util.Event.preventDefault(e);
		return true;
	});
	
	YAHOO.util.Event.on(YAHOO.util.Dom.getElementsByClassName("btn-delete-post"), "click", function(e) {
		if (!window.confirm("Are you sure you want to delete this post?")) {
			YAHOO.util.Event.preventDefault(e);
		}
		return true;
	});
	
	initNewTopic();
}

function initNewTopic() {
	YAHOO.util.Event.on("btn-preview-post", "click", function(e) {
		previewPost($("btn-preview-post").form.body.value, $("btn-preview-post"), $("post-preview"));
		YAHOO.util.Event.preventDefault(e);
		return true;
	});
}

function initPost() {
	YAHOO.util.Event.on("btn-cancel", "click", function(e) {
		if (window.confirm("Are you sure you want to CANCEL any changes that you've made above?")) {
			history.go(-1);
			YAHOO.util.Event.preventDefault(e);
		}
	});
}

function getIframeDocument(el) {
    var oDoc = el.contentWindow || el.contentDocument;
    if(oDoc.document) {
        oDoc = oDoc.document;
    }
    return oDoc;
}

function insertYouTube(videoId) {
	if (FlashVersion >= 7) {
		document.write('<iframe allowtransparency="true" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="365" height="300" id="youtube' + videoId + '"></iframe>');
		document.write('<p><a href="http://www.youtube.com/watch?v=' + videoId + '" target="_blank">From YouTube</a></p>');
		YAHOO.util.Event.onDOMReady(function() {
			var iframe = $("youtube" + videoId);
			if (iframe != null) {
				getIframeDocument(iframe).write('<html><head><style type="text/css">body { background: transparent; }</style></head><body>' +
					'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="365" height="300"><param name="movie" value="http://www.youtube.com/v/' + videoId + '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' + videoId + '" type="application/x-shockwave-flash" wmode="transparent" width="365" height="300"></embed></object></body></html>');
			}
		});
	} else {
		document.write('<p><a href="http://www.adobe.com/go/getflashplayer/" target="_blank">Get Flash Player to watch videos</a></p>');
	}
}

function insertGoogleVideo(videoId) {
	if (FlashVersion >= 7) {
		document.write('<iframe allowtransparency="true" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="365" height="300" id="googlevideo' + videoId + '"></iframe>');
		document.write('<p><a href="http://video.google.com/videoplay?docid=' + videoId + '" target="_blank">From Google Video</a></p>');
		YAHOO.util.Event.onDOMReady(function() {
			var iframe = $("googlevideo" + videoId);
			if (iframe != null) {
				getIframeDocument(iframe).write('<html><head><script type="text/javascript" src="../js/swfobject.js"></script><style type="text/css">body { background: transparent; }</style></head><body>' +
					'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="365" height="300"><param name="movie" value="http://video.google.com/googleplayer.swf?docId=' + videoId + '&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://video.google.com/googleplayer.swf?docId=' + videoId + '&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="365" height="300"></embed></object></body></html>');
			}
		});
	} else {
		document.write('<p><a href="http://www.adobe.com/go/getflashplayer/" target="_blank">Get Flash Player to watch videos</a></p>');
	}
}

var flvCounter = 0;

function insertFLV(url) {
	if (FlashVersion >= 8) {
		flvCounter++;
		document.write('<iframe allowtransparency="true" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="365" height="300" id="flv' + flvCounter + '"></iframe>');
		YAHOO.util.Event.onDOMReady(function() {
			var iframe = $("flv" + flvCounter);
			if (iframe != null) {
				getIframeDocument(iframe).write('<html><head><style type="text/css">body { background: transparent; }</style></head><body>' +
					'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="365" height="300"><param name="movie" value="swf/flver.swf"></param><param name="flashvars" value="url=' + escape(url) + '"></param><param name="wmode" value="transparent"></param><embed src="swf/flver.swf" flashvars="url=' + escape(url) + '" type="application/x-shockwave-flash" wmode="transparent" width="365" height="300"></embed></object></body></html>');
			}
		});
	} else {
		document.write('<p><a href="http://www.adobe.com/go/getflashplayer/" target="_blank">Get Flash Player to watch videos</a></p>');
	}
}
