// EDIT/SAVE CAPTION

function expandcollapse (postid) {
	whichpost = document.getElementById(postid);
	if (whichpost.className=="postshown") { whichpost.className="posthidden"; }
	else { whichpost.className="postshown"; }
}

function editCaptionBox(caption, contentid){	
	
	document.getElementById("caption").innerHTML = "<input maxlength=55 class=\"captionedit\" id=\"captioninput\" onKeyPress=\"javascript:saveCaption("+contentid+", 1 ,event);\" type=\"text\" class=\"tagedit\" /><input type=\"button\" class=\"submitbutton\" onclick=\"javascript:saveCaption("+contentid+", 2, event);\" value=\"Lagre\" /><input type=\"button\" class=\"submitbutton\" onClick=\"javascript:orgCaption('"+caption+"','"+contentid+"');\" value=\"Angre\" />";
	var lsRegExp = /\+/g;		
	caption = unescape(String(caption).replace(lsRegExp, " "));
	document.getElementById("captioninput").value = caption;	
	document.getElementById("captioninput").select();	
}

function orgCaption(caption, contentid){
	
	var lsRegExp = /\+/g;		
	caption = unescape(String(caption).replace(lsRegExp, " "));		
	document.getElementById("caption").innerHTML = "<a onclick=\"javascript:editCaptionBox('"+escape(caption)+"','"+contentid+"');\"><h2 class='title' id='videoplayercaption' >"+caption+"</h2></a>";
}

function saveCaption(contentid, modus, e){	
	var caption = escape(document.getElementById("captioninput").value);
	if(caption){
		if (e.which == 13 || e.which == 1 || modus == 2){	
			document.getElementById("captionloader").style.display = '';			
			http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveCaptionForm&contentid=" + contentid +"&caption=" +escape(caption), true);
			http.onreadystatechange = handleSaveCaptionHttpResponse;
			http.send(null);
		}
		else if (e.keyCode == 13 || modus == 2){	
			document.getElementById("captionloader").style.display = '';		
			http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveCaptionForm&contentid=" + contentid +"&caption=" +escape(caption), true);
			http.onreadystatechange = handleSaveCaptionHttpResponse;
			http.send(null);
		}
	}
}

function handleSaveCaptionHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			var contentId = xmlDocument.getElementsByTagName('content_id').item(0).firstChild.data;
			if(xmlDocument.getElementsByTagName('caption').item(0).firstChild){
				var caption = xmlDocument.getElementsByTagName('caption').item(0).firstChild.data;	
			}
			else{
				var caption = 'videotittel';
			}
			
			sCaption = splitCaption2(caption);
					
			var html = "<a onclick=\"javascript:editCaptionBox('"+escape(caption)+"','"+contentId+"');\"><h2 class='title' id='videoplayercaption' >"+sCaption+"</h2></a>";	 										
		 	document.getElementById("caption").innerHTML = html;	
		 	document.getElementById("captionloader").style.display = 'none';							
			isWorking = false;
		}
	}
}

// EDIT/SAVE DESCRIPTION


function editDescriptionBox(description, contentid){
	
	document.getElementById("descri").innerHTML = "<textarea id=\"descriptioninput\" class=\"descriptionedit\"></textarea><input type=\"button\" class=\"submitbutton\" onclick=\"javascript:saveDescription("+contentid+", 2, event);\" value=\"Lagre\" /><input type=\"button\" class=\"submitbutton\" onclick=\"javascript:orgDescription('"+description+"','"+contentid+"');\" value=\"Angre\" />";	
	var lsRegExp = /\+/g;		
	description = unescape(String(description).replace(lsRegExp, " "));	

	document.getElementById("descriptioninput").value = description;	
	document.getElementById("descriptioninput").select();		
}

function orgDescription(description, contentid){
	var lsRegExp = /\+/g;		
	description = unescape(String(description).replace(lsRegExp, " "));		
	sdesc = description.substring(0,70);
	ldesc = description.substring(70);
	
	if (description.length > 70){
		document.getElementById("descri").innerHTML = "<span class=\"post-txt\"><a onClick=\"javascript:editDescriptionBox('"+escape(description)+"','"+contentid+"')\">"+sdesc+"</a></span><span class='posthidden' id='6153'>"+ldesc+"</span>... <a href=\"javascript:expandcollapse(6153)\">Les mer</a></span>"; 		
	}
	else {
		document.getElementById("descri").innerHTML = "<span class=\"post-txt\"><a onClick=\"javascript:editDescriptionBox('"+escape(description)+"','"+contentid+"')\">"+sdesc+"</a></span><span class='posthidden' id='6153'>"+ldesc+"</span>"; 	
	}
	
}

