var timeelapsed = 0 ;
var usid = "" ;
var finished = false ;
var uploadUpdater ;
function hd( sec ) {
var sec = parseInt( sec ) ;
var minute = parseInt(sec / 60) ;
var second = parseInt(sec - (minute * 60) ) ;
var sminute = ( minute > 1 ) ? ' minutos ' : ' minuto' ;
var ssecond = ( second > 1 ) ? ' segundos ' : ' segundo' ;
if( minute > 0 && second > 0 )
return ( minute + sminute + ' e ' + second + ssecond ) ;
else if( minute > 0 && second == 0 )
return ( minute + sminute ) ;
else
return ( second + ssecond ) ;
}
function floatfix( n ) {
var s = n.toString() ;
if( s.length > 0 )
return parseFloat( n ).toFixed(2).replace('.',',') ;
return '0,00' ;
}
function fbr( s ) {
var s = s.toString() ;
var s = s.replace('.',',') ;
var r = s.split(',') ;
var j = 0 ;
var temp = '' ;
var result = '' ;
if( r[0] != 'undefined' ) sn = r[0] ;
for( i = sn.length-1 ; i >= 0 ; i-- ) {
j++ ;
temp += sn.substr(i,1) ;
if( j == 3 ) { temp += '.' ; $j = 0 ; }
}
for( i = temp.length-1 ; i >= 0 ; i-- )
result += temp[i] ;
result = result + ',' + r[1];
return result ;
}
function filetypeCheck(filename) {
var fn = filename ;
if (fn == ""){
document.getElementById("allowed").className ='';
document.getElementById("upload").disabled = true;
} else {
var ext = fn.split(".");
if (ext.length==1)
ext = '.noext.';
else
ext = '.' + ext[ext.length-1].toLowerCase() + '.';
if (NOT_ALLOWED_TYPES.indexOf(ext) == 0) {
document.getElementById("allowed").className = 'alert';
document.getElementById("allowed").style.display = 'block';
document.getElementById("upload").disabled = true;
return false ;
} else {
document.getElementById("allowed").className = 'noalert';
document.getElementById("allowed").style.display = 'none';
document.getElementById("upload").disabled = false;
}
}
return true ;
}
function beginUpload(sid) {
var timeelapsed = 0 ;
if( !filetypeCheck(document.getElementById('file').value) ) {
return false ;
}
usid = sid;
var uform = document.getElementById('uploadform').getElementsByTagName('form')[0];
var upb = document.getElementById('upload_pb');
if (uform.file.value=="") return; // no file, no upload
document.getElementById('upload_filename').innerHTML = uform.file.value;
upb.style.height = uform.offsetHeight+"px";
uform.style.display = 'none';
upb.style.display = 'block';
uform.action = UPLOAD_SCRIPT+'?sid='+sid+'&maxsize='+MAX_FILESIZE;
uform.target = 'upload_iframe';
uform.submit();
uploadUpdater = new Ajax.PeriodicalUpdater({},'http://sharex.xpg.com.br/proc.php', {'frequency' : 1.0,
'method': 'post',
'parameters': 'progress=' + sid,
'onSuccess' : updateProgress,
'onFailure' : updateProgress
});
}
function updateProgress(req) {
if (finished) return ;
var pb = document.getElementById('upload_progress') ;
var pi = document.getElementById('upload_info') ;
var rt = req.responseText ;
var percent = 0 ;
var current = 0 ;
var total = 0 ;
var duration = 0 ;
var brate = 0 ;
var rest = 0 ;
if( rt.length > 0 ) {
if( rt.indexOf('|') > 0 ) {
var proc = rt.split('|') ;
var percent = proc.length > 0 ? parseFloat(proc[0]).toFixed(2) : 0 ;
var current = proc.length > 1 ? parseFloat(proc[1]).toFixed(2) : 0 ;
var total = proc.length > 2 ? parseFloat(proc[2]).toFixed(2) : 0 ;
var duration = proc.length > 3 ? parseFloat(proc[3]).toFixed(2) : 0 ;
var brate = proc.length > 4 ? parseFloat(proc[4]).toFixed(2) : 0 ;
var rest = proc.length > 5 ? parseFloat(proc[5]).toFixed(2) : 0 ;
} else {
var percent = parseFloat(rt).toFixed(2) ;
}
}
if (isNaN(percent)) {
finished = true;
uploadUpdater.stop() ;
if (req.responseText == "FINISHED") {
pb.style.width = "100%" ;
pb.innerHTML = "100%" ;
return;
}
pb.style.width = 0 ;
// -- redirect
var form = document.createElement('form');
form.method = 'post';
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'errormsg';
input.value = escape(req.responseText);
form.appendChild(input);
document.body.appendChild(form);
form.submit();
} else {
if(!percent) percent = 0;
if(percent > 100 ) percent = 100;
pb.style.width = '' + percent + '%' ;
pb.innerHTML = '' + floatfix(percent) + '% ' ;
pitext = '
Restando: ' + hd(floatfix(rest)) +
'
Recebidos ' + floatfix(current) + 'MB' + ' de ' + floatfix(total) + 'MB em ' +
hd(floatfix(duration)) + ' (' + floatfix(brate) + 'kb/s)' ;
pi.innerHTML = pitext ;
}
}
function is_email(s){
var error = 0 ; var i = 1; var ilen = s.length;
if ( ilen <= 8 ) error++;
while ((i < ilen) && (s.charAt(i) != "@")) { i++ ; }
if ((i >= ilen) || (s.charAt(i) != "@")) error++; else i += 2;
while ((i < ilen) && (s.charAt(i) != ".")) { i++ ; }
if ((i >= ilen - 1) || (s.charAt(i) != ".")) error++;
if ( error > 0 ) return false ;
return true ;
}
function toggle(el) {
var objDiv = document.getElementById(el) ;
objDiv.style.display = (objDiv.style.display == "block") ? "none" : "block" ;
}
function gurl(url) {
location.href = url ;
}
function curl(url,msg) {
if( window.confirm( msg ) ) location.href = url ;
}