function preLoad() {
	if (!this.support.loading) {
		fatal_error("Ошибка. <a target=_blank href='http://www.adobe.com/go/getflash'>Кликните сюда</a>, чтобы установить flash player")
	}
  	
}

function loadFailed() {
	//alert("Something went wrong while loading SWFUpload. If this were a real application we'd clean up and then give you an alternative");
}

function check_desc(desc){
   mask="[^a-z^0-9^а-я^й^,^.^:^!^)^(^ ^\-]"
   r=new RegExp(mask, "gi")
   desc=desc.replace(/_/g," ");
   desc=desc.replace(r,"");
   desc=desc.replace(/ +/g," ");
   if (desc.length>126) 
      desc=desc.substr(0,127) 
   return desc; 
}


function fileQueued(file) {
	try {
   	var pos=file.name.lastIndexOf(".")
    var desc=file.name.substr(0,pos)
    desc=check_desc(desc)
    var tag="Другое"
    swfu.setPostParams({"id":sesid,"size":"no","rotate":"no","public":"0"});
    swfu.addPostParam("desc",desc)
    swfu.addPostParam("tags",tag)
    swfu.addPostParam("gal",alb_arr[selected_album][2])
    swfu.addPostParam("public",alb_arr[selected_album][3])
    id=add_image(file.id,desc,tag,"","")
//    $("#imagetd_"+id).html("<img src='/"+thumb+"' style='max-height:112px;max-width:150px;' alt=''>")
    byid("deldiv_"+id).onclick=new Function("swfu.cancelUpload('"+file.id+"')")
	
	} catch (ex) {
		this.debug(ex);
	}

}

function fileQueueError(file, errorCode, message) {
	try {
		if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
      alert("Вы пытаетесь загрузить слишком много файлов\n" +	"Доступно для загрузки: "+message);	
			return;
		}

		switch (errorCode) {
		case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
			alert("Файл "+file.name+" слишком большой, допустимый размер до " +this.settings.file_size_limit);
			this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
			alert("Файл пуст");
			this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
  		alert("Неправильный тип файла");
			this.debug("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		default:
			break;
		}
	} catch (ex) {
        this.debug(ex);
    }

}

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

function uploadStart(file){
	try {
	} 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);
		progress.setStatus("Uploading...");
		progress.toggleCancel(true, this);
	} catch (ex) {
		this.debug(ex);
	}*/
}

function find_img_byid(fid){
      for (j=0;j<img_arr.length;j++)
        if (img_arr[j][1]==fid) return j
      
}

function setError(fid,text,msec){
        i=find_img_byid(fid);
        id=img_arr[i][0].id.split("_")
        id=id[2]
        $("#imagetd_"+id).html("<font color=red>"+text+"</font>")
        setTimeout("del_img_callback("+id+")",msec)        
}

function find_alb_by_folder(folder){
  for (j=0;j<alb_arr.length;j++)
    if (alb_arr[j][2]==folder) return j
  return -1  
}

function uploadSuccess(file, serverData) {
	try {
			if (serverData.substring(0, 2)!="ok") {
        //alert("Ошибка")
        setError(file.id,serverData,4000)
        stats=swfu.getStats();
        stats.successful_uploads-=1;
        swfu.setStats(stats)
        cur_files--
        return
      }  
      cur_files++
      var thumb=serverData.split("|")
      sizestr=thumb[2]
      thumb=thumb[1]
      
      var path=thumb.split("/");
      //if empty album
//      alert(byid('thumbtd_'+0).innerHTML)
//      alert(byid('thumbtd_'+1).innerHTML)
//      alert(byid('thumbtd_'+2).innerHTML)
      album_thumb=$('#thumbtd_'+find_alb_by_folder(path[1]))
//      alert(byid('thumbtd_'+find_alb_by_folder(path[1])).id)
//      alert(byid('thumbtd_'+find_alb_by_folder(path[1])).parent.id)
      if (album_thumb.html().indexOf("alb_img")==-1) 
        album_thumb.html("<img id=alb_img_"+id+" src='/"+thumb+"' style='max-height:112px;max-width:150px;' alt=''>"); 
      
      path=path[1]+"/"+path[3]
      path=path.split("?")
      path=path[0]
      i=find_img_byid(file.id)
      img_arr[i][1]=path
      //alert(path)
      id=img_arr[i][0].id.split("_")
      id=id[2]
          //alert(thumb)
      $("#editdiv_"+id).html(build_edit_link(id,img_arr[id][1]))    
      $("#imagetd_"+id).html("<img id=img_"+id+" src='/"+thumb+"' style='max-height:112px;max-width:150px;' alt=''>")
      byid("imagetd_"+id).onclick=new Function("window.open('"+viewlink_from_path(path)+"')")
//      $("#imgcheck_"+id).attr('checked','checked')
//      select_image(id)
      $("#imgcheck_"+id).attr("checked","checked").click().attr("checked","checked")
//      $("#imgcheck_"+id).click()
//      $("#imgcheck_"+id).attr('checked','checked')
      
      $("#sizetext_"+id).html(sizestr)
      $("#deldiv_"+id).remove()
      //byid("deldiv_"+id).onclick=new Function("del_img_from_album('"+path+"','',\"del_img_callback('"+id+"')\")")
      
			
			//alert(serverData);



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


function queueComplete(numFilesUploaded) {
	try {
    reset_upload()	 
	} catch (ex) {
		this.debug(ex);
	}
}

function uploadError(file, errorCode, message) {
	try {
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
      setError(file.id,"Ошибка: " + message,4000);
			this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
		  setError(file.id,"Загрузка на сервер не удалась.",4000);
			this.debug("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
/*		case SWFUpload.UPLOAD_ERROR.IO_ERROR:
			progress.setStatus("Нет ответа от сервера");
			this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
			progress.setStatus("Security Error");
			this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
			progress.setStatus("Превышено количество закачанных файлов.");
			this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
			progress.setStatus("Failed Validation.  Upload skipped.");
			this.debug("Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		*/	
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
		   //ie height fix
      setError(file.id,"Отменено",500);		   
			break;
/*		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			progress.setStatus("Остановлено");
			break;*/
		default:
/*			progress.setStatus("Unhandled Error: " + errorCode);
			this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			*/
			break;
		}
	} catch (ex) {
        this.debug(ex);
    }
}





