// Funktion som visar felmeddelanden
var errormessages = new Array();
function showErrors() {
 	if( errormessages.length > 0 ) {
 		mes = "Följande fel inträffade:\n\n";
 		for( i = 0; i < errormessages.length; i++ ) {
 			mes += (i+1) + ": " + errormessages[i] + "\n";
 		}
 		updateElement( messageelementname, mes );
		errormessages = new Array();
 	}
}

function changePicDescription( formname, userid, albumid, picname ) {
	text = document.forms[formname].picdesc.value;
	var elementname = picname + "_descspot";
	var el = $( elementname );
	
	if( text != null ) {

		var changedescrequest = createRequest();
		var url = "useralbumhandler.php";
		changedescrequest.open( "POST", url, true );

		changedescrequest.onreadystatechange = function doDOMChanges() {
			if( changedescrequest.readyState == 4 ) {
				if( changedescrequest.status == 200 ) {
					var response = changedescrequest.responseText;
					if( changedescrequest.responseText != "fel album-id" &&  changedescrequest.responseText != "sql error"  ) {
						updateElement( elementname, response );
					}
					if( changedescrequest.responseText == "fel album-id"  ) {
						updateElement( messageelementname, "Bildens beskrivning kunde inte ändras eftersom det angivna album-id:t var fel." );
						emptyElement( elementname );
					}
				}
				if( changedescrequest.responseText == "sql error"  ) {
					updateElement( messageelementname, "Bildens beskrivning kunde inte ändras p.g.a ett internt fel." );
					emptyElement( elementname );
				}
			}
			else {
				updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Laddar..." );
			}
		}
		changedescrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		bodyofrequest = "userid=" + userid + "&albumid=" + albumid + "&picname=" + picname + "&description=" + escape( text ) + "&optype=6&dummy=" + new Date().getTime();
		changedescrequest.send( bodyofrequest );
	}
}

function cancelChangePicDesc( desc, elementname  ) {
	desc = desc.length > 25 ? desc.substr( 0, 25 ) + "..." : desc;
	var el = $( elementname );
	updateElement( elementname, desc );
}

function showPicDescChangeForm( userid, albumid, picname  ) {
	var getdescrequest = createRequest();
	var url = "useralbumhandler.php";
	var formname = "picdescform_" + name;
	var elementname = picname + "_descspot";
	var el = $( elementname );

	getdescrequest.open( "POST", url, true );
	getdescrequest.onreadystatechange = function doDOMChanges() {
		if( getdescrequest.readyState == 4 ) {
			if( getdescrequest.status == 200 ) {
				var response = getdescrequest.responseText.lenth > 25 ? getdescrequest.responseText.substr( 0, 25 ) + "..." : getdescrequest.responseText;

				if( getdescrequest.responseText != "fel album-id" ) {
					indataformstr = "<FORM NAME=" + formname + " onSubmit=\"return false;\">" +
						"<INPUT TYPE=TEXT CLASS=inputtext NAME=picdesc ID=picdesc SIZE=18 MAXLENGTH=255 VALUE=\"" + getdescrequest.responseText + "\">" +
						"</FORM>" +
						"<A HREF=\"#\" onClick=\"changePicDescription( '" + formname + "', '" + userid + "', '" + albumid + "', '" + picname + "' );\">Spara</A>" +
						"&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"#\" onClick=\"cancelChangePicDesc( '" + getdescrequest.responseText + "', '" + elementname + "' );\">Avbryt</A>";
					updateElement( elementname, indataformstr );
				}

				if( getdescrequest.responseText == "fel album-id" ) {
					updateElement( messageelementname, "Bildens beskrivning kunde inte hämtas eftersom det angivna album-id:t var fel." );
					emptyElement( elementname );
				}
			}
			else {
				updateElement( messageelementname, "Det uppstod ett fel när bildens beskrivning skulle hämtas.\nFelkod: " + getdescrequest.status );
				emptyElement( elementname );
			}
		}
		else {
			updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Laddar..." );
		}
	}
	getdescrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
	bodyofrequest = "userid=" + userid + "&albumid=" + albumid + "&picname=" + picname + "&optype=7&dummy=" + new Date().getTime();
	getdescrequest.send( bodyofrequest );
}

function doDeleteAlbumAfterWork( userid, albumid ) {
	parent.useralbumlistframe.location="myalbumlist.php";
	parent.albumviewframe.location="getalbum.php";
	emptyElement( "albumdeletemessagespot" );
	emptyElement( "albummenuspot" );
}

function deleteAlbum( userid, albumid ) {
	emptyElement( parent.$( "maincontentspot" ) );
	if( confirm( "Är du säker på att du vill ta bort albumet och alla bilder i det?" ) ) {
		var deletealbumrequest = createRequest();
		var url = "useralbumhandler.php";
		var elementname = "albumdeletemessagespot";
		deletealbumrequest.open( "POST", url, true );
		deletealbumrequest.onreadystatechange = function doDOMChanges() {
			if( deletealbumrequest.readyState == 4 ) {
				if( deletealbumrequest.status == 200 ) {
					var response = deletealbumrequest.responseText;
					if( response == 1 ) {
						doDeleteAlbumAfterWork( userid, albumid );
					}
					else {
						doDeleteAlbumAfterWork( userid, albumid );
						updateElement( messageelementname, "Albumet kunde inte tas bort.\nFelmeddelande: " + response );
					}
				}
				else {
					updateElement( messageelementname, "Det uppstod ett fel när albumet skulle tas bort!\nFelkod: " + deletealbumrequest.status );
					doDeleteAlbumAfterWork( userid, albumid );
				}
			}
			else {
				updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Tar bort album... Var god v&auml;nta..." );
			}
		}
		deletealbumrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		bodyofrequest = "userid=" + userid + "&albumid=" + albumid + "&optype=5";
		deletealbumrequest.send( bodyofrequest );
	}
}

function doDumppicAfterWork( userid, albumid ) {
	getPage( "getalbumthumbs.php", "albumthumbsspot", "userid=" + userid + "&albumid=" + albumid + "&pagetype=2&optype=4" );
	parent.useralbumlistframe.location="myalbumlist.php";
}

function dumpPic( filename, albumid, userid ) {
	var filename = filename;
	var albumid = albumid;
	var userid = userid;
	var path = "uploadedpics/useralbumpics/";
	var fullfilename = path + filename;
	
	var dumppicrequest = createRequest();
	var url = "useralbumhandler.php";
	dumppicrequest.open( "POST", url, true );
	dumppicrequest.onreadystatechange = function doDOMChanges() {
		if( dumppicrequest.readyState == 4 ) {
			if( dumppicrequest.status == 200 ) {
				var response = dumppicrequest.responseText;
				if( response == 1 ) {
					doDumppicAfterWork( userid, albumid );
				}
				else {
					updateElement( messageelementname, "Bilden kunde inte tas bort.\nFelmeddelande: " + response );
				}
			}
			else {
				updateElement( messageelementname, "Det uppstod ett fel när bilden skulle tas bort!\nFelkod: " + dumppicrequest.status );
			}
		}
	}
	dumppicrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
	bodyofrequest = "fullfilename=" + fullfilename + "&filename=" + filename + "&userid=" + userid + "&albumid=" + albumid + "&optype=4";
//	updateElement( messageelementname, bodyofrequest );
	dumppicrequest.send( bodyofrequest );
}

function doAlbumRenameAfterWork( userid, albumid ) {
	updateElement( "albumrenameformspot", "" );
	updateElement( "albumrenameformmessagespot", "" );
}

function renameAlbum() {

	var albumrenamerequest = createRequest();
	userid = document.albumrenameform.userid.value;
	albumid = document.albumrenameform.albumid.value;
	albumname = document.albumrenameform.albumname.value;
 	if( albumname == "" ) { errormessages.push( "Du glömde att ange de nya namnet på albumet." ); }

 	if( errormessages.length > 0 ) { showErrors(); }
	else {
		var url = "useralbumhandler.php";
		var elementname = "albumrenameformmessagespot";
		albumrenamerequest.open( "POST", url, true );
		albumrenamerequest.onreadystatechange = function doDOMChanges() {
			if( albumrenamerequest.readyState == 4 ) {
				if( albumrenamerequest.status == 200 ) {
					var response = albumrenamerequest.responseText;
					if( response == 1 ) {
						updateElement( elementname, 
												"<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> <SPAN CLASS=success>Albumet d&ouml;ptes om till: " + 
												albumname + ".</SPAN><BR>" );
						parent.albumviewframe.location="getalbum.php?userid=" + userid + "&albumid=" + albumid + "&pagetype=2&optype=3";
						parent.useralbumlistframe.location="myalbumlist.php";
						setTimeout( "doAlbumRenameAfterWork( userid, albumid )", 1000 );
					}
					else {
						updateElement( messageelementname, "Albumet kunde inte döpas om.\nFelmeddelande: " + response );
					}
				}
				else {
					updateElement( messageelementname, "Det uppstod ett fel när albumet skulle döpas om!\nFelkod: " + albumrenamerequest.status );
				}
			}
			else {
				updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Laddar... Var god v&auml;nta..." );
			}
		}
		albumrenamerequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		bodyofrequest = "userid=" + userid + "&albumid=" + albumid + "&albumname=" + escape( albumname ) + "&optype=3";
		albumrenamerequest.send( bodyofrequest );
	}
}

function cancelRenameAlbum() {
	emptyElement( "albumrenameformspot" );
}

function showAlbumRenameForm( userid, albumid ) {
	emptyElement( parent.$( "albumpicuploadformspot" ) );
	getPage( "albumrenameform.php", "albumrenameformspot", "userid=" + userid + "&albumid=" + albumid );
}

