var urlPatterns = {
	flickr: ["http://www.flickr.com/photos/tags/%value%/", "Flickr: Photos tagged with %value%"],
	sevenload: ["http://de.sevenload.com/tags/%value%", "Bilder und Videos, getaggt mit \"%value%\" | sevenload"],
	youtube: ["http://www.youtube.com/results?search_query=%value%","YouTube - Suche nach %value%"],
	googlenews: ["http://news.google.de/news?hl=de&q=%value%","Google News - Suche nach %value%"],
	googleimages: ["http://images.google.de/images?hl=de&q=%value%","Google Bildsuche - Suche nach %value%"]
}

function updateWithTitle (urlfield, titlefield) {
	if ($(titlefield).value == "") {
		var url = $(urlfield).value;
		var myAjax = new Ajax.Request ("/pageanalyzer/get_title", 
			{	method: 'get',
				parameters: "url="+url,
				onSuccess: function(originalRequest) {
					$(titlefield).value = originalRequest.responseText;
				}
			});
	}
}

function getSections (_select) {
	var sections = '<option value="-1">-Abschnitt w&auml;hlen-</option>';
	var tiny = tinyMCE.getInstanceById('mce_editor_0');
	var doc = tiny.getDoc();
	var elms = $A(doc.getElementsByTagName("*"));
	
	elms.each(function(elm){
		if(elm.tagName.match (/^H[2,3]/)) {
			sections += "<option>"+elm.firstChild.data+"</option>"
		}
	});		
	Element.update ($(_select), sections);
}

function updateMce (_url, _section) {
	var url = $(_url).value;
	document.updateSection = _section;
	document.updateUrl = _url;
	var myAjax = new Ajax.Request ("/pageanalyzer/get_title", 
			{	method: 'get',
				parameters: "url="+url,
				onSuccess: function(originalRequest) {
					var section = $(document.updateSection).value;
					var tiny = tinyMCE.getInstanceById('mce_editor_0');
					var doc = tiny.getDoc();
					if (section == "-1") {
						/* Still gotta fix this for IE
						var a = doc.createElement ("a");
						a.href = document.updateUrl;
						var tn = doc.createTextNode(originalRequest.responseText);
						a.appendChild(tn);
						
						doc.body.firstChild.insertBefore(a);
						*/
						//new Insertion.Top (doc.body, '<a href="'+$(document.updateUrl).value+'>'+originalRequest.responseText+'</a><br />');
						insertHTML ('<a href="'+$(document.updateUrl).value+'>'+originalRequest.responseText+'</a><br />')
					} else {
						var elms = $A(doc.getElementsByTagName("*"));
						elms.each (function(elm) {
							if(elm.tagName.match (/^H[2,3]/)) {
								if (elm.firstChild.data == $(document.updateSection).value) {
									new Insertion.After(elm, '<a href="'+$(document.updateUrl).value+'>'+originalRequest.responseText+'</a><br />');
								}
							}
						});
					}
				}
			});
}

function insertHTML(html) {
    tinyMCE.execInstanceCommand("mce_editor_0","mceInsertContent",false,html);
}

function previewStandard (type, value) {
	var hash = $H(urlPatterns);
	var p = hash.find (function(item){return item.key==type});
	if (p != null) {
		var pattern = p.value;
		var url = pattern[0].replace (/%value%/, value);
		w = window.open(url, "Preview", "width=800,height=400,left=100,top=200");
	}
}

function insertStandard (type, value) {	
	var hash = $H(urlPatterns);
	var p = hash.find (function(item){return item.key==type});
	if (p != null) {
		var pattern = p.value;
		var url = pattern[0].replace (/%value%/, value);
		var linktext = pattern[1].replace (/%value%/, value);
		var html = '<a href="'+url+'">'+linktext+"</a>";
		insertHTML (html);
	}

}