// JavaScript Document

var ffoptions = ["format",
				"size",
				"bitrate",
				"fps",
				"audiocodec",
				"audiobitrate",
				"audiofreq",
				"audiochannels",
				"duration",
				"filesize",
				"position",
				"croptop",
				"cropleft",
				"cropbottom",
				"cropright",
				"h264",
				"pass",
				"deinterlace"]

function ffcheckformat(who){
	if(who.form!=null){
		var form = who.form;
		var format = form.v_format.value;
		if(format=="flv"){
			form.v_audiocodec.selectedIndex=0;
		}else if(format=="mp4"){
			form.v_audiocodec.selectedIndex=1;
		}
	}
}
function ffcheckaudioformat(who){
	if(who.form!=null){
		var form = who.form;
		var format = form.v_format.value;
		var aformat = form.v_audiocodec.value;
		if(who==form.v_audiocodec){
			if(aformat=="libmp3lame"){
				if(form.v_format.value=="mp4") form.v_format.selectedIndex=0;
			}else if(aformat=="libfaac"){
				if(form.v_format.value=="flv") form.v_format.selectedIndex=1;
			}
		}
	}
}

function ffcheckTime(who){
	var val=who.value;
	if(val==""){
		who.className="";
		return;
	}else if(!isNaN(val)){
		who.className="";
		return;
	}else if(val.match(/^[0-9]{2}(:)[0-9]{2}(:)[0-9]{2}((\.|;)[0-9]{1,3})?$/)){
		val = val.replace(";",".");
		who.value = val;
		var parts = val.split(".");
		var times = parts[0].split(":");
		console.log(times);
		if(times[1]>59 || times[2]>59)
			setErrorClass(who);
		else
			who.className="";
		return;
	}else{
		setErrorClass(who);
	}
}

function ffchecksize(who){
	var val=who.value;
	val = val.replace(" ","");
	who.value = val;
	if(val==""){
		who.className="";
		return;
	}else if(!isNaN(val)){
		who.className="";
		return;
	}else if(val.match(/^[0-9]{1,11}(k)?$/)){
		who.className="";
		return;
	}else{
		setErrorClass(who);
	}
}
function ffcheckcrop(who){
	var val=who.value;
	if(val==""){
		return;
	}else{
		who.value = isNaN(val)?"":val;
	}
}

function cvcheckformat(who){
	for(var i=0;i<who.length;i++){
		var op = dojo.byId(who.options[i].value+"customops");
		if(op!=null) op.style.display=who.options[i].selected?'block':'none';
	}
}
function cvcheckresize(who){
	for(var i=0;i<who.length;i++){
		var op = dojo.byId("res_"+who.options[i].value);
		if(op!=null) op.style.display=who.options[i].selected?'block':'none';
	}
}
function cvcheckint(who){
	who.value = isNaN(who.value)?0:who.value*1;
}
function setTemplate(who,type){
	if(who.value!=""){
		var vals = dojo.fromJson(who.value);
		console.log(vals);
		var form = who.form;
		switch(type){
			case "v":
			case "a":
				for(var k=0;k<ffoptions.length;k++){
					var param = ffoptions[k];
					var val = vals[param];
					var dataname = type+"_"+param;
					switch(param){
						case "format":
						case "size":
						case "bitrate":
						case "fps":
						case "audiocodec":
						case "audiobitrate":
						case "audiofreq":
							form[dataname].selectedIndex=0;
							for(var i=0;i<form[dataname].length;i++){
								if(form[dataname].options[i].value==val){
									form[dataname].selectedIndex=i;
									break;
								}
							}
							break;
						case "audiochannels":
							dataname += "_"+val;
							console.log(form[dataname]);
							console.log(dataname);
							form[dataname].checked=true;
							break;
						case "duration":
						case "filesize":
						case "position":
						case "croptop":
						case "cropleft":
						case "cropbottom":
						case "cropright":
							form[dataname].value=val!=null?val:"";
							break;
						case "deinterlace":
							form[dataname].checked=val;
							break;
					}
				}
				break;
			case "i":
				break;
		}
	}
}
