var request; //reference for xmlhttprequest ('this' keyword inside callback function doesnt work in IE, refers to window instead of xmlHTTPrequest caller)

function loadAlbums()
{
	if (!document.getElementById('albumcss'))
 	{
	  var albumcss = document.createElement('link');
	  albumcss.id = 'albumcss';
	  albumcss.rel = "stylesheet";
	  albumcss.type = "text/css";
	  albumcss.href = 'vkljuci/albumi.css';
	  document.getElementsByTagName('head')[0].appendChild(albumcss);
	}
	
	var url = 'vkljuci/modAlbum/_generateAlbums.php';
	var params = 'random=' + Math.random();
	
	
		
	request = createNewXMLHttpRequest();
	request.open('POST', url, true);
		
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.setRequestHeader('Content-Length', params.length);
	request.setRequestHeader('Connection', 'close');
	request.onreadystatechange = onAlbumsGenerated;
	request.send(params);
}

function onAlbumsGenerated()
{
	if(request.readyState == 4 && request.status == 200)	
		document.getElementById('rightPane').innerHTML = request.responseText;
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}

function displayAlbum(albumID)
{
	var url = 'vkljuci/modAlbum/_generateThumbs.php';
	var params = 'albumid=' + albumID + '&random=' + Math.random();
		
	request = createNewXMLHttpRequest();
	request.open('POST', url, true);
	
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.setRequestHeader('Content-Length', params.length);
	request.setRequestHeader('Connection', 'close');
	request.onreadystatechange = onThumbsGenerated;
	request.send(params);
}

function onThumbsGenerated()
{
	//alert(request.readyState + '  ' + request.status);
	if(request.readyState == 4 && request.status == 200)	
		document.getElementById('rightPane').innerHTML = request.responseText;
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}

function addNewAlbum(Ime, Priimek, userID)
{
	var rightPane = document.getElementById('rightPane');
	
	rightPane.innerHTML = '<p><a href="javascript:loadAlbums();" class="backLink">Nazaj na albume</a></p><br/> \
						   <form id="newAlbumForm" name="newAlbumForm"> \
						   <input type="hidden" id="albumuserid" name="albumuserid" value="' + userID + '" />\
						   <label>Uporabnik: ' + Ime + ' ' + Priimek + '</label><br/><br/> \
						   <label>Naslov:</label><br/> \
						   <input type="text" id="albumtitle" name="albumtitle" class="sizeForm" style="width:300px;"/><br/> \
						   <label>Datum:</label><br/> \
						   <input type="text" id="albumdate" name="albumdate" class="sizeForm"/><label>(Format YYYY-MM-DD, primer: 2009-04-31)</label><br/><br/>\
						   <input type="button" name="btnAddAlbum" onclick="validateAndCreateNewAlbum();" value="Ustvari nov album" class="sizeForm" /> \
						   </form>';
}

function validateAndCreateNewAlbum()
{
	if (document.getElementById('albumtitle').value == "" || document.getElementById('albumdate').value == "" || document.getElementById('albumtitle').value.length > 200)
		alert('Napaka! Vnesena morajo biti vsa polja, polja ne smejo biti predolga (Naslov 200 znakov)!');
	else
	{
		if (document.getElementById('albumdate').value.match('\\d{4}-[0,1]\\d-[0,1,2,3]\\d'))
		{
			var url = 'vkljuci/modAlbum/_createNewAlbum.php';
			var params = 'userid=' + document.getElementById('albumuserid').value + '&title=' + document.getElementById('albumtitle').value + '&date=' + document.getElementById('albumdate').value + '&random=' + Math.random();
	
			request = createNewXMLHttpRequest();
			request.open('POST', url, true);
	
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request.setRequestHeader('Content-Length', params.length);
			request.setRequestHeader('Connection', 'close');
			request.onreadystatechange = onNewAlbumAdded;
			request.send(params);
		}
		else
			alert('Napaka! Datum ni v obliki zapisa YYYY-MM-DD');
	}
}

function onNewAlbumAdded()
{
	if(request.readyState == 4 && request.status == 200)
		loadAlbums();
		//document.getElementById('rightPane').innerHTML = request.responseText;	
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}

function editAlbum(Ime, Priimek, Naslov, Datum, albumID, userID)
{
	var rightPane = document.getElementById('rightPane');
	
	rightPane.innerHTML = '<p><a href="javascript:loadAlbums();" class="backLink">Nazaj na albume</a></p><br/> \
						   <form id="newAlbumForm" name="newAlbumForm"> \
						   <input type="hidden" id="albumuserid" name="albumuserid" value="' + userID + '" />\
						   <label>Uporabnik: ' + Ime + ' ' + Priimek + '</label><br/><br/> \
						   <label>Naslov:</label><br/> \
						   <input type="text" id="albumtitle" name="albumtitle" class="sizeForm" value="' + Naslov + '" style="width:300px;"/><br/> \
						   <label>Datum:</label><br/> \
						   <input type="text" id="albumdate" name="albumdate" class="sizeForm" value="' + Datum + '"/><label>(Format YYYY-MM-DD, primer: 2009-04-31)</label><br/><br/>\
						   <input type="button" name="btnEditAlbum" onclick="onValidateAlbumEditing(' + albumID + ');" value="Shrani spremembe" class="sizeForm" /> \
						   <input type="button" name="btndeleteAlbum" onclick="onDeleteAlbum(' + albumID + ');" value="Pobri&scaron;i album" class="sizeForm" /> \
						   </form>';
}

