/* post approve upload video from face */

function doError (c) {
  $("ehandle-content").innerHTML = c;
  $("ehandle").style.display="block";
  Form.enable ($("upload_form"));
	$("upload").disabled = false;
	$("ehandle-content").scrollIntoView(true);
	$("ehandle-content").focus();
}

var aChecking = new Array (
  new Array ("moviefile", ".{1,}",   "File field is empty."),
  new Array ("userd", ".{1,}", "Username field is empty or wrong."),
  new Array ("movietitle", ".{1,}",   "Title field is empty."),
  new Array ("language", ".{1,}",  "Language field is empty."),
  new Array ("genre", ".{1,}",       "Genre field is empty."),
  new Array ("moviedesc", ".{1,}",        "Description field is empty.")
);

function validateUploadForm () {
  for (var i=0; i<aChecking.length; i++) {
  	if ($(aChecking[i][0])!=null&&!String($(aChecking[i][0]).value).match(new RegExp (aChecking[i][1]))) {
  	  $(aChecking[i][0]).focus();
  	  alert ("Error: "+aChecking[i][2]);
  	  return false;
    }
  }

  return true;
};

function sUpload () {
  //uploadDone(); return;
  if (validateUploadForm ()) {
    checkCaptcha ();
	}
}

function runUpload () {
  $("ehandle").style.display = "none";
	$("upload_form").submit();
  Form.disable ($("upload_form"));
	$("upload").disabled = true;
  $("progressbar_indicator").style.display="block";
//	$("progressbar_indicator").scrollIntoView(true);
//	$("progressbar_indicator").focus();
	setTimeout("runProgress()", 500);
}

function checkCaptcha () {
	if ($("captcha")) {
  	var url = '/captcha/vcaptcha.php?captcha='+$("captcha").value;
    new Ajax.Request(url, {
    method: 'get',
    onSuccess: function(transport) {
        if (transport.responseText!="true") {
      	  alert ("Error: human's verification code is wrong. Try retype again.");
      	  return false;
        } else {
      	  runUpload ();
        }
      }
    }
    );
	} else {
		runUpload ();
	}
}

function changeCaptchaImage() {
	src = $("icaptcha").src;
	src = src.replace (/\?.*$/, "");
	src = src + "?" + Math.ceil (Math.random() * 1000);
	$("icaptcha").src = src;
}

function fetch(uuid) {
 req = new XMLHttpRequest();
 req.open("GET", "/progress", 1);
 req.setRequestHeader("X-Progress-ID", uuid);
 req.onreadystatechange = function () {
  if (req.readyState == 4) {
   if (req.status == 200) {
    /* poor-man JSON parser */
   // alert (req.responseText);
    var upload = eval(req.responseText);

    if (document.getElementById('tp')) {
      document.getElementById('tp').innerHTML = upload.state;
    }
    /* change the width if the inner progress-bar */
    bar = document.getElementById('progressbar_slider');
    if (upload.state == 'done' || upload.state == 'uploading') {

     w = Math.ceil ( upload.received / upload.size * 10000 )/100;
     if (upload.received) {
       if ($w < 0) $w = 1;
       //alert (w);
       bar.style.width = Math.ceil (w) + '%';
       var cDate = new Date();
       cTime = cDate.getTime()/1000;
       speed = Math.ceil(upload.received/(cTime-sTime)/1024*100)/100;
       document.getElementById("progressbar_counter").innerHTML = speed + "Kb/s  " +w + '%';
     }
    }
    /* we are done, stop the interval */
    if (upload.state == 'done') {
     document.getElementById("progressbar_counter").innerHTML = '100%';
     bar.style.width = '100%';
     window.clearTimeout(interval);
    }
   }
  }
 }
 req.send(null);
}

var cTime = 0;
var interval = null;

function runProgress(){

 var sDate = new Date();
 sTime = sDate.getTime()/1000;

 interval = window.setInterval(
   function () {
     fetch($("progress_key").value);
   },
   1000
 );

}
function uploadDone () {
  Form.enable ($("upload_form"));
	$("upload").disabled = false;
  $("upload_div").style.display="none";
  $("upload_done").style.display="block";
  $("upload_done").scrollIntoView(true);

  //alert ("Hey! All is right!!! Congratulation.");
}