function saveDescription(contentid, modus, e){
		
	if (e.which == 13 || e.which == 1 || modus == 2){		
		document.getElementById("descriptionloader").style.display = '';	
		var description = escape(document.getElementById("descriptioninput").value);
		http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveDescriptionForm&contentid=" + contentid +"&description=" +escape(description), true);			
		http.onreadystatechange = handleSaveDescriptionHttpResponse;
		http.send(null);		
	}
	else if(modus == 2 || e.keyCode == 13){			
		document.getElementById("descriptionloader").style.display = '';	
		var description = escape(document.getElementById("descriptioninput").value);
		http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveDescriptionForm&contentid=" + contentid +"&description=" +escape(description), true);
		http.onreadystatechange = handleSaveDescriptionHttpResponse;
		http.send(null);
		
	}
}

function handleSaveDescriptionHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;	
			if(xmlDocument.getElementsByTagName('description').item(0).firstChild){									
				var description = xmlDocument.getElementsByTagName('description').item(0).firstChild.data;
			}
			else{
				var description = 'Skriv inn bildetekst her.';
			}			
			
			var contentid = xmlDocument.getElementsByTagName('content_id').item(0).firstChild.data;			

		 	sdesc = description.substring(0,70);
			ldesc = description.substring(70);
			if (description.length > 70){
				document.getElementById("descri").innerHTML = "<span class=\"post-txt\"><a onClick=\"javascript:editDescriptionBox('"+escape(description)+"','"+contentid+"')\">"+sdesc+"</a></span><span class='posthidden' id='6153'>"+ldesc+"</span>... <a href=\"javascript:expandcollapse(6153)\">Les mer</a></span>"; 		
			}
			else {
				document.getElementById("descri").innerHTML = "<span class=\"post-txt\"><a onClick=\"javascript:editDescriptionBox('"+escape(description)+"','"+contentid+"')\">"+sdesc+"</a></span><span class='posthidden' id='6153'>"+ldesc+"</span>"; 	
			}
 	
		 	document.getElementById("descriptionloader").style.display = 'none';									
			isWorking = false;
		}
	}
}

// DELETE

function deleteVideo(contentid){
	var ok = confirm("Vil du slette denne videoen?");	
	if(ok){
		document.getElementById('deleted').style.display = '';
		document.getElementById('deleted').innerHTML = '<b>Vent mens videoen slettes...</b>';
		http.open("GET", "?op=DeleteVideo&contentId=" + contentid, true);
		http.onreadystatechange = handleDeleteVideoHttpResponse;
		http.send(null);
	}
}

function handleDeleteVideoHttpResponse(){
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			var contentId = xmlDocument.getElementsByTagName('content_id');															 			 	
			isWorking = false;	
			if(contentId){					
				document.getElementById('deleted').innerHTML = '<b>Videoen er nå slettet.</b>';				
			}
		}
	}
}

// TAGS

function orgTags(contentid){	
	if (document.getElementById("tags_list_0") != undefined){
		document.getElementById("tags_list_0").style.display = '';
	} 		
}

function saveTags(contentid, tagstring){	 	
 	var tagstring = document.getElementById("hidden_tags").value + "_" + tagstring;	 	 	 	
 	http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveTagsForm&contentid=" + contentid +"&tagstring=" +tagstring, true);
	http.onreadystatechange = handleSaveTagsHttpResponse;
	http.send(null);
}

function handleSaveTagsHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			getExtTags(document.getElementById("hidden_contentid").value);		 	 		 				
			isWorking = false;
		}
	}
}

function getExtTags(contentid){
	http.open("GET", "http://blink.dagbladet.no/gallery/?op=GetExtTags&contentid=" + contentid, true);
	http.onreadystatechange = handleGetExtTagsHttpResponse;
	http.send(null);
}

function handleGetExtTagsHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			var objs = xmlDocument.getElementsByTagName('obj'); 		
			var html = "";
			var tags = "";
			document.getElementById('tags_list_0').innerHTML = '';
			var contentId = document.getElementById("hidden_contentid").value;
				for (i = 0; i <= (objs.length-1); i++) {					
					var tagId = xmlDocument.getElementsByTagName('tag_id').item(i).firstChild.data;
					var tagString = xmlDocument.getElementsByTagName('tag_string').item(i).firstChild.data;
					tags = tags + "_" +unescape(tagString)+ "";
					addTextTag(unescape(tagString), tagId, contentId);
				}
			document.getElementById("hidden_tags").value = tags;		
		 	document.getElementById("tagsloader").style.display = 'none';
			isWorking = false;
		}
	}
}

function deleteTag(tagid, contentid){
	
	document.getElementById("tagsloader").style.display = '';	
	http.open("GET", "http://blink.dagbladet.no/gallery/?op=DeleteTag&tagid=" + tagid + "&contentid=" + contentid, true);
	http.onreadystatechange = handleDeleteTagsHttpResponse;
	http.send(null);
}

function handleDeleteTagsHttpResponse(){
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			var objs = xmlDocument.getElementsByTagName('obj'); 		
			var html = "";
			var tags = "";		
			var contentId = document.getElementById("hidden_contentid").value;
				
				for (i = 0; i <= (objs.length-1); i++) {					
					var tagId = xmlDocument.getElementsByTagName('tag_id').item(i).firstChild.data;
					var tagString = xmlDocument.getElementsByTagName('tag_string').item(i).firstChild.data;					
					tags = tags + "_" +unescape(tagString)+ "";					
				}		
			document.getElementById("hidden_tags").value = tags;				 	
		 	document.getElementById("tagsloader").style.display = 'none';		 				
			isWorking = false;
		}
	}
}

// GEOTAGS

function orgGeos(){
	document.getElementById("editgeotags").style.display = 'none';	
}

function editGeoTagsBox(contentid){
	document.getElementById("editgeotags").style.display = '';	
	getExtGeos(contentid);
}

function getExtGeos(contentid){
	http.open("GET", "http://blink.dagbladet.no/gallery/?op=GetExtGeoTags&contentid=" + contentid, true);
	http.onreadystatechange = handleGetExtGeoTagsHttpResponse;
	http.send(null);
}

function handleGetExtGeoTagsHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {							
			var xmlDocument = http.responseXML;													
			var contentId = document.getElementById("hidden_contentid").value;						
			var geoLong = xmlDocument.getElementsByTagName('geo_long').item(0).firstChild.data;			
			var geoLat = xmlDocument.getElementsByTagName('geo_lat').item(0).firstChild.data;
			var geoUni = xmlDocument.getElementsByTagName('geo_uni').item(0).firstChild.data;
			var geoName = xmlDocument.getElementsByTagName('geo_name').item(0).firstChild.data;
			var geoNameNd = xmlDocument.getElementsByTagName('geo_name_nd').item(0).firstChild.data;
			var geoAdm = xmlDocument.getElementsByTagName('geo_adm').item(0).firstChild.data;
			var geoCountry = xmlDocument.getElementsByTagName('geo_country').item(0).firstChild.data;
			var geoAdm1 = xmlDocument.getElementsByTagName('geo_adm1').item(0).firstChild.data;			
			var geoString = ''; 
			if(geoAdm1 != 'NULL') geoString = geoAdm1;
			if(geoCountry != 'NULL') geoString = geoString+ ", " + geoCountry;
			
			document.getElementById("geotags").value = geoName + " ("+geoString+")";		
			document.getElementById("geotags").focus();
		 							
			isWorking = false;
		}
	}
}

function saveGeoKeypress(modus, e){
	if(e.which == 13 || e.which == 1 || modus == 2){		
	}
	else if(e.keyCode == 13 || modus == 2){
	}
}

