﻿// ########################################
// Functions for image archive
function editDescription(imgGuid) {
	var descDiv = document.getElementById("imagedescription");
	var editDescDiv = document.getElementById("editdescription");
	descDiv.style.display = "none";
	editDescDiv.style.display = "block";
	return true;
}

function saveDescription(imgGuid) {
	var newDescription = document.getElementById("descriptioninput").value;
	var uri = "assets/site/php/archive-image-editdescription.php";
	var postData = "imgguid="+ imgGuid;
	postData += "&newdescription=" + escape(newDescription);
	var request = YAHOO.util.Connect.asyncRequest('POST', uri, { success:responseSuccess_saveDescription, failure:responseFailure_saveDescription  }, postData);   
}
var responseSuccess_saveDescription = function(o) {
	var doc = o.responseXML;
	//alert(doc);
	var resultNode = doc.getElementsByTagName('action')[0];     
	var success = resultNode.getAttribute("success");
	var errormessage = "";
	if(resultNode.lastChild != undefined )
		errormessage = resultNode.lastChild.nodeValue;
	
	if(success == "false") {
		alert(errormessage);
	} else {
		// Show new imageDescription
		var descDiv = document.getElementById("imagedescription");
		var editDescDiv = document.getElementById("editdescription");
		var descSpan = descDiv.getElementsByTagName("span")[0];
		descSpan.innerHTML = document.getElementById("descriptioninput").value;
		descDiv.style.display = "block";
		editDescDiv.style.display = "none";
	}
}
var responseFailure_saveDescription = function(o) {
	alert("Fel kunde inte uppdatera bildtexten. (" + o.status  + ", " + o.statusText + ")"); 
}

// Toggle checkbox when clicking on image in edit image archive popup
function toggleCheckbox(objImg) {
	var imgDiv = objImg.parentNode;
	var checkbox = imgDiv.getElementsByTagName("input")[0];
	checkbox.checked = !checkbox.checked;
}

// Change class on images when user selected new background imag
function selectCoverImg(objImg, guid) {
	var table = document.getElementById("imagearchiveedit");
	var divs = table.getElementsByTagName("div");
	// Unselect old selection
	for(i=0; i<divs.length; i++) {
		if(divs[i].className == "editimage selected")
			divs[i].className = "editimage";
	}
	// Select new image
	var imgDiv = objImg.parentNode;
	imgDiv.className = "editimage selected";
	var divCounter = 0;	
	// Update cover input
	var coverInput = document.getElementById("cover");
	coverInput.value = guid;
}

// Save changes in update image archive popup
function updateImageArchive(objForm) {
	var postData = "";
	var tags = Array("input", "select", "textarea");
    
	for(tagIndex=0;tagIndex<tags.length;tagIndex++) {
    
		objs = objForm.getElementsByTagName( tags[tagIndex] );    
		for(i=0;i<objs.length;i++) {
                
			// Dont add unchecked checkboxes or radiobuttons
			if( (objs[i].type=="checkbox" || objs[i].type=="radio" ) && !objs[i].checked)
				continue 
                
			if(postData!="")
				postData += "&";
			postData += objs[i].name + "=" + escape(objs[i].value);
		}
	}
	var method = objForm.method;
	var uri = objForm.action;
	//alert("uri:"+uri+" method:"+method);
	//alert(postData); 
	var request = YAHOO.util.Connect.asyncRequest(method , uri, { success:responseSuccess_updateImageArchive, failure:responseFailure_updateImageArchive }, postData);
	return false;

}
var responseSuccess_updateImageArchive = function(o) {
	var doc = o.responseXML;
	var resultNode = doc.getElementsByTagName('action')[0];     
	var success = resultNode.getAttribute("success");
	var errormessage = "";
	if(resultNode.lastChild != undefined )
		errormessage = resultNode.lastChild.nodeValue;
	var errorfield = resultNode.getAttribute("errorfield");
	
	if(success == "false") {
		var message = document.getElementById("infomessage");
		if(message != null) {
			message.style.display="block";
			message.innerHTML = "" + errormessage;
			if(errorfield != null) {
				var field = document.getElementsByName(errorfield)[0];
				field.focus();
				if(field.type=="text")
					field.select();
			}
		} else {
			alert(errormessage);
		}
	} else {
		infoClose();
		// Update window to see changes
		document.location.reload();
	}
}
var responseFailure_updateImageArchive = function(o)
{
	var message = document.getElementById("infomessage");
	if(message != null) {
		message.style.display="block";
		message.innerHTML = "Fel kunde inte spara ändringarna.\n";
	}
}