function doPicuploadAfterWork( userid, albumid ) {
	parent.albumviewframe.location="getalbum.php?userid=" + userid + "&albumid=" + albumid + "&pagetype=2&optype=3";
	parent.useralbumlistframe.location="myalbumlist.php";
	setTimeout( "emptyElement( 'picuploadmessagespot' )", 3000 );
	setTimeout( "removeElement( parent.$( 'albumpicuploadiframe' ) )", 4000 );
}

// Funktion som visar formul&auml;ret som anv&auml;nds f&ouml;r att ladda upp ny bil det aktuella albumet.
function uploadAlbumPic() {
	var albumpicrequest = createRequest();
	albumpic = document.albumpicuploadform.albumpic.value;
 	if( albumpic == "" ) { errormessages.push( "Du glömde att ange namnet på det nya albumet." ); }

 	if( errormessages.length > 0 ) {
		showErrors();
	}
	else {
		var url = "useralbumhandler.php";
		var elementname = "albumpicuploadmessagespot";
		albumpicrequest.open( "POST", url, true );
		albumpicrequest.onreadystatechange = function doDOMChanges() {
			if( albumpicrequest.readyState == 4 ) {
				if( albumpicrequest.status == 200 ) {
					var response = albumpicrequest.responseText;
					updateElement( messageelementname, response );
					updateElement( elementname, response );
					if( response == 1 ) {
						updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> <SPAN CLASS=success>Den nya bilden laddades upp.</SPAN>" );
						showUserAlbumList();
					}
					else {
						updateElement( messageelementname, "Den nya bilden kunde inte laddas upp.\nFelmeddelande: " + response );
					}
				}
				else {
					updateElement( messageelementname, "Det uppstod ett fel när den nya bilden skulle laddas upp!\nFelkod: " + albumpicrequest.status );
				}
			}
			else {
				updateElement( elementname,"<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Laddar... Var god v&auml;nta..." );
			}
		}
		albumpicrequest.enctype="multipart/form-data";
		albumpicrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		bodyofrequest = "";
		updateElement( messageelementname, document.albumpicuploadform.elements.length );
		for( i = 0; i < document.albumpicuploadform.elements.length; i++ ) {
			str = "&" + document.albumpicuploadform.elements[i].name + "=" + document.albumpicuploadform.elements[i].value;
			bodyofrequest += str;
		}
		albumpicrequest.send( bodyofrequest );
	}
}

function resetPicWorkplace() {
	resetWorkspace();
	emptyElement( "albumpicuploadiframe" );
	albumviewframe.location="getalbum.php";
}


// Funktion som visar formuläret som används för att ladda upp ny bil det aktuella albumet.
function showPicUploadForm( albumid ) {
	var el = parent.$( "maincontentspot" );
	updateElement( el, "<DIV NAME=albumpicuploadiframe ID=albumpicuploadiframe><IFRAME FRAMEBORDER=0 SRC=\"albumpicuploadform.php?albumid=" + albumid + 
							"&pagetype=2&optype=3\"  WIDTH=430 HEIGHT=120 NAME=albumpicuploadframe></IFRAME></DIV>" );
}

// Visar det aktuella albumet
function showAlbum( userid, albumid ) {
	parent.resetPicWorkplace();
	parent.albumviewframe.location="getalbum.php?userid=" + userid + "&albumid=" + albumid + "&pagetype=2" + "&optype=3";
}


// Skapar nytt album &aring;t den inloggade anv&auml;ndaren
function createNewAlbum() {
	var newalbumrequest = createRequest();
	albumname = document.newalbumform.albumname.value;
 	if( albumname == "" ) { errormessages.push( "Du glömde att ange namnet på det nya albumet." ); }

 	if( errormessages.length > 0 ) {
		showErrors();
	}
	else {
		var response = "0";
		var url = "useralbumhandler.php";
		var elementname = "albumcreatemessagespot";
		newalbumrequest.open( "POST", url, true );
		newalbumrequest.onreadystatechange = function doDOMChanges() {
			if( newalbumrequest.readyState == 4 ) {
				if( newalbumrequest.status == 200 ) {
					response = newalbumrequest.responseText;
					if( response == 1 ) {
						updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> <SPAN CLASS=success>Det nya albumet skapades.</SPAN>" );
						useralbumlistframe.location="myalbumlist.php";
						emptyElement( "newalbumformplace" );
					}
					else {
						updateElement( messageelementname, "Det nya albumet kunde inte skapas.\nFelmeddelande: " + response );
					}
				}
				else {
					updateElement( messageelementname, "Det uppstod ett fel när det nya albumet skulle skapas!\nFelkod: " + newalbumrequest.status );
				}
			}
			else {
				updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Laddar... Var god v&auml;nta..." );
			}
		}
		newalbumrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		bodyofrequest = "albumname=" + escape( albumname ) + "&pagetype=2&optype=1";
		newalbumrequest.send( bodyofrequest );
	}
}