function saveGeoTags(){
	geoUni = document.getElementById('geotags_uni').value;
	if (geoUni == ""){
		getOrgGeos();
	}
	else {
		var contentId = document.getElementById("hidden_contentid").value;	
		var geoLong = document.getElementById('geotags_long').value;
		var geoLat = document.getElementById('geotags_lat').value;		
		var geoName = document.getElementById('geotags_name').value;
		var geoNameNd = document.getElementById('geotags_name_nd').value;
		var geoAdm = document.getElementById('geotags_adm').value;
		var geoCountry = document.getElementById('geotags_country').value;
		var geoAdm1 = document.getElementById('geotags_adm1').value;
		http.open("GET", "http://blink.dagbladet.no/gallery/?op=SaveGeoTags&contentid=" + contentId+"&geoUni="+geoUni +"&geoLong="+geoLong+"&geoLat="+geoLat+"&geoName="+geoName+"&geoNameNd="+geoNameNd+"&geoAdm="+geoAdm+"&geoCountry="+geoCountry+"&geoAdm1="+geoAdm1, true);	
		http.onreadystatechange = handleSaveGeoTagsHttpResponse;
		http.send(null);
	}
}

function getOrgGeos(){
	contentid = document.getElementById("hidden_contentid").value;
	document.getElementById("editgeotags").style.display = 'none';	
	http.open("GET", "http://blink.dagbladet.no/gallery/?op=GetExtGeoTags&contentid=" + contentid, true);
	http.onreadystatechange = handleGetOrgGeoTagsHttpResponse;
	http.send(null);
}

function handleGetOrgGeoTagsHttpResponse(){
	if (http.readyState == 4) {		
		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;														
			var contentId = document.getElementById("hidden_contentid").value;						
			var geoLong = xmlDocument.getElementsByTagName('geo_long').item(0).firstChild.data;
			var geoLat = xmlDocument.getElementsByTagName('geo_lat').item(0).firstChild.data;
			var geoUni = xmlDocument.getElementsByTagName('geo_uni').item(0).firstChild.data;
			var geoName = xmlDocument.getElementsByTagName('geo_name').item(0).firstChild.data;
			var geoNameNd = xmlDocument.getElementsByTagName('geo_name_nd').item(0).firstChild.data;
			var geoAdm = xmlDocument.getElementsByTagName('geo_adm').item(0).firstChild.data;
			var geoCountry = xmlDocument.getElementsByTagName('geo_country').item(0).firstChild.data;
			var geoAdm1 = xmlDocument.getElementsByTagName('geo_adm1').item(0).firstChild.data;			
			
			var geostring; 
			if (geoCountry != "NULL"){
				geostring = geoCountry;
			}
			if (geoAdm1 != "NULL"){
				geostring = geoAdm1 +", "+ geostring; 
			}
					
			document.getElementById("detailgeotags").innerHTML = "Videoen er tatt i <a href=\"?op=ViewUserContentByGeoTag&geo="+geoUni+"\">"+geoName+"</a>, "+geostring+"<a onclick=\"javascript:editGeoTagsBox("+contentId+");\"> [Endre]</a>";
		 							
			isWorking = false;
		}
	}
}

function handleSaveGeoTagsHttpResponse() {
	if (http.readyState == 4) {		
		if (http.responseText.indexOf('invalid') == -1) {				
			var xmlDocument = http.responseXML;				
			getOrgGeos();
			isWorking = false;
		}
	}
}

function orgGeoTags(){	
	document.getElementById("editgeotags").style.display = 'none';	
}

// TOOLS

function splitCaption2(caption){
	
	var words=caption.split(" ")
	i = 0;
	newCaption = "";		
	while (i < words.length){	
		if (words[i].length > 27){			
			if(words[i].indexOf('-') > 0){								
				words[i] = words[i].replace(/-/g,' ');				
			}
			else{
				j = 0;
				newWord = "";
				while (j <= words[i].length){		
					part = words[i].slice(j, j+27);						
					if (newWord == "") {
						newWord = part;
					}
					else {
						newWord = newWord + " " + part;	
					}									
					j = j + 27;
				}
				words[i] = newWord;						 	
			}
		}		
		newCaption = newCaption + " " + words[i];	
		i++;
	}
	return newCaption;
}

// Ajax basics

function getHTTPObject() { 
	var xmlhttp; /*@cc_on 
	@if (@_jscript_version >= 5) 
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } 
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } 
	catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/  

	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
		try { xmlhttp = new XMLHttpRequest(); 
	} 
	catch (e) { xmlhttp = false; } } 
	return xmlhttp; 
} 

var http = getHTTPObject(); // We create the HTTP Object 
