function swfUploadPreLoad() {
	
	document.getElementById("divSWFUploadUI").style.display = "block";
	document.getElementById("divAlternateContent").style.display = "none";
}
function swfUploadLoaded() {
	var self = this;
	//document.getElementById("btnBrowse").onclick = function () { self.selectFiles(); };
}
   
function swfUploadLoadFailed() {
	document.getElementById("divSWFUploadUI").style.display = "none";
	document.getElementById("spanNeedsFlash").style.display = "";
}



function fileQueueError(file, errorCode, message) {
	try {
		var imageName = "error.gif";
		var errorName = "";
		if (errorCode === SWFUpload.errorCode_QUEUE_LIMIT_EXCEEDED) {
			errorName = "Zostało dodane zbyt dużo plików.";
		}

		if (errorName !== "") {
			alert(errorName);
			return;
		}

		switch (errorCode) {
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
			imageName = "zerobyte.gif";
			break;
		case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
			imageName = "toobig.gif";
			break;
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
		default:
			alert(message);
			break;
		}

		addImage("/panel/gallery/images/" + imageName);

	} catch (ex) {
		this.debug(ex);
	}

}

function fileDialogComplete(numFilesSelected, numFilesQueued) {
	try {
		if (numFilesQueued > 0) {
			this.startUpload();
		}
	} catch (ex) {
		this.debug(ex);
	}
}

function uploadProgress(file, bytesLoaded) {

	try {
		var percent = Math.ceil((bytesLoaded / file.size) * 100);

		var progress = new FileProgress(file,  this.customSettings.upload_target);
		progress.setProgress(percent);
		if (percent === 100) {
			progress.setStatus("Trwa tworzenie miniaturki...");
			progress.toggleCancel(false, this);
		} else {
			progress.setStatus("Trwa wczytywanie...");
			progress.toggleCancel(true, this);
		}
	} catch (ex) {
		this.debug(ex);
	}
}

function uploadSuccess(file, serverData) {
		//alert(serverData);
	try {
		addImage("/panel/gallery/thumbnail.php?id=" + serverData,file.name);
    //addImage("/panel/gallery/images/zerobyte.gif",file.name);		

		var progress = new FileProgress(file,  this.customSettings.upload_target);

		progress.setStatus("Miniaturka została utworzona.");

		progress.toggleCancel(false);


	} catch (ex) {
		this.debug(ex);
	}
}

function uploadComplete(file, server_data) {
	try {
		/*  I want the next upload to continue automatically so I'll call startUpload here */
		if (this.getStats().files_queued > 0) {
			this.startUpload();
		} else {
			var progress = new FileProgress(file,  this.customSettings.upload_target);
			progress.setComplete();
			progress.setStatus("Wszystkie obrazki zostały wczytane.");
			progress.toggleCancel(false);
		  document.getElementById("zapisz").style.visibility = "visible";			
			
	//document.getElementById("gallerytempname").setAttribute("value", serverData);  				
			//postlistadd();
      //alert("The file id number for your upload is " + server_data);            
		}
	} catch (ex) {
		this.debug(ex);
	}
	
}


function postlistadd() {
      listitems = document.getElementById("thumbnails").getElementsByTagName("img");
      var lista_post = '';
      
      for (j=0; j<listitems.length; j++) {
      if ((listitems[j].getAttribute("id"))) {
      //alert(listitems[i].id);\n
      //selectfiles
      //lista_post += listitems[i].id + " ";
      	
    	var newinput = document.createElement("input");
	    newinput.setAttribute("name", "input" + j);
	    newinput.setAttribute("type", "text");
	    newinput.setAttribute("value", listitems[j].id);      	        	    
    	document.getElementById("uploadpics").appendChild(newinput);
    	}
              
      }
      //document.selectfiles.submit();      
      //document.getElementById("infobox").value = lista_post;
}      

function uploadError(file, errorCode, message) {
	var imageName =  "error.gif";
	var progress;
	try {
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
			try {
				progress = new FileProgress(file,  this.customSettings.upload_target);
				progress.setCancelled();
				progress.setStatus("Anulowano");
				progress.toggleCancel(false);
			}
			catch (ex1) {
				this.debug(ex1);
			}
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			try {
				progress = new FileProgress(file,  this.customSettings.upload_target);
				progress.setCancelled();
				progress.setStatus("Zatrzymano");
				progress.toggleCancel(true);
			}
			catch (ex2) {
				this.debug(ex2);
			}
		case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
			imageName = "uploadlimit.gif";
			break;
		default:
			alert(message);
			break;
		}

		addImage("/panel/gallery/images/" + imageName);		

	} catch (ex3) {
		this.debug(ex3);
	}

}

function removeImage(id) {
	 //document.getElementById("thumbnails").removeChild(getElementById(serverData));
	 //document.removeChild("thumbnails");
	//var todelnode = document.getElementById(id);
    todel = document.getElementById('linkdel'+id);
    todel.parentNode.removeChild(todel);
    todel2 = document.getElementById('img'+id);
    todel2.parentNode.removeChild(todel2);
    todel3 = document.getElementById('input'+id);
    todel3.parentNode.removeChild(todel3);        
		//alert(id);	
		//alert(test);
		//alert(todelnode);
	//Node.parentNode.removeChild(Node);
	//removeChild(Node);	 
}

function addImage(src,serverData) {
	var newImg = document.createElement("img");
	newImg.style.margin = "5px";
	newImg.style.marginLeft = "30px";	
	newImg.setAttribute("id", "img" + serverData);
//  alert(serverData);
//	var linkdelImg = document.createElement("a");


	var newInput = document.createElement("input");	
	newInput.setAttribute("id", "input" + serverData);
	newInput.setAttribute("name", "input" + serverData);	
	newInput.setAttribute("type", "hidden");
	newInput.setAttribute("value", serverData);  	




  //var imgtodelete = "img" + serverData;
  //var linktodelete = "linkdel" + serverData;  

	var linkdelImg = document.createElement("a");
	linkdelImg.setAttribute("id", "linkdel" + serverData);
 
  	
//  linkdelImg.setAttribute("href", 'javascript:removeImage(\"'+imgtodelete+'\");removeImage(\"'+linktodelete+'\")');
  linkdelImg.setAttribute("href", 'javascript:removeImage(\"'+serverData+'\")');     	
		

	linkdelImg.style.marginLeft = "-5px";
	linkdelImg.style.marginTop = "0px";
	
	var delImg = document.createElement("img");
	delImg.style.margin = "0px";
	delImg.style.border = "0px";	

//newlink.setAttribute('href', 'javascript:showSignature(xyz)');    	
	//newImg.setAttribute("Id", "dupa");	
	

	document.getElementById("thumbnails").appendChild(newImg);
  document.getElementById("thumbnails").appendChild(linkdelImg);
  document.getElementById("thumbnails").appendChild(newInput);  	
  linkdelImg.appendChild(delImg);



	
	if (newImg.filters) {
		try {
			newImg.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 0;
		} catch (e) {
			// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
			newImg.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 0 + ')';
		}
	} else {
		newImg.style.opacity = 0;
	}
	

	if (delImg.filters) {
		try {
			delImg.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 0;
		} catch (e) {
			// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
			delImg.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 0 + ')';
		}
	} else {
		delImg.style.opacity = 0;
	}
	


	newImg.onload = function () {
		fadeIn(newImg, 0);
	};
	
	delImg.onload = function () {
		fadeIn(delImg, 0);
	};
	
	newImg.src = src;
	delImg.src = "/panel/gallery/images/cancelbutton2.gif";
}


function fadeIn(element, opacity) {
	var reduceOpacityBy = 5;
	var rate = 30;	// 15 fps


	if (opacity < 100) {
		opacity += reduceOpacityBy;
		if (opacity > 100) {
			opacity = 100;
		}

		if (element.filters) {
			try {
				element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity;
			} catch (e) {
				// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
				element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')';
			}
		} else {
			element.style.opacity = opacity / 100;
		}
	}

	if (opacity < 100) {
		setTimeout(function () {
			fadeIn(element, opacity);
		}, rate);
	}
}



/* ******************************************
 *	FileProgress Object
 *	Control object for displaying file info
 * ****************************************** */

function FileProgress(file, targetID) {
	this.fileProgressID = "divFileProgress";

	this.fileProgressWrapper = document.getElementById(this.fileProgressID);
	if (!this.fileProgressWrapper) {	
		this.fileProgressWrapper = document.createElement("div");
		this.fileProgressWrapper.className = "progressWrapper";
		this.fileProgressWrapper.id = this.fileProgressID;

		this.fileProgressElement = document.createElement("div");
		this.fileProgressElement.className = "progressContainer";

		var progressCancel = document.createElement("a");
		progressCancel.className = "progressCancel";
		progressCancel.href = "#";
		progressCancel.style.visibility = "hidden";
		progressCancel.appendChild(document.createTextNode(" "));

		var progressText = document.createElement("div");
		progressText.className = "progressName";
		progressText.appendChild(document.createTextNode(file.name));

		var progressBar = document.createElement("div");
		progressBar.className = "progressBarInProgress";

		var progressStatus = document.createElement("div");
		progressStatus.className = "progressBarStatus";
		progressStatus.innerHTML = "&nbsp;";

		this.fileProgressElement.appendChild(progressCancel);
		this.fileProgressElement.appendChild(progressText);
		this.fileProgressElement.appendChild(progressStatus);
		this.fileProgressElement.appendChild(progressBar);

		this.fileProgressWrapper.appendChild(this.fileProgressElement);

		document.getElementById(targetID).appendChild(this.fileProgressWrapper);
		fadeIn(this.fileProgressWrapper, 0);

	} else {
		this.fileProgressElement = this.fileProgressWrapper.firstChild;
		this.fileProgressElement.childNodes[1].firstChild.nodeValue = file.name;
	}

	this.height = this.fileProgressWrapper.offsetHeight;

}
FileProgress.prototype.setProgress = function (percentage) {
	document.getElementById("zapisz").style.visibility = "hidden";
	this.fileProgressElement.className = "progressContainer green";
	this.fileProgressElement.childNodes[3].className = "progressBarInProgress";
	this.fileProgressElement.childNodes[3].style.width = percentage + "%";
};
FileProgress.prototype.setComplete = function () {
	this.fileProgressElement.className = "progressContainer blue";
	this.fileProgressElement.childNodes[3].className = "progressBarComplete";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setError = function () {
	this.fileProgressElement.className = "progressContainer red";
	this.fileProgressElement.childNodes[3].className = "progressBarError";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setCancelled = function () {
	this.fileProgressElement.className = "progressContainer";
	this.fileProgressElement.childNodes[3].className = "progressBarError";
	this.fileProgressElement.childNodes[3].style.width = "";

};
FileProgress.prototype.setStatus = function (status) {
	this.fileProgressElement.childNodes[2].innerHTML = status;
};

FileProgress.prototype.toggleCancel = function (show, swfuploadInstance) {
	this.fileProgressElement.childNodes[0].style.visibility = show ? "visible" : "hidden";
	if (swfuploadInstance) {
		var fileID = this.fileProgressID;
		this.fileProgressElement.childNodes[0].onclick = function () {
			swfuploadInstance.cancelUpload(fileID);
			return false;
		};
	}
};