function onValidateAlbumEditing(albumID)
{
	if (document.getElementById('albumtitle').value == "" || document.getElementById('albumdate').value == "")
		alert('Napaka! Vnesena morajo biti vsa polja!');
	else
	{
		if (document.getElementById('albumdate').value.match('\\d{4}-[0,1]\\d-[0,1,2,3]\\d'))
		{
			var url = 'vkljuci/modAlbum/_editAlbum.php';
			var params = 'albumid=' + albumID + '&title=' + document.getElementById('albumtitle').value + '&date=' + document.getElementById('albumdate').value + '&random=' + Math.random();
	
			request = createNewXMLHttpRequest();
			request.open('POST', url, true);
	
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request.setRequestHeader('Content-Length', params.length);
			request.setRequestHeader('Connection', 'close');
			request.onreadystatechange = onAlbumEdited;
			request.send(params);
		}
		else
			alert('Napaka! Datum ni v obliki zapisa YYYY-MM-DD');
	}
}

function onAlbumEdited()
{
	if(request.readyState == 4 && request.status == 200)	
		loadAlbums();
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}

function onDeleteAlbum(albumID)
{
	if (confirm('Pobrisem album? (Zbrisane bodo tudi vse slike)'))
	{
		var url = 'vkljuci/modAlbum/_deleteAlbum.php';
		var params = 'albumid=' + albumID + '&random=' + Math.random();
		
		request = createNewXMLHttpRequest();
		request.open('POST', url, true);
		
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		request.setRequestHeader('Content-Length', params.length);
		request.setRequestHeader('Connection', 'close');
		request.onreadystatechange = onAlbumDeleted;
		request.send(params);
	}
}

function onAlbumDeleted()
{
	if(request.readyState == 4 && request.status == 200)	
		loadAlbums();
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}

function deleteImage(fotoID, albumFolder, albumID)
{
	if (confirm('Pobrisem fotografijo?'))
	{
		var url = 'vkljuci/modAlbum/_removeDeleteImage.php';
		var params = 'fotoid=' + fotoID + '&albumfolder=' + albumFolder + '&albumid=' + albumID + '&random=' + Math.random();
		
		request = createNewXMLHttpRequest();
		request.open('POST', url, true);
		
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		request.setRequestHeader('Content-Length', params.length);
		request.setRequestHeader('Connection', 'close');
		request.onreadystatechange = onImageDeleted;
		request.send(params);
	}
}

function onImageDeleted()
{
	if(request.readyState == 4 && request.status == 200)	
		displayAlbum(request.responseText);
}

function displayImageUploadForm(albumID)
{
	var rightPane = document.getElementById('rightPane');
	
	rightPane.innerHTML = '<p><a href="javascript:displayAlbum(' + albumID + ');" class="backLink">Nazaj na pregled slik</a></p> \
					     <p>Opomba: Nalagate lahko samo slike v jpg formatu!</p><br/> \
						 <form id="fotoUploadForm" name="fotoUploadForm" action="vkljuci/modAlbum/_uploadImages.php" enctype="multipart/form-data" method="POST"> \
						 <input type="hidden" id="hidAlbumID" name="albumid" value="' + albumID + '" /> \
						 <label>Izberi datoteko:</label> \
						 <input type="file" id="fileFoto1" name="fotos[]" class="sizeForm"/><br/> \
						 <label>Izberi datoteko:</label> \
						 <input type="file" id="fileFoto2" name="fotos[]" class="sizeForm"/><br/> \
						 <label>Izberi datoteko:</label> \
						 <input type="file" id="fileFoto3" name="fotos[]" class="sizeForm"/><br/> \
						 <label>Izberi datoteko:</label> \
						 <input type="file" id="fileFoto4" name="fotos[]" class="sizeForm"/><br/> \
						 <label>Izberi datoteko:</label> \
						 <input type="file" id="fileFoto5" name="fotos[]" class="sizeForm"/><br/>\
						 <input type="submit" name="submit" id="submit" value="Dodaj slike" class="sizeForm" \
						 </form>';
}

function onThumbnailClicked(fotoID, albumID)
{
	var url = 'vkljuci/modAlbum/_ShowFullImage.php';
	var params = 'fotoid=' + fotoID + '&albumid=' + albumID + '&random=' + Math.random();
		
	request = createNewXMLHttpRequest();
	request.open('POST', url, true);
		
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.setRequestHeader('Content-Length', params.length);
	request.setRequestHeader('Connection', 'close');
	request.onreadystatechange = onFullImageDisplay;
	request.send(params);
}

function onFullImageDisplay()
{
	if(request.readyState == 4 && request.status == 200)	
		document.getElementById('rightPane').innerHTML = request.responseText;
	if(request.readyState == 1 || request.readyState == 2 || request.readyState == 1)
		document.getElementById('rightPane').innerHTML = '<p>Nalagam...</p>'
}
