var PhotosResult = "";
var Count = 0;
var UploadedFiles = 0;
function photos_fileDialogComplete(numFilesSelected, numFilesQueued) {
try {
if (numFilesQueued > 0) {
PhotosResult = numFilesQueued == '1' ? ' ' + this.settings.file_title : ' ' + this.settings.file_title + 's';
PhotosResult = numFilesQueued + PhotosResult + " uploaded";
Count = parseInt(numFilesQueued);
$('#AddPhotos' + this.settings.button_placeholder_id).val('');
$('#submitStatus' + this.settings.button_placeholder_id)
.attr('disabled', 'disabled')
.addClass('disabled');
if(this.settings.mystart_function_name.length>0)
{
var myFuncName = this.settings.mystart_function_name + '();';
eval(myFuncName);
}
this.startUpload();
}
} catch (ex) {
}
}
function photos_uploadProgress(file, bytesLoaded) {
try {
var pw = this.settings.button_width;
var w = Math.ceil(pw * (UploadedFiles / Count + (bytesLoaded / (file.size * Count))));
$('#Progress' + this.settings.button_placeholder_id).stop().animate({ width: w });
if(this.settings.isShowPercents)
{
var percents = Math.floor((bytesLoaded / file.size) * 100);
$('#Persents' + this.settings.button_placeholder_id).html(percents + '%')
}
} catch (ex) {
}
}
function photos_uploadSuccess(file, serverData) {
try {
UploadedFiles++;
} catch (ex) {
}
}
function photos_uploadComplete(file) {
try {
if (this.getStats().files_queued > 0) {
this.startUpload();
} else {
$('#UploadPhotos' + this.settings.button_placeholder_id).hide();
if(this.settings.mycompleate_result.length>0)
{
$('#Buttons' + this.settings.button_placeholder_id).prepend('' + this.settings.mycompleate_result + '');
}
else
{
$('#Buttons' + this.settings.button_placeholder_id).prepend('' + PhotosResult + '');
}
if(this.settings.mycompleate_function_name.length>0)
{
var myFuncName = this.settings.mycompleate_function_name + '("' + file.type + '");';
eval(myFuncName);
}
}
} catch (ex) {
}
}
function photos_fileQueueError(file, errorCode, message) {
try {
switch (errorCode) {
case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
alert('Upload limit exceeded. Maximum 1 file per post');
break;
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
break;
}
} catch (ex) {
}
}
function swfuploadLoaded() {
$('#Buttons object' + this.settings.button_placeholder_id).hover(
function() {
$(this).next().addClass('hover');
}
,
function() {
$(this).next().removeClass('hover');
});
}
//var PHPSESSID = new Array();
var swfuPhotos = new Array();
function BindSWFUpload(swfuMySettings) {
swfuId = swfuPhotos.length;
var swfuPhotosSettings = {
file_dialog_complete_handler: photos_fileDialogComplete,
upload_progress_handler: photos_uploadProgress,
upload_success_handler: photos_uploadSuccess,
upload_complete_handler: photos_uploadComplete,
swfupload_loaded_handler: swfuploadLoaded,
file_queue_error_handler: photos_fileQueueError,
file_size_limit: "10 MB",
file_types: "*.*",
file_types_description: "All files",
file_upload_limit: "1",
button_placeholder_id: "MyButton",
file_title: 'file',
button_width: 115,
button_height: 32,
mystart_function_name: '',
mycompleate_function_name: '',
mycompleate_result : '',
isShowPercents : false
}
if(typeof(swfuMySettings)!='undefined')
{
for (var key in swfuPhotosSettings)
{
if(typeof(swfuMySettings[key])!='undefined')
{
swfuPhotosSettings[key] = swfuMySettings[key];
}
else
{
//swfuPhotosSettings = {key : swfuMySettings[key] }
}
}
}
var defaultSettings = {
flash_url: "/js/swfupload/swfupload.swf",
upload_url: "/js/swfupload/upload.php",
post_params: {
"PHPSESSID": PHPSESSID[swfuId]
},
button_image_url: "/js/swfupload/images/white50.png",
button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
button_cursor: SWFUpload.CURSOR.HAND
}
swfuPhotos[swfuId] = new SWFUpload($.extend(swfuPhotosSettings, defaultSettings));
}
function initSWFUploaders(MySettings)
{
var i = 0;
while(MySettings[i])
{
BindSWFUpload(MySettings[i]);
i++;
}
}