/* post approve upload video from face */ 

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

var aChecking = new Array (
  new Array ("username", "^[a-zA-Z0-9_-]*$", "Username field is empty or wrong. System allows \"a-zA-z0-9_-\" chars."),                                                                   
  new Array ("email", "^(.+)@(.+)$",   "Email field is empty or wrong."),                                                               
  new Array ("email2", "^(.+)@(.+)$",  "Retype email field is empty or wrong."),                                                        
  new Array ("title", ".+",       "Title field is empty."),                                                                   
  new Array ("desc", ".+",        "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;
    }
  }

  if ($("email2")!=null) {
    if ($("email")!=null&&$("email").value!=$("email2").value) {
  	  alert ("Error: first and second email fields are not equal.");
  	  return false;
    }
  }

  return true;
};

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

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

function checkCaptcha () {
	if ($("captcha")) {
	  var user = "";
		var email= "";
		if ($("username")!=null) user = $("username").value;
		if ($("email")!=null) email = $("email").value;
		var url = '/captcha/vcaptcha.php?captcha='+$("captcha").value+"&user="+user+"&email="+email;
    new Ajax.Request(url, {
    method: 'get',
    onSuccess: function(transport) {
        if (transport.responseText!="true") {
      	  //alert ("Error: human's verification code is wrong. Try retype again.");
      	  alert (transport.responseText);
      	  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(timeout);
    } else {
      timeout = setTimeout(function () { fetch($("progress_key").value); }, 500);
    }
    
   }
  }
 }
 req.send(null);
}

var cTime = 0;
var interval = null;

function runProgress(){

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

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

/*  new Ajax.Request(
    '/?ajax=1&act=progressbar',
    {asynchronous:true,
     parameters: "key="+$("progress_key").value,
     onSuccess: function(transport) {
       //return;
        eval (transport.responseText);
    		var counter = document.getElementById("progressbar_counter");
    		var slider = document.getElementById("progressbar_slider");		
    		if (transport.responseText != 0) {
    		  slider.style.width = percentDone + "%";
    		}
    		counter.innerHTML = uploadSpeed+" "+percentDone + "%";
       if (percentDone < 100){
         setTimeout("runProgress()", 500); 	
       }     
     }
    }
  ); */
}

function uploadDone () {
	window.clearTimeout(timeout);
  Form.enable ($("upload_form"));
	$("uploadb").disabled = false;	
  $("upl_photo").style.display="none";
  $("upload_done").style.display="block";
  $("upload_done").scrollIntoView(true);
}

function addFileInput (link) {
  var i = 1;
  while ( $('i'+i) != null ) {
  	i++;
  }	
  new Insertion.Before('addNewField',
  '<input type=file name="img'+i+'" id="i'+i+'"><br class="clr"/>');
	return false;
}

function addFileInput2 (link) {
  var i = 1;
  while ( $('i'+i) != null ) {
  	i++;
  }	
  new Insertion.Before('addNewField',
  '<input type=file name="img'+i+'" id="i'+i+'" style="margin-bottom:10px"><br>');
	return false;
}

function switchUploadWay (eradio) {
  if (eradio == "filesinimages") {
  	var i = 1;
  	while ( $('i'+i) != null ) {
  		$('i'+i).disabled = false;   i++;
  	}
  	$('zip').disabled = true;
  	
  } else if (eradio == "filesinzip") {
  	$('zip').disabled = false;
  	var i = 1;
  	while ( $('i'+i) != null ) {
  		$('i'+i).disabled = true; i++;
  	}  	
  }
}

function switchSetNameWay (eradio) {
  if (eradio == "select") {
  	$('albumnametext').disabled = true;
  	$('albumnamesel').disabled = false;
  } else if (eradio == "text") {
  	$('albumnametext').disabled = false;
  	$('albumnamesel').disabled = true;	
  }
}

function loadTitleDescription (id) {
  new Ajax.Request(
     '/?ajax=1&act=loadTitleDescriptionForPhoto',
     {asynchronous:true,
      parameters: "mid="+id,
      onSuccess: function(transport) {
        eval (transport.responseText);
     		$("albumnametext").value = title;     
        $("desc").value  = desc;
        if ($("ccontest")!=null && contest == "christmas") {
        	$("ccontest").checked=true;
        } else {
        	$("ccontest").checked=false;
        }
      }
    }
  );
}