var myimage = new Image(); myimage.src = 'http://img.movavi.com/online/pic/cancel.png'; 
myimage = new Image();     myimage.src = 'http://img.movavi.com/online/pic/percentImage.png'; 
myimage = new Image();     myimage.src = 'http://img.movavi.com/online/pic/percentImage_back.png'; 

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

function array2json(arr) {
    var parts = [];
    var is_list = (Object.prototype.toString.apply(arr) === '[object Array]');

    for(var key in arr) {
        var value = arr[key];
        if(typeof value == "object") { //Custom handling for arrays
            if(is_list) parts.push(array2json(value)); /* :RECURSION: */
            else parts[key] = array2json(value); /* :RECURSION: */
        } else {
            var str = "";
            if(!is_list) str = '"' + key + '":';

            //Custom handling for multiple data types
            if(typeof value == "number") str += value; //Numbers
            else if(value === false) str += 'false'; //The booleans
            else if(value === true) str += 'true';
            else str += '"' + value + '"'; //All other things
            // :TODO: Is there any more datatype we should be in the lookout for? (Functions?)

            parts.push(str);
        }
    }
    var json = parts.join(",");
    
    if(is_list) return '[' + json + ']';//Return numerical JSON
    return '{' + json + '}';//Return associative JSON
}


function toOrdinal(_n)
{
var n = _n % 100;
var suff = ["th", "st", "nd", "rd", "th"]; // suff for suffix
var ord= n<21?(n<4 ? suff[n]:suff[0]): (n%10>4 ? suff[0] : suff[n%10]);
return _n + ord;
}


function updateTips(t) {
    tips.text(t).effect("highlight",{},1500);
}

function checkLength(o,n,min,max) {

if ( o.val().length > max || o.val().length < min ) {
    o.addClass('ui-state-error');
    updateTips("Length of " + n + " must be between "+min+" and "+max+".");
    return false;
} else {
    return true;
}

}

function checkRegexp(o,regexp,n) {

    if ( !( regexp.test( o.val() ) ) ) {
        o.addClass('ui-state-error');
        updateTips(n);
        return false;
    } else {
        return true;
    }

}
    
    
function onsizedialog()
{
    /*var h = parseInt($('#user_email_link').css('height'))+
        parseInt($('#progress_upload_bar').css('height'))+
        parseInt($('#messages').css('height'))+
        parseInt($('#ads').css('height'));
    alert(h);*/
    
}
var flproxy = null;

$(document).ready(function(){

$.preloadImages("http://img.movavi.com/online/pic/progress_bar/progressbar.gif", "http://img.movavi.com/online/pic/progress_bar/progressbg_orange.gif",
"http://img.movavi.com/online/pic/flash.png");
	flproxy = new flensed.flXHR(
	{
		autoUpdatePlayer:true, 
		noCacheHeader:false, 
		xmlResponseText : false,
		loadPolicyURL : crossdomain_xml
	});
    $("#show_preset_dialog").hover(
            function(){ 
                $(this).addClass("ui-state-hover"); 
            },
            function(){ 
                $(this).removeClass("ui-state-hover"); 
            }
        ).mousedown(function(){
            $(this).addClass("ui-state-active"); 
        }).mouseup(function(){
                $(this).removeClass("ui-state-active");
        });
        

    $("#show_preset_dialog2").hover(
            function(){ 
                $(this).addClass("link-state-hover"); 
            },
            function(){ 
                $(this).removeClass("link-state-hover"); 
            }
        ).mousedown(function(){
            $(this).addClass("link-state-active"); 
        }).mouseup(function(){
                $(this).removeClass("link-state-active");
        });
        
    
    $("img.preview").live("click", function() 
    {
        //alert("test");
    });
    $("#dialog").dialog(
    { 
        beforeclose: function(event, ui) 
            {
                if($("div#dialog_progress_sizerestrict").dialog('isOpen'))
                {
                    return true;
                }
                else
                {
                    var n = Math.floor(Math.random()*100000);
                    //document.location.href="/?version=2&f2=true"; return false;
                    //window.location.replace('/?version=2&f2=true&n='+n);return false;
                    window.location.replace('/');return false;
                }
            },
        modal: true, 
        resizable: false,
        autoOpen: false,
        bgiframe: true
    });
    $('#dialog').dialog('option', 'width', 410);
    $('#dialog').dialog('option', 'height', 410);
    $('#dialog').dialog('option', 'minWidth', 410);
    $('#dialog').dialog('option', 'minHeight', 410);
    $('#dialog').dialog('option','position', ['center', 100]);
    
    /*$('#dialog #user_email_link').resize(onsizedialog);
    $('#dialog #progress_upload_bar').resize(onsizedialog);
    $('#dialog #messages').resize(onsizedialog);
    $('#dialog #ads').resize(onsizedialog);*/

    $("div#dialog_progress_sizerestrict").dialog(
    { 
        bgiframe: true,
        autoOpen: false,
        modal: true,
        
        buttons: { "Try again": function() 
            { 
                $("div#dialog").dialog('close');
                $("div#dialog_progress_sizerestrict").dialog('close');
            }
        },
        resizable: false,
        bgiframe: true
    });
    
    $("#dialog_email").dialog(
    { 
        bgiframe: true,
        autoOpen: false,
        //modal: true,
        
        buttons: { "Ok": function() 
            { 
                var email = $("#email");
                var allFields = email;
                
                var tips = $("#validateTips");

                var bValid = true;
                allFields.removeClass('ui-state-error');
                bValid = bValid && checkLength(email,"email",6,80);
                bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com");
                if (bValid) {
                    SaveToSession('email',email.val());
                    $.get("stub_email.php", { id: sv_id, sid: sv_sid, v: sv_v, email: email.val() },
                    function(data){
                        $("div#dialog div#user_email_link").html("<p>You can close this window now.</p><p>You'll receive links to your email shortly after process finish.</p>").effect("highlight",{},1500);
                        $("#dialog_email").dialog('close');
                    });
                }
            },
            "Cancel": function() 
            { 
                $(this).dialog("close");
            }
        },
        resizable: false,
        bgiframe: true
    });
    
    $("div#user_email_link a").live("click", function ()
    {

        $('#dialog_email').dialog('open');

        return false;
    });
});

    var files_count=0;
    var number_entered=false;

      
    
    //var ibox_progress_val, ibox_progress_sizerestrict_val;// = document.getElementById('ibox_progress_sizerestrict').innerHTML;

    function del_file()
    {
        var ind=this.index;
        var div0=document.getElementById("filelist");
        var div1=document.getElementById("file_list_content_"+ind);
        div0.removeChild(div1);

        var files=document.getElementById('form_files');
        var file=document.getElementById('filename_'+ind);
        files.removeChild(file);
        file=null;

        for(var i=ind;i<files_count-1;i++)
        {
            var f1=document.getElementById("filename_"+(i+1));
            f1.id="filename_"+i;
            f1.name="filename_"+i;

            div1=document.getElementById("file_list_content_"+(i+1));
            div1.id="file_list_content_"+i;

            var label1=document.getElementById("file_label_"+(i+1));
            label1.id="file_label_"+i;
            label1.ind=i;
        }

        files_count--;
        enable_submit();
    }

    function del_url()
    {
        var ind=this.index;
        var div0=document.getElementById("filelist");
        var div1=document.getElementById("file_list_content_"+ind);
        div0.removeChild(div1);

        var files=document.getElementById('form_files');
        var file=document.getElementById('url_'+ind);
//        var filebut=document.getElementById('urlbut_'+ind);
        files.removeChild(file);
  //      files.removeChild(filebut);
        file=null;

        for(var i=ind;i<files_count-1;i++)
        {
            var f1=document.getElementById("url_"+(i+1));
            f1.id="url_"+i;
            f1.name="url_"+i;
            var fbut1=document.getElementById("urlbut_"+(i+1));
            f1.id="urlbut_"+i;
            f1.name="urlbut_"+i;

            div1=document.getElementById("file_list_content_"+(i+1));
            div1.id="file_list_content_"+i;

            var label1=document.getElementById("file_label_"+(i+1));
            label1.id="file_label_"+i;
            label1.ind=i;
        }

        files_count--;
        enable_submit();
    }

    function add_label(ind,str, type)
    {
        var s=new String(str);
        var i=s.lastIndexOf('\\');
        if(!i)
            i=s.lastIndexOf('/');
        s=s.substr(i+1);

        var div0=document.getElementById("filelist");

        var div1=document.createElement("div");
        div1.className="file_list_content";
        div1.id="file_list_content_"+ind;

        var div2=document.createElement("div");
        div2.className="filename";

        var label1=document.createElement("label");
        label1.className="recycle_enabled";
        label1.id="file_label_"+ind;
        label1.index=ind;
        if(type =="file") label1.onclick=del_file;
        else label1.onclick=del_url;

        div2.innerHTML=s;

        div1.appendChild(div2);
        div1.appendChild(label1);
        div0.appendChild(div1);

    }

    function add_file()
    {
        var ind=this.index;
        if(!ind)
            ind=0;

        var form1=document.getElementById("add_button_style");
        var form2=document.getElementById("form_files");
        var file=document.getElementById("filename_"+ind);

        if(!checkfileext(file))
        {
            alert(JS_ERROR_INVALID_FILE_FORMAT);
            file=null;
            return false;
        }

        if(files_count>4){alert(JS_ERRFILES_5); return false;}


        form1.removeChild(file);
        file.onchange=null;
        file.style.width=null;
        file.style.height=null;

        form2.appendChild(file);

        add_label(ind,file.value, "file");

        ind++;

        var file2=document.createElement("input");
        file2.type="file";
        file2.id="filename_"+ind;
        file2.name="filename_"+ind;
        file2.onchange=add_file;
        file2.index=ind;
        file2.className="file";
        file2.style.zIndex="3";
        form1.appendChild(file2);

        files_count++;
        enable_submit();
    }

    function add_url()
    {
        var ind=this.index;
        if(!ind)
            ind=0;

        var form1=document.getElementById("add_button_style");
        var form2=document.getElementById("form_files");
        var file=document.getElementById("url_"+ind);
        var filebut=document.getElementById("urlbut_"+ind);
        var uri = file.value;
        if(!checkurl(file.value))
        {
            alert(JS_ERRURLNOTVALID);
            file=null;
            return false;
        }

        if(files_count>4){alert(JS_ERRFILES_5); return false;}


        form1.removeChild(file);
        file.onchange=null;
        file.style.width=null;
        file.style.height=null;
        form1.removeChild(filebut);

        form2.appendChild(file);
        file.value=uri;
        add_label(ind,file.value, "url");

        ind++;

        var file2=document.createElement("input");
        file2.type="text";
        file2.id="url_"+ind;
        file2.name="url_"+ind;

        file2.index=ind;
        file2.className="url_input";
        file2.style.zIndex="3";

        var filebut2=document.createElement("input");
        filebut2.type="image";
        filebut2.id="urlbut_"+ind;
        filebut2.value="+";
        filebut2.onclick=add_url;
        filebut2.index=ind;
        filebut2.className="url_button";
        filebut2.src="http://img.movavi.com/online/pic/+.png";
        filebut2.style.zIndex="3";


        form1.appendChild(file2);
        form1.appendChild(filebut2);

        files_count++;
        enable_submit();
    }

    function checkfileext(f)
    {
        var i;
        var ext=new Array(16);

        ext[0]=".avi";
        ext[1]=".mp4";
        ext[2]=".mpg";
        ext[3]=".mpeg";
        ext[4]=".3gp";
        ext[5]=".wmv";
        ext[6]=".mov";
    ext[7]=".m4v";
    ext[8]=".dat";
    ext[9]=".vob";
    ext[10]=".mod";
    ext[11]=".flv";
    ext[12]=".wav";
    ext[13]=".wma";
    ext[14]=".mp3";
    ext[15]=".ogg";


        var b=true;

        var val=new String(f.value);
        var ext1=val.substr(val.lastIndexOf('.'));
        var j;
        b=false;

        for(j=0;j<=15;j++)
        {
           if(ext[j]==ext1.toLowerCase())
           {
               return true;
           }
        }

        return false;
    }

    
    function checkurl(f)
    {
        var i;
        var regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
        return regexp.test(f);
    }
   function disable_all()
   {

       var e=document.getElementById('email_addr');
       var n=document.getElementById('number');
       var s=document.getElementById('btn_submit');

       var s=document.getElementById('btn_submit');
       s.disabled = false;
   }
   
      function enable_submit()
   {
/*
       var e=document.getElementById('email_addr');
       var n=document.getElementById('number');
       var s=document.getElementById('btn_submit');

       if(!n || !s || !e)
          return false;

       var b=files_count>0;
       var b1=e.value.length>=2;
       var b2=n.value.length>=2;

       s.disabled = !b || !b1 || !b2;
*/
       var s=document.getElementById('btn_submit');
       s.disabled = false;
   }

//--------------------------------- AJAX -------------------------------
    var timeout=1000;

    var upload_progress_url=null;
    var backup_window = "";
    function create_request()
    {
        var objXMLHttp=null;
        if (window.XMLHttpRequest)
        {
          objXMLHttp=new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {
          objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        return objXMLHttp;
    }

    function checkMail(emailAddress)
    {
        var x = emailAddress;
        
        var ff  = /^([\+a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (ff.test(x)) return JS_ERREMAIL_OK;

        return JS_ERREMAIL_WRONG;
    }


    function upload_begin()
    {
        //var ec = checkMail(e.value);
       // if(ec.indexOf("OK") == -1){alert(ec); return false;}
        if(files_count<1)
        {
            var url_0=document.getElementById('url_0');
            if(url_0 && (url_0.value != ""))
                add_url();
            else
            {
                alert(ERRFILES_WRONG); 
                return false;
            }
        }
        if(files_count>5){alert(JS_ERRFILES_5); return false;}
        
        $('#dialog').dialog('option', 'title', JS_TEXT_UPLOADING);
        $('#dialog').dialog('open');

        $("#progress_upload_bar").progressbar({
            value: 0
            });          
        var val1= 0;
        if(preset_dialog_src) val1=-1;
        if($("form#form_2 select#combo_box").val() == val1)
        {
            $("form#form_2").attr("action", download_url);  
            //$("form#form_2").attr("target", "_blank");    
            $("div#dialog div#user_email_link").html(JS_RIGHT_CLICK_TO_DOWNLOAD).effect("highlight",{},1500);
        }
        else
        {
            $("form#form_2").attr("action", upload_url);    
            if($("form#form_2 #email_addr").val())
                $("div#dialog div#user_email_link #mess").html(JS_LANG_YOU_CAN_CLOSE).effect("highlight",{},1500);
            else
                $("div#dialog div#user_email_link #mess").html(JS_LANG_CLICK_HERE_TORECEIVE).effect("highlight",{},1500);
        }
        var e=document.getElementById('email_addr');

        if($("#format_id_form").length == 0)
            $("#form_2").prepend("<input type='hidden' name='format_id' id='format_id_form' value=''>");
    
        if($("#preset_data_form").length == 0)
            $("#form_2").prepend("<input type='hidden' name='preset_data' id='preset_data_form' value='{}'>");
        if($("#combo_box").val() == -2)
        {
            var FMT_SELECT = $("#preset_dialog select#IDC_FORMAT");
            var prData = DIALOGS[FMT_SELECT.val()].exportPreset();
            prData.FormatId = FMT_SELECT.val();
            $("#preset_data_form").val(JSON.encode(prData));
            $("#format_id_form").val(prData.FormatId);
            
            //alert(JSON.encode(prData));
        }
        else
        {
            if(preset_dialog_src)
            {
                $("#format_id_form").val(getFormatID($("#combo_box").val()));
            }
        }

        
        document.getElementById('btn_submit').disabled=true;
        setTimeout("upload_request_progress()",1000);
        
        var e=document.getElementById('fake_form');  
        
        e.onclick = function () {return false;}
        onsizedialog();
        return true;
    }



    function upload_request_progress()
    {
		/*$.ajax({
			type: "GET",
			url: upload_progress_url,
			dataType: "jsonp",
			success: function(msg){
				alert(msg);
				upload_progress(msg);
			}
		});*/

		if(!flproxy) return false;
		
		flproxy.onreadystatechange =function(req)
        {
			if(req.readyState==4 || req.readyState=="complete")
			{
				upload_progress(req.responseText);
			}
			else
			{
			}
			return;
		};
		//flproxy.loadPolicyURL = "http://test.getify.com/policy.php";	// only needed if we want our policy to come from a location other than the root of the domain at '/crossdomain.xml'
																		// in this case, I have a php script that returns the cross domain policy content, because I want to send no-cache 
																		// headers to prevent it from being browser cache'd. You could just point to an actual XML file at some other location
																		// as well
		flproxy.open("GET",upload_progress_url);
		flproxy.send(null);					// make the request text unique so that we can illustrate multiple flXHR instances in later demos
/*

		function handleLoading(XHRobj) {
			if (XHRobj.readyState == 4) {
				alert("readyState:"+XHRobj.readyState
					+"\nresponseText:"+XHRobj.responseText
					+"\nstatus:"+XHRobj.status
					+"\nstatusText:"+XHRobj.statusText
					+"\nSource Object Id: "+XHRobj.instanceId
				);
			}
		}*/

	//
	/*
        var req=create_request();
        if(!req)
        {
          return false;
        }

        req.onreadystatechange=function()
        {
          if(req.readyState==4 || req.readyState=="complete")
          {
            upload_progress(req.responseText);
          }
          else
          {
          }
          return;
        };
        req.open("GET",upload_progress_url,true);
        req.send(null);*/
        return true;
    }

    function download_video(ln)
    {

    }
 
    function format_time(time)
    {
        if(time > 60 * 60) time = parseInt(time/(60*60)) + " " + JS_TIME_FORMAT_HOUR;
        else if(time > 60) time = parseInt(time/(60)) + " " + JS_TIME_FORMAT_MIN;
        else if(time > 10) time = JS_TIME_FORMAT_LMIN;
        else time = JS_TIME_FORMAT_SECS;
        return time;
    }
    function format_size(sz)
    {
        var m1 = "";
        if(sz>1024*1024)
        {
           m1="mb";
           sz/=1024*1024;
           sz=parseInt(""+sz);
        }
        else if(sz>1024)
        {
           m1="kb";
           sz/=1024;
           sz=parseInt(""+sz);
        }
        return sz + m1;
    }

    function upload_progress(res_text)
    {
        
        var res = res_text.split('|');
        switch(res[0])
        {
        case "done":
        case "donee":
        case "queue":
            $("#progress_upload_bar").progressbar("value", 100);
            $("div#dialog").dialog('option', 'title', JS_TEXT_CONVERTING_VIDEOS);
            if($("div#progress_upload_bar").css("display") == "block")
            {
                $("img.percentImage").animate({backgroundPosition: "0px 23px"}, 1500);
                var add_height = files_count*50;
                if(add_height < 0) add_height = 0;
                $("div#progress_upload_bar").slideUp(1500);
                //$("div#ibox_wrapper").animate({height: "+="+add_height, top: "-="+add_height});
                $("div#messages").animate({height: (add_height + 10) + "px"}, 1500);
                $("div#messages").html("");
                //if(files_count > 3)

                $('div#dialog').parents('.ui-dialog:first').animate({height:270 + add_height}, 1500); 
                $("div#dialog").dialog("option", "height", 270 + add_height );
                $("div#dialog").animate({height:220 + add_height}, 1500); 
                
                for(var i = 0; i<files_count; i++)
                {
                    var template = "<div id='file_item_" + i + "' class='file_item' style='white-space: nowrap; overflow: visible;'  nowrap>"+
                    "<div class='num' style='float: left;'>"+(i+1)+"</div><img class='preview' src='http://img.movavi.com/online/pic/flash.png' height=40 width=50 style='margin-right: 5px;'/>"+
                    "<div class='file_item_inner' style='float: right;white-space: nowrap; overflow: visible;display: inline-block;' nowrap><div class=title style='height:14px; overflow:hidden;'><span class='title'></span></div>"+
                    "<div class='progressBar_" + i +"' style='margin-top:2px;float: left;'>0%</div>" +
                    "<div style='float: left;'><span class='message'></span></div></div>";
                    $("div#messages").append(template + "");
                    $("div#messages div.progressBar_" + i).progressBar(0);
                }
                $("div.file_item:last").css("border", "0");
            }
            var stop = true;            
            if(res[0] == "queue")
            {
                $(cur_item + " img.preview").attr("src", "/css/v2.0/images/flash.png");
                var files = res_text.split('\n');

                for(var i = 0; i<files.length; i++)
                {
                    var template = "";
                    var cur_item = "div#file_item_"+i;
                    var s = files[i];
                    if(s.length)
                    {
                        var str = s.split('|');
                        $(cur_item + " span.title").text(str[1]);
                        switch(str[2])
                        {
                        case "queued":
                            var qnum = str[3];
                            if(qnum <= 1) 
                                template = JS_TEXT_YOU_ARE_NEXT;
                            else
                                template = JS_TEXT_YOU_ARE + toOrdinal(qnum);
                            $(cur_item + " span.message").text(template);
                            stop = false;
                            break;
                        case "started":
                            $(cur_item + " span.message").text(JS_TEXT_YOU_ARE_NEXT);
                            stop = false;
                            break;
                        case "progress":
                            var pr = str[3].split(',');
                            var time = format_time(pr[2]);
                            
                            $(cur_item + " span.message").text(pr[0] + "%, " + time + " left");
                            $("div#messages div.progressBar_" + i).progressBar(pr[0]);
                            stop = false;
                            break;
                        case "complete":
                            var h = $("div#messages div.progressBar_" + i).css('height');
                            $("div#messages div.progressBar_" + i).fadeOut();
                            //alert(h);
                            if(!h) h = 0;
                            if(h == "auto") h = 0;
                            $("div#messages").animate({height: "+=" + h +"px"}, 1500);
                            $(cur_item + " span.message").css("marginTop", "7px");
                            //$(cur_item + " span.message").fadeOut();
                            $(cur_item + " span.title").animate({height: "60px"}, 1500);
                            $(cur_item + " span.message").animate({height: "60px"}, 1500);
                            var sr = upload_dir + str[1];
                            
                            if(str[3] == 0)
                            {
                                if($("form#form_2 select#combo_box").val() == -1)
                                {
                                    sr = str[4];
                                    template = "<a target='blank_iframe' href='" + sr + "'>" + JS_TEXT_DOWNLOAD_LINK + "</a>";
                                }
                                else
                                {
                                    template = "<a target='blank_iframe' href='" + sr + "'>" + JS_TEXT_DOWNLOAD_LINK + "</a> (" + format_size(str[4])+")";
                                    $(cur_item + " img.preview").attr("src", sr + ".jpg");
                                }
                            }
                            else
                                template = "error";
                            //$(cur_item + " div.file_item_inner").css("vertical-align", "middle").css("text-align", "left").html(template);
                            $(cur_item + " span.title").html(str[1]);
                            $(cur_item + " span.message").html(template);
                            break;
                        default:
                            stop = false;
                            break;
                        }
                    }
                }
/*              else
                {
                    var add_height = (files_count - 3) * 25;
                    if(add_height < 0) add_height = 0;
                    add_height += 200;
                    $("div#messages").animate({height: add_height+"px"}, 1500);
                    $("div#user_email").slideUp(1500);
                }*/
            } else {stop = false;}
            if(!stop)
                setTimeout("upload_request_progress()",3000);
            else
            {
                $("div#dialog").dialog('option', 'title', JS_TEXT_CONVERSION_COMPLETE);
                if($("form#form_2 select#combo_box").val() != 0)
                    $("div#user_email_link").slideUp(1500);
                $("div#ads").slideDown(1500);
            }


            break;

        case "wait":
          var li1=document.getElementById("messages");
          //li1.innerHTML=res_text;
          setTimeout("upload_request_progress()",timeout);
          break;
        case "state":
          {
            var p=res[1];
            var rb=parseInt(res[2]);
            var tb=parseInt(res[3]);
          
            var s=parseInt(res[4]);
            var s1=parseInt(res[4]);
            var r=parseInt(res[5]);

            var rs = format_size(rb);
            var ts = format_size(tb);
            var ss = format_size(s)+"/s";

//            var hh=parseInt(""+(r/3600));
            //var mm=parseInt(""+((r%3600)/60));
            //var ss=parseInt(""+(r%60));
            var time=format_time(r);
            var str1="<b>" + p + "%</b><br>"+" ("+rs+" of "+ts+") " + time + " " + "left";
            var pp = -((294.0/100.0) * (100.0-p)-28);
            var pps = pp + "px 23px";
            var str='<br>'+str1;
            $("div#messages").html(str);
            //$("img.percentImage").animate({backgroundPosition: pps}, 1500);
            p = parseInt(p);
            $("#progress_upload_bar").progressbar("value", p);
          }
          setTimeout("upload_request_progress()",timeout);
          break;
        case "error":
          {
            var err=res[1];

            if(err == "upload size restriction failed")
            {
                StopUpload();

                
                $("div#dialog_progress_sizerestrict span#tried_size").text(format_size(res[2]));
                $("div#dialog_progress_sizerestrict span#max_size").text(format_size(res[3]));
                $("div#dialog_progress_sizerestrict").dialog('open');

            }
            else
                window.location = "http://online.movavi.com/uploadfailed.php";
          }
          break;

    case "pause":
          {
        setTimeout("upload_request_progress()",timeout);
        break;
          }    
    default:
          {
            var err=res[0];
            var li1=document.getElementById("messages");
            li1.innerHTML=err;
        
          }
          break;
        }

    }

function StopUpload()
{
    if(window.parent.frames['blank_iframe']){op=window.parent;} else {op=window.opener;}
    op.frames['blank_iframe'].location.href="about:blank";
/*
    var op;
    var agt=navigator.userAgent.toLowerCase();
    var is_opera = (agt.indexOf("opera") != -1);
    if(window.parent.frames['blank_iframe']){op=window.parent;} else {op=window.opener;}
    if (navigator.appVersion.indexOf("Safari")>0)
    {
        op.location.reload( true );
    }
    else if (!document.all || is_opera)
    {
        window.stop();
        op.frames['blank_iframe'].stop();
    }
    else
    {
        window.document.execCommand('Stop');
        op.frames['blank_iframe'].document.execCommand('Stop');
    }*/
    
}
    

//--------------------------------- FILTER ----------------------------------------     
function isDigit(charCode){ return (charCode >= 48 && charCode <= 57)}
function isLat(charCode){ return ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122))}
function isRus(charCode){ return (charCode >= 1040 && charCode <= 1103)}
function filter(evt,set,exc,x) 
       { //set= 1 - digit 2 - lat 4 - rus; x=êðîìå set
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
            ((evt.keyCode) ? evt.keyCode : evt.which);
        if (charCode > 13 && !x^(!(set&1 && isDigit(charCode)) && !(set&2 && isLat(charCode)) && !(set&4 && isRus(charCode)) && exc.indexOf(String.fromCharCode(charCode))==-1)) {
        if (evt.preventDefault) { evt.preventDefault(); } else { evt.returnValue = false; return false; }
        }
    }
}       
        
  function numbers(e)
  {
    var keynum
    var keychar
    var numcheck

    if(window.event)
    {
        keynum = e.keyCode
    }
    else if(e.which)
    {
        keynum = e.which
    }
    keychar = String.fromCharCode(keynum)
    numcheck = /\d/
    return numcheck.test(keychar);
  }

  function on_number_keydown(e)
  {
    filter(e,1,' ',1);
    enable_submit();
  }

  function on_email_keydown(e)
  {
    filter(e,2,"@.\.-_0123456789",1)
    enable_submit();
  }
/*
 * jQuery Progress Bar plugin
 * Version 1.1.0 (06/20/2008)
 * @requires jQuery v1.2.1 or later
 *
 * Copyright (c) 2008 Gary Teo
 * http://t.wits.sg

USAGE:
    $(".someclass").progressBar();
    $("#progressbar").progressBar();
    $("#progressbar").progressBar(45);                          // percentage
    $("#progressbar").progressBar({showText: false });          // percentage with config
    $("#progressbar").progressBar(45, {showText: false });      // percentage with config
*/
(function($) {
    $.extend({
        progressBar: new function() {

            this.defaults = {
                increment   : 2,
                speed       : 20,
                showText    : false,                                         // show text with percentage in next to the progressbar? - default : true
                width       : 250,                                          // Width of the progressbar - don't forget to adjust your image too!!!
                boxImage    : 'http://img.movavi.com/online/pic/progress_bar/progressbar.gif',        // boxImage : image around the progress bar
                barImage    : 'http://img.movavi.com/online/pic/progress_bar/progressbg_orange.gif',   // Image to use in the progressbar. Can be an array of images too.
                height      : 12                                            // Height of the progressbar - don't forget to adjust your image too!!!
            };
            
            /* public methods */
            this.construct = function(arg1, arg2) {
                var argpercentage   = null;
                var argconfig       = null;
                
                if (arg1 != null) {
                    if (!isNaN(arg1)) {
                        argpercentage   = arg1;
                        if (arg2 != null) {
                            argconfig   = arg2; }
                    } else {
                        argconfig       = arg1; 
                    }
                }
                
                return this.each(function(child) {
                    var pb      = this;
                    if (argpercentage != null && this.bar != null && this.config != null) {
                        this.config.tpercentage = argpercentage;
                        if (argconfig != null)
                            pb.config           = $.extend(this.config, argconfig);
                    } else {
                        var $this               = $(this);
                        var config              = $.extend({}, $.progressBar.defaults, argconfig);
                        var percentage          = argpercentage;
                        if (argpercentage == null)
                            var percentage      = parseInt($this.html().replace("%","")); // parsed percentage
                        
                        
                        $this.html("");
                        var bar                 = document.createElement('img');
                        var text                = document.createElement('span');
                        bar.id                  = this.id + "_percentImage";
                        text.id                 = this.id + "_percentText";
                        bar.src                 = config.boxImage;
                        bar.width               = config.width;
                        var $bar                = $(bar);
                        var $text               = $(text);
                        
                        this.bar                = $bar;
                        this.ntext              = $text;
                        this.config             = config;
                        this.config.cpercentage = 0;
                        this.config.tpercentage = percentage;
                        
                        $bar.css("width", config.width + "px");
                        $bar.css("height", config.height + "px");
                        $bar.css("background-image", "url(" + config.barImage + ")");
                        $bar.css("padding", "0");
                        $bar.css("margin", "0");
                        $this.append($bar);
                        $this.append($text);
                        
                        bar.alt             = this.tpercentage;
                        bar.title           = this.tpercentage;
                    }
                    
                    
                    
                    var t = setInterval(function() {
                        var config      = pb.config;
                        var cpercentage = parseInt(config.cpercentage);
                        var tpercentage = parseInt(config.tpercentage);
                        var increment   = parseInt(config.increment);
                        var bar         = pb.bar;
                        var text        = pb.ntext;
                        var pixels      = config.width / 100;           // Define how many pixels go into 1%
                        
                        bar.css("background-position", (((config.width * -1)) + (cpercentage * pixels)) + 'px 50%');
                        
                        if (config.showText)
                            text.html(" " + Math.round(cpercentage) + "%");
                        
                        if (cpercentage > tpercentage) {
                            if (cpercentage - increment  < tpercentage) {
                                pb.config.cpercentage = 0 + tpercentage
                            } else {
                                pb.config.cpercentage -= increment;
                            }
                        }
                        else if (pb.config.cpercentage < pb.config.tpercentage) {
                            if (cpercentage + increment  > tpercentage) {
                                pb.config.cpercentage = tpercentage
                            } else {
                                pb.config.cpercentage += increment;
                            }
                        } 
                        else {
                            clearInterval(t);
                        }
                    }, pb.config.speed); 
                });
            };
        }
    });
        
    $.fn.extend({
        progressBar: $.progressBar.construct
    });
    
})(jQuery);/**
* jQuery jSelect plugin
* @requires jQuery v1.2+
* @licenses Creative Commons BY-SA [ http://creativecommons.org/licenses/by-sa/2.0/deed.fr ]
* @desc     Plugin jQuery that enable load and add Option in Select
* @author   Herv? GOUCHET [ contact(at)rvdevsign(dot)net ]
* @version  1.3.1
* @date     2009/03/17
* @doc      http://www.rvdevsign.net/ressources/javascript/jselect-plugin-jquery.html
*/

(function(d){d.fn.jselect=function(b){var n=this;var b=d.extend({},d.fn.jselect.defaults,b);var j=[];if(b.loadUrl){d.ajax({type:b.loadType,url:b.loadUrl,data:b.loadData,dataType:b.loadDataType,success:function(c){var a=false;if(c){a=true}if(b.data.length>0){k(b.data,b.dataType,!a,false)}if(a==true){k(c,b.loadDataType,a,false)}},error:function(){b.loadUrl=null;if(d.isFunction(b.loadOnError)){b.loadOnError()}}})}else if(b.data.length>0){k(b.data,b.dataType,true,false)}else{p()}function p(){if(n.is("select")==true){s(d(n));if(d.isFunction(b.onComplete)){b.onComplete(d(n))}}}function k(a,e,i,h){var m={oValue:"",oText:"",oSelected:"",oClass:""};var l=[];if(e=='xml'||e=='html'){d('option',a).each(function(){oValue=d(this).attr('value');oText=(e=='xml'?d(this).attr('text'):d(this).text());oSelected=(d(this).attr('selected')=="true"||d(this).attr('selected')=="selected"?true:false);if(oValue!==""&&oText!==""){var c={oValue:oValue,oText:oText,oSelected:oSelected,oClass:d(this).attr('class')};c=d.extend({},m,c);if(h==false){j.push(c)}else{l.push(c)}}})}else if(e=='array'){var o=a.length;for(var f=0;f<o;f++){if(a[f].constructor.toString().indexOf("Array")==-1){if(a[f]!==""){var g={oValue:a[f],oText:a[f],oSelected:false,oClass:""};g=d.extend({},m,g);if(h==false){j.push(g)}else{l.push(g)}}}else if(a[f].length>1){if(a[f][0]!==""&&a[f][1]!==""){var g={oValue:a[f][0],oText:a[f][1],oSelected:(typeof a[f][2]!="undefined"?a[f][2]:false),oClass:(typeof a[f][3]!="undefined"?a[f][3]:"")};g=d.extend({},m,g);if(h==false){j.push(g)}else{l.push(g)}}}}}else if(e=='json'){var o=a.select.length;for(var f=0;f<o;f++){if(a.select[f].oValue!==""&&a.select[f].oText!==""){var g=d.extend({},m,a.select[f]);if(h==false){j.push(g)}else{l.push(g)}}}}if(i==true&&h==false){p()}if(h==true){return l}}function s(c){var a=j;if(b.replaceAll==false){var e=k(c,"html",false,true);a=e.concat(a)}c.empty();if(b.addOption==true){a.push({oValue:b.addOptionValue,oText:b.addOptionText,oSelected:false,oClass:b.addOptionClass})}q(c,a);c.change(function(){if(b.addOption==true){t(c)}if(d.isFunction(b.onChange)){b.onChange(d(this).val(),d(this).find("option[value='"+d(this).val()+"']").html(),d(this))}})}function q(c,a){var e=c.get(0);var i=a.length;e.options.length=i;for(var h=0;h<i;h++){u(e,h,a[h])}}function u(c,a,e){c.options[a]=new Option(e.oText,e.oValue);if(e.oSelected&&e.oSelected==true){c.options[a].selected=true}if(e.oClass){c.options[a].setAttribute("class",e.oClass)}}function t(c){if(c.val()==b.addOptionValue){var a=prompt(b.addOptionPrompt,"");if(a&&b.addOptionUrl){v(c,a)}}}function v(a,e){d.ajax({type:b.addOptionType,url:b.addOptionUrl,data:b.addOptionData+e,success:function(c){if(c&&c!=""){w(a,c,e)}else{r(a,e)}},error:function(){r(a,e)}})}function r(c,a){b.addOptionUrl=null;c.get(0)[0].selected=true;if(d.isFunction(b.addOptionOnError)){b.addOptionOnError(a,c)}}function w(c,a,e){var i=[];i=k(c,"html",false,true);if(b.addOption==true){i.pop()}i.push({oValue:a,oText:e,oSelected:b.addOptionSetSelected,oClass:b.addOptionSetClass});if(b.addOption==true){i.push({oValue:b.addOptionValue,oText:b.addOptionText,oSelected:false,oClass:b.addOptionClass})}q(c,i);if(d.isFunction(b.addOptionOnComplete)){b.addOptionOnComplete(a,e,c)}}};d.fn.jselect.defaults={data:[],dataType:"array",replaceAll:true,onChange:function(){},onComplete:function(){},loadUrl:null,loadData:null,loadType:"POST",loadOnError:function(){},loadDataType:"xml",addOption:false,addOptionUrl:null,addOptionData:"newOption=",addOptionType:"POST",addOptionValue:"-1",addOptionText:"Add an option",addOptionClass:null,addOptionPrompt:"Text of the new option:",addOptionSetSelected:true,addOptionSetClass:null,addOptionOnComplete:function(){},addOptionOnError:function(){}}})(jQuery);var FMT_DOWNLOAD= [-1,  "Download Only"];
var FMT_AVI     = [0,  "AVI (DIVX; XVID; etc)"];
var FMT_MPEG12  = [1,  "MPEG1;2 (DVD; SVCD; VCD)"];
var FMT_MPEG4   = [2,  "MPEG4 (iPod; MP4)"];
var FMT_3GPP    = [3,  "3GPP (GSM)"];
var FMT_3GPP2   = [4,  "3GPP2 (CDMA)"];
var FMT_QT      = [5,  "QuickTime (mov)"];
var FMT_WMV     = [6,  "WMV"]; 
var FMT_RM      = [7,  "RealMedia"];
var FMT_FLV     = [8,  "Flash (flv)"];
var FMT_WAV     = [9, "WAV"];
var FMT_MP3     = [10,  "MP3"];
//WMA 11
var FMT_AAC     = [12, "AAC"];
var FMT_OGG     = [13, "OGG"];
var FMT_FLAC    = [14, "FLAC"];
//APE 15
var aPrs = {
    DownloadOnly            : [-1,  "Same as source", 0],
    AVI_XviD                : [0,  "MPEG4 Xvid Compatible", FMT_AVI[0]],
    MPEG4_SameAsInput       : [1,  "Mpeg-4 format", FMT_MPEG4[0]],
    MPEG2_DVD_PAL           : [2,  "DVD PAL Compatible", FMT_MPEG12[0]],
    MPEG2_DVD_NTSC          : [3,  "DVD NTSC Compatible", FMT_MPEG12[0]],
    MPEG4_iPod              : [4,  "iPod (320x240)", FMT_MPEG4[0]],
    MPEG4_iPod_5G           : [5,  "iPod 5G (640x480)", FMT_MPEG4[0]],
    MPEG4_PSP               : [6,  "Video for PSP", FMT_MPEG4[0]],
    TGPP_Cellphone          : [8,  "3gp for cellphone", FMT_3GPP[0]],
    TGPP2_Cellphone         : [9,  "3gp2 for cellphone", FMT_3GPP2[0]],
    QT_Podcasts             : [14, "Best for video podcast, MPEG4 format", FMT_QT[0]],
    MP3_HHQ                 : [15, "Audio Only: MP3 Higher Quality", FMT_MP3[0]],
    AVI_XviD_YouTube        : [16, "MPEG4 Xvid for YouTube", FMT_AVI[0]],
    MPEG2_SameAsInput       : [17, "Best Quality", FMT_MPEG12[0]],
    MPEG2_VCD_NTSC          : [18, "VCD NTSC Compatible", FMT_MPEG12[0]],
    MPEG2_VCD_PAL           : [19, "VCD PAL Compatible", FMT_MPEG12[0]],
    MPEG2_SVCD_NTSC         : [20, "SVCD NTSC Compatible", FMT_MPEG12[0]],
    MPEG2_SVCD_PAL          : [21, "SVCD PAL Compatible", FMT_MPEG12[0]],
    MPEG2_HD1               : [22, "HD 1440x1088, 25 fps", FMT_MPEG12[0]],
    MPEG2_HD2               : [23, "HD 1280x720, 25 fps", FMT_MPEG12[0]],
    MPEG4_HD_MPEG4_720      : [24, "HD MPEG4 720p", FMT_MPEG4[0]],
    MPEG4_HD_MPEG4_1080     : [25, "HD MPEG4 1080p", FMT_MPEG4[0]],
    MPEG4_HD_H264_720       : [26, "HD H.264 720p", FMT_MPEG4[0]],
    MPEG4_HD_H264_1080      : [27, "HD H.264 1080p", FMT_MPEG4[0]],
    MPEG4_iPhone            : [28, "iPhone (480x320)", FMT_MPEG4[0]],
    MPEG4_AppleTV           : [29, "Apple TV", FMT_MPEG4[0]],
    MPEG4_Epson_1           : [30, "Epson P-3000/P-5000/P-4500", FMT_MPEG4[0]],
    MPEG4_Epson_2           : [31, "Epson P-2000", FMT_MPEG4[0]],
    MPEG4_Blackberry_1      : [32, "Blackberry 8300/8700/8800", FMT_MPEG4[0]],
    MPEG4_Blackberry_2      : [33, "Blackberry 7100/8100", FMT_MPEG4[0]],
    TGPP_OQ                 : [34, "Optimal Quality", FMT_3GPP[0]],
    TGPP_HQ                 : [35, "Highest Available Quality", FMT_3GPP[0]],
    TGPP_SQ                 : [36, "Standard Quality", FMT_3GPP[0]],
    TGPP_BQ                 : [37, "Balanced Quality", FMT_3GPP[0]],
    TGPP_SSA                : [38, "Smallest Size with Audio", FMT_3GPP[0]],
    TGPP_SSwA               : [39, "Smallest Size w/o Audio", FMT_3GPP[0]],
    TGPP2_OQ                : [40, "Optimal Quality", FMT_3GPP2[0]],
    TGPP2_HQ                : [41, "Highest Available Quality", FMT_3GPP2[0]],
    TGPP2_SQ                : [42, "Standard Quality", FMT_3GPP2[0]],
    TGPP2_BQ                : [43, "Balanced Quality", FMT_3GPP2[0]],
    TGPP2_SSA               : [44, "Smallest Size with Audio", FMT_3GPP2[0]],
    TGPP2_SSwA              : [45, "Smallest Size w/o Audio", FMT_3GPP2[0]],
    QT_iPod                 : [46, "iPod (320x240)", FMT_QT[0]],
    FLV_100                 : [47, "100% Quality (H.263, MP3 - 128 Kbps)", FMT_FLV[0]],
    FLV_75                  : [48, "75% Quality (H.263, MP3 - 64 Kbps)", FMT_FLV[0]],
    FLV_50                  : [49, "50% Quality (H.263, MP3 - 48 Kbps)", FMT_FLV[0]],
    FLV_25                  : [50, "25% Quality (H.263, MP3 - 32 Kbps)", FMT_FLV[0]],
    FLV_20                  : [51, "20% Quality (H.263, No audio)", FMT_FLV[0]],
    WAV_Standart            : [52, "CD Quality", FMT_MP3[0]],
    MP3_GQ                  : [53, "Audio Only: MP3 Good Quality", FMT_MP3[0]],
    MP3_HQ                  : [54, "Audio Only: MP3 High Quality", FMT_MP3[0]],
    MP3_AppleTV             : [55, "Audio Only: Apple TV", FMT_MP3[0]],
    AAC_GQ                  : [56, "Audio Only: AAC Good Quality", FMT_AAC[0]],
    AAC_HQ                  : [57, "Audio Only: AAC High Quality", FMT_AAC[0]],
    AAC_HHQ                 : [58, "Audio Only: AAC Higher Quality", FMT_AAC[0]],
    OGG_GQ                  : [59, "Audio Only: OGG Good Quality", FMT_OGG[0]],
    OGG_HQ                  : [60, "Audio Only: OGG High Quality", FMT_OGG[0]],
    OGG_HHQ                 : [61, "Audio Only: OGG Higher Quality", FMT_OGG[0]],
    FLAC_BQ                 : [62, "Best quality", FMT_FLAC[0]],
    WMV9_00                 : [80494176, "WMV 9 for VHS quality video", FMT_WMV[0]],
    WMV9_01                 : [80494464, "WMV 9 for DVD quality video (1 mbps)", FMT_WMV[0]],
    WMV9_02                 : [80494592, "WMV 9 for DVD quality video (2 mbps)", FMT_WMV[0]],
    WMV9_03                 : [80494824, "WMV HD 720/25p", FMT_WMV[0]],
    WMV9_04                 : [80495080, "WMV HD 720/30p", FMT_WMV[0]],
    WMV9_05                 : [80495472, "WMV HD 1080/25p", FMT_WMV[0]],
    WMV9_06                 : [80495728, "WMV HD 1080/30p", FMT_WMV[0]],
    WMV9_07                 : [80496056, "WMV 9 for Dial-up Modems (28,8 kbps)", FMT_WMV[0]],
    WMV9_08                 : [80496360, "WMV 9 for Dial-up Modems (56 kbps)", FMT_WMV[0]],
    WMV9_09                 : [80496560, "WMV 9 for Dial-up Modems or LAN (28,8 to 100 kbps)", FMT_WMV[0]],
    WMV9_10                 : [80496896, "WMV 9 for LAN,Cable Modem, or xDSL  (100 to 768kbps)", FMT_WMV[0]],
    WMV9_11                 : [80497232, "WMV 9 for Local Network (100 kbps)", FMT_WMV[0]],
    WMV9_12                 : [80497432, "WMV 9 for Local Network (256 kbps)", FMT_WMV[0]],
    WMV9_13                 : [80497632, "WMV 9 for Local Network (384 kbps)", FMT_WMV[0]],
    WMV9_14                 : [80497832, "WMV 9 for Local Network (768 kbps)", FMT_WMV[0]],
    WMV9_15                 : [80498128, "WMV 9 for Pocket PC (225kbps)", FMT_WMV[0]],
    WMV9_16                 : [80498328, "WMV 9 Web Streaming", FMT_WMV[0]],
    WMV9_17                 : [80498528, "WMV 9 E-mail", FMT_WMV[0]],
    WMV9_18                 : [80498784, "Zune", FMT_WMV[0]],
    WMV9_19                 : [80498984, "Zen vision", FMT_WMV[0]],
    WMV9_20                 : [80499368, "Zen Vision W", FMT_WMV[0]],
    WMV9_21                 : [80499624, "Zen Vision M / Zen", FMT_WMV[0]],
    WMV9_22                 : [80499888, "PS3 DVD-PAL", FMT_WMV[0]],
    WMV9_23                 : [80500136, "PS3 DVD-NTSC", FMT_WMV[0]],
    WMV9_24                 : [80500320, "PS3 HD-720p", FMT_WMV[0]],
    WMV9_25                 : [80500568, "PS3 HD-1080p", FMT_WMV[0]],
    WMV9_26                 : [80500896, "Archos 105", FMT_WMV[0]],
    WMV9_27                 : [80501144, "Archos 404/405", FMT_WMV[0]],
    WMV9_28                 : [80501400, "Archos 504/604", FMT_WMV[0]],
    WMV9_29                 : [80501656, "Archos 605/705/Archos TV+", FMT_WMV[0]]                        
};                         

var PRESET_DAIALOG = 0;
var FORMATS ;
if(url_mode)
    FORMATS = [FMT_DOWNLOAD, FMT_AVI, FMT_MPEG12, FMT_MPEG4, FMT_3GPP, FMT_3GPP2, FMT_QT,FMT_WMV,FMT_RM,FMT_FLV,FMT_MP3,FMT_AAC,FMT_OGG,FMT_WAV, FMT_FLAC];
else
    FORMATS = [FMT_AVI, FMT_MPEG12, FMT_MPEG4, FMT_3GPP, FMT_3GPP2, FMT_QT,FMT_WMV,FMT_RM,FMT_FLV,FMT_MP3,FMT_AAC,FMT_OGG,FMT_WAV, FMT_FLAC];
var PRESETS = {};
if(url_mode)
    PRESETS[FMT_DOWNLOAD[0]]= [aPrs.DownloadOnly];
PRESETS[FMT_AVI[0]]     = [aPrs.AVI_XviD, aPrs.AVI_XviD_YouTube];
PRESETS[FMT_MPEG12[0]]  = [aPrs.MPEG2_SameAsInput, aPrs.MPEG2_VCD_NTSC, aPrs.MPEG2_VCD_PAL,aPrs.MPEG2_SVCD_NTSC, aPrs.MPEG2_SVCD_PAL, aPrs.MPEG2_DVD_NTSC, aPrs.MPEG2_DVD_PAL, aPrs.MPEG2_HD1, aPrs.MPEG2_HD2];
PRESETS[FMT_MPEG4[0]]   = [aPrs.MPEG4_SameAsInput, aPrs.MPEG4_HD_MPEG4_720, aPrs.MPEG4_HD_MPEG4_1080, aPrs.MPEG4_HD_H264_720, aPrs.MPEG4_HD_H264_1080,  aPrs.MPEG4_iPod, aPrs.MPEG4_iPod_5G,aPrs.MPEG4_iPhone, aPrs.MPEG4_AppleTV, aPrs.MPEG4_PSP, aPrs.MPEG4_Epson_1, aPrs.MPEG4_Epson_2, aPrs.MPEG4_Blackberry_1, aPrs.MPEG4_Blackberry_2];
PRESETS[FMT_3GPP[0]]    = [aPrs.TGPP_OQ, aPrs.TGPP_HQ, aPrs.TGPP_SQ, aPrs.TGPP_BQ, aPrs.TGPP_SSA, aPrs.TGPP_SSwA, aPrs.TGPP_Cellphone];
PRESETS[FMT_3GPP2[0]]   = [aPrs.TGPP2_OQ, aPrs.TGPP2_HQ, aPrs.TGPP2_SQ, aPrs.TGPP2_BQ, aPrs.TGPP2_SSA, aPrs.TGPP2_SSwA, aPrs.TGPP2_Cellphone];
PRESETS[FMT_QT[0]]      = [aPrs.QT_Podcasts, aPrs.QT_iPod];
PRESETS[FMT_WMV[0]]     = [aPrs.WMV9_00,aPrs.WMV9_01,aPrs.WMV9_02,aPrs.WMV9_03,aPrs.WMV9_04,aPrs.WMV9_05,aPrs.WMV9_06,aPrs.WMV9_07,aPrs.WMV9_08,aPrs.WMV9_09,aPrs.WMV9_10,aPrs.WMV9_11,aPrs.WMV9_12,aPrs.WMV9_13,aPrs.WMV9_14,aPrs.WMV9_15,aPrs.WMV9_16,aPrs.WMV9_17,aPrs.WMV9_18,aPrs.WMV9_19,aPrs.WMV9_20,aPrs.WMV9_21,aPrs.WMV9_22,aPrs.WMV9_23,aPrs.WMV9_24,aPrs.WMV9_25,aPrs.WMV9_26,aPrs.WMV9_27,aPrs.WMV9_28,aPrs.WMV9_29];

PRESETS[FMT_MP3[0]]     = [aPrs.MP3_HHQ, aPrs.MP3_GQ, aPrs.MP3_HQ, aPrs.MP3_AppleTV];
PRESETS[FMT_AAC[0]]     = [aPrs.AAC_GQ, aPrs.AAC_HQ, aPrs.AAC_HHQ];
PRESETS[FMT_OGG[0]]     = [aPrs.OGG_GQ, aPrs.OGG_HQ, aPrs.OGG_HHQ];
PRESETS[FMT_WAV[0]]     = [aPrs.WAV_Standart];
PRESETS[FMT_FLAC[0]]    = [aPrs.FLAC_BQ];
PRESETS[FMT_FLV[0]]     = [aPrs.FLV_100, aPrs.FLV_75, aPrs.FLV_50, aPrs.FLV_25, aPrs.FLV_20];
PRESETS[FMT_RM[0]]      = [[80434800, "100% Quality Download (VBR)", FMT_RM[0]],
        [80434960, "128k Dual ISDN", FMT_RM[0]],[80435024, "12k Substream for 28k Dial-up", FMT_RM[0]],[80435136, "150k LAN", FMT_RM[0]],
        [80435424, "16k Substream for 28k Dial-up", FMT_RM[0]],[80435488, "1M Download (VBR)", FMT_RM[0]],[80435624, "1M Multichannel (VBR)", FMT_RM[0]],
        [80435928, "1M Surround Stereo (VBR)", FMT_RM[0]],[80436040, "256k DSL or Cable", FMT_RM[0]],[80436280, "26k Substream for 56k Dial-up", FMT_RM[0]],
        [80436528, "28k Dial-up", FMT_RM[0]],[80436768, "2M Download (VBR)", FMT_RM[0]],[80436976, "2M Multichannel (VBR)", FMT_RM[0]],
        [80437200, "2M Surround Stereo (VBR)", FMT_RM[0]],[80437392, "350k Download (VBR)", FMT_RM[0]],[80437600, "350k Multichannel (VBR)", FMT_RM[0]],
        [80437824, "350k Surround Stereo (VBR)", FMT_RM[0]],[80438016, "384k DSL or Cable", FMT_RM[0]],[80438208, "450k Download (VBR)", FMT_RM[0]],
        [80438416, "450k Multichannel (VBR)", FMT_RM[0]],[80438776, "450k Surround Stereo (VBR)", FMT_RM[0]],[80438968, "512k DSL or Cable", FMT_RM[0]],
        [80439080, "56k Dial-up", FMT_RM[0]],[80439320, "5M Download (VBR)", FMT_RM[0]],[80439528, "5M Multichannel (VBR)", FMT_RM[0]],
        [80439752, "5M Surround Stereo (VBR)", FMT_RM[0]],[80439928, "64k Single ISDN", FMT_RM[0]],[80440152, "70% Quality Download (VBR)", FMT_RM[0]],
        [80440344, "750k Download (VBR)", FMT_RM[0]],[80440552, "750k Multichannel (VBR)", FMT_RM[0]],[80440912, "750k Surround Stereo (VBR)", FMT_RM[0]],
        [80441104, "768k DSL or Cable", FMT_RM[0]],[80441328, "80% Quality Download (VBR)", FMT_RM[0]],[80441552, "90% Quality Download (VBR)", FMT_RM[0]],
        [80441792, "General Mobile Local Playback", FMT_RM[0]],[80442016, "General Mobile Streaming", FMT_RM[0]],[80442192, "Lossless Audio", FMT_RM[0]],[80442400, "PocketPC Local Playback", FMT_RM[0]],
    ];
RM_STRETCH  = [0,"Stretch"];
RM_LETTER   = [1,"Letterbox"];
RM_CROP     = [2,"Crop"];
RESIZE_METHODS  = [RM_STRETCH, RM_LETTER, RM_CROP];

RQ_NORMAL   = [0, "Normal (Fast)"];
RQ_BEST     = [1,"Best (Slow)"];
RESIZE_QUALITY  = [RQ_NORMAL, RQ_BEST];

var aFreqs = {
    FQ_48_KHZ   : 48000,
    FQ_44_KHZ   : 44100,
    FQ_32_KHZ   : 32000,
    FQ_24_KHZ   : 24000,
    FQ_22_KHZ   : 22050,
    FQ_16_KHZ   : 16000,
    FQ_12_KHZ   : 12000,
    FQ_11_KHZ   : 11025,
    FQ_8_KHZ    : 8000,
    FQ_6_KHZ    : 6000
}


AUTO        = [0,"Auto"];
MONO        = [1,"Mono"];
STEREO      = [2,"Stereo"];
CHANNELS    = [AUTO, MONO, STEREO];

var PRESETS_DATA = {};
var isChangingPreset = false;
var DIALOGS = {};
DIALOGS[FMT_DOWNLOAD[0]]= {isInit:false, name : "IDD_DOWNLOADOPTS", bModified: false};
DIALOGS[FMT_AVI[0]]     = {isInit:false, name : "IDD_AVIOPTS",  bModified: false};
DIALOGS[FMT_MPEG12[0]]  = {isInit:false, name : "IDD_MPEGOPTS", bModified: false};
DIALOGS[FMT_MPEG4[0]]   = {isInit:false, name : "IDD_MP4OPTS",  bModified: false};
DIALOGS[FMT_3GPP[0]]    = {isInit:false, name : "IDD_3GPOPTS",  bModified: false};
DIALOGS[FMT_3GPP2[0]]   = {isInit:false, name : "IDD_3GP2OPTS", bModified: false};
DIALOGS[FMT_QT[0]]      = {isInit:false, name : "IDD_QTOPTS",   bModified: false};
DIALOGS[FMT_WMV[0]]     = {isInit:false, name : "IDD_WMVOPTS",  bModified: false};
DIALOGS[FMT_RM[0]]      = {isInit:false, name : "IDD_RMOPTS",   bModified: false};
DIALOGS[FMT_MP3[0]]     = {isInit:false, name : "IDD_MP3OPTS",  bModified: false};
DIALOGS[FMT_AAC[0]]     = {isInit:false, name : "IDD_AACOPTS",  bModified: false};
DIALOGS[FMT_OGG[0]]     = {isInit:false, name : "IDD_OGGOPTS",  bModified: false};
DIALOGS[FMT_WAV[0]]     = {isInit:false, name : "IDD_WAVOPTS",  bModified: false};
DIALOGS[FMT_FLV[0]]     = {isInit:false, name : "IDD_FLVOPTS",  bModified: false};
DIALOGS[FMT_FLAC[0]]    = {isInit:false, name : "IDD_FLACOPTS", bModified: false};
DIALOGS[-2]             = {isInit:false, name : "OPT_DIALOGS",  bModified: false};
function onSelectPreset(presetId, presetName)
{
}

function getFormatID(presetID)
{
    var formatId = -1;
    $.each(PRESETS, function (format_id, preset_list) 
    {
        var res = false;
        //console.log("format: ", format_id);
        $.each(preset_list, function (p_format_id, preset_item) {
            //console.log("[" + preset_item[0]+"]"+preset_item[1]);
            if(presetID == preset_item[0])
            {
                formatId = format_id;
                res = true;
                return false;
            }
        });
        if(res) return false;
    });
    return formatId;
}
function initPresetList(presetId, bChanged, bReloadPreset)
{
    var c_dialog = $("#preset_dialog");
    var FMT_SELECT = $("#IDC_FORMAT");
    var PRESET_SELECT = $("#IDC_PRESET", c_dialog);
    if(bChanged)
    {
        if(bReloadPreset)
        {
            PRESETS_DATA[-2] = {data: DIALOGS[FMT_SELECT.val()].exportPreset(), format: FMT_SELECT.val()};
            PRESETS_DATA[-2].data.FormatID = FMT_SELECT.val();
        }
        PRESET_SELECT.jselect({
            data: [[-2, "Custom preset"]]
        });
    }
    PRESET_SELECT.jselect({
        data: PRESETS[presetId],
        replaceAll: !bChanged,
        onChange: function(value, text){ onPresetChangeGlobal(value); prevPreset = value;}
    });
    if(bChanged)
PRESET_SELECT.change(); 
}
var onPresetChange = function () {};
var prevFormat = -1;
var prevPreset = -1;
function onPresetChangeGlobal(presetID)
{
    if(presetID == prevPreset) return;
    //console.log("presetID: ", presetID, "PrevPresetID: ", prevPreset);
    isChangingPreset = true;
    var FMT_SELECT = $("#preset_dialog select#IDC_FORMAT");

    DIALOGS[FMT_SELECT.val()].initPreset(presetID);
    if(presetID != -2)
    {
        DIALOGS[FMT_SELECT.val()].bModified = false;
    }
    isChangingPreset = false;
}

function initFormatList()
{
    var c_dialog = $("#preset_dialog");
    var FMT_SELECT = $("select#IDC_FORMAT", c_dialog);

    FMT_SELECT.jselect({
        data: FORMATS,
        onChange: function(value, text)
        { 
            //$("#ajax_loader", c_dialog).show( );
            $("#" + DIALOGS[prevFormat].name).hide();
            $("#" + DIALOGS[value].name).show();
            if(!DIALOGS[value].isInit) {DIALOGS[value].init();DIALOGS[value].isInit = true;}
            onPresetChangeGlobal(PRESETS[value][0][0], aPrs.AVI_XviD);  
            //$("#ajax_loader", c_dialog).hide( );

            initPresetList(value, false, true); 
            prevFormat = value;
        }
    });
}

function toggleDisabled (context, idList, checked) {
    $.each(idList, function () {
        $("[for=" + this + "]", context).attr('disabled', checked).toggleClass( 'ui-state-disabled', checked);
        $("#" + this, context).attr('disabled', checked).toggleClass( 'ui-state-disabled', checked);
    });
}

$(document).ready(function(){
    $("#preset_dialog input[type=text]").keypress(function (e)
    {
      if(e.which!=46 && e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
      {
        return false;
      }
    });

    PRESET_DIALOG = $("#preset_dialog");
    PRESET_DIALOG.dialog(
    { 
        buttons: {
            "Ok": function() 
                { 
                    var selected_preset = $("#IDC_PRESET").val();
                    var selected_format = $("#IDC_FORMAT").val();
                    var format_name = "";
                    var preset_name = "";
                    
                    if(selected_preset == -2) preset_name = "User defined";
                    else
                    $.each(PRESETS, function () {
                        var res = false;
                        $.each(this, function () {
                            if(selected_preset == this[0])
                            {
                                preset_name = this[1];
                                res = true;
                                return false;
                            }
                        });
                        if(res) return false;
                    });
                    
                    $.each(FORMATS, function () {
                        if(selected_format == this[0])
                        {
                            format_name = this[1];
                            return false;
                        }
                    });
                    
                    if(-1 == $.inArray(selected_preset, ["-1","0","1","2","3","4","5","28","6","8","9","14","47","54"]))
                    {
                        var elSel = $("#combo_box").get(0);
                        var gr = $("#user_presets_group");
                        if(gr.length == 0)
                        {
                            $("#combo_box").prepend("<optgroup id='user_presets_group'label='" + JS_LANG_ADVANCED + ":' >"
                            + "</optgroup>");
                        }
                        var elOpt= 0;
                        if(selected_preset == -2)
                        {
                            if($("#custom_preset_option").length == 0)
                                $("#user_presets_group").prepend("<option value='-2' id='custom_preset_option' style='padding-left:20px;'>  </option>");
                            elOpt = $("#custom_preset_option").get(0);
                        }
                        else
                        {
                            $("#user_presets_group").prepend("<option value='-2' style='padding-left:20px;'>  </option>");
                            elOpt = elSel.options[0];
                        }
                        elOpt.text = '  ' + format_name + ", " + preset_name;
                        elOpt.value = selected_preset;                      
                        $("#combo_box").val(selected_preset);
                    }
                    else
                    {
                        $("#combo_box").val(selected_preset);
                    }
                    
                    $("#preset_dialog").dialog('close');
                    return true;
                },
            "Cancel": function() 
                { 
                    $("#preset_dialog").dialog('close');
                    return true;
                }
        },
        beforeclose: function(event, ui) {},
        modal: false, 
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        width: 500,
        height:460
    });

    initFormatList();
    $("#IDC_EXPORT_PRESET").click(function () {
        var FMT_SELECT = $("#preset_dialog select#IDC_FORMAT");
        var prData = DIALOGS[FMT_SELECT.val()].exportPreset();
        prData.FormatId = FMT_SELECT.val();
        $("#preset_data_export").val(JSON.encode(prData));
    });
    $("#show_preset_dialog2").click(function () {
        //setTimeout(function () {
            var FMT_SELECT = $("select#IDC_FORMAT");
            var main_wnd_preset = $("#combo_box").val();
            var main_wnd_preset_item = -1;
            var main_wnd_format = -1;
            //prevFormat = -1;
            $.each(PRESETS, function (format_id, preset_list) {
            var res = false;
                //console.log("format: ", format_id);
                $.each(preset_list, function (p_format_id, preset_item) {
                    //console.log("[" + preset_item[0]+"]"+preset_item[1]);
                    if(main_wnd_preset == preset_item[0])
                    {
                        main_wnd_preset_item = preset_item;
                        main_wnd_format = format_id;
                        res = true;
                        return false;
                    }
                });
                if(res) return false;
            });
            if(main_wnd_preset == -2) main_wnd_format = PRESETS_DATA[-2].format;
            FMT_SELECT.val(main_wnd_format).change();
            initPresetList(main_wnd_format, (main_wnd_preset == -2) ,false);
             $("#IDC_PRESET").val(main_wnd_preset).change();
            DIALOGS[main_wnd_format].initPreset(main_wnd_preset);
            //if(!DIALOGS[-2].isInit) {DIALOGS[-2].init();DIALOGS[-2].isInit = true;}
            prevFormat = main_wnd_format;
        //});
        PRESET_DIALOG.dialog('open');
    });
    $("#preset_dialog input, #preset_dialog select").change(function () {
        if(("IDC_PRESET" != $(this).attr("id")) &&
            ("IDC_FORMAT" != $(this).attr("id")))
        {
            var FMT_SELECT = $("#IDC_FORMAT");
            //console.log($(this).attr("id"),"isChangingPreset: ", isChangingPreset);
            //console.log();
            if(!isChangingPreset)
            {
                DIALOGS[FMT_SELECT.val()].bModified = true;
                initPresetList(FMT_SELECT.val(), true, true); 
                $("#IDC_PRESET").val(-2);
            }
        }
    });
});

//====================================================================

var C_MPEG4 = ['mp4v', "MPEG4 Video"];
var C_H263 = ['s263', "H.263"];
var C_H264 = ['avc1', "H.264"];
var C_AAC = ['mp4a', "AAC"];
var C_AMR = ['samr', "AMR"];
var C_NONE = [0, "None"];

var PROFILES_mp4v = [[8, "Simple"], [148, "Advanced Realtime Simple"], [244, "Advanced Simple"]];
var QUALITY_mp4v = [[0, "Lowest"], [1, "Low"], [2, "Medium Low"], [3, "Medium"], [4, "Medium High"], [5, "High"], [6, "Highest"]];

var QUALITY_s263 = [[1, "Lowest"], [5, "Low"], [10, "Medium Low"], [15, "Medium"], [20, "Medium High"], [25, "High"], [30, "Highest"]];
var RANGE_s263 = [[1, "Very Small"], [3, "Small"], [7, "Medium"], [10, "Wide"], [15, "Very Wide"]];

var PROFILES_avc1 = [[1, "Baseline"], [2, "Main"], [4, "High"]];
var QUALITY_avc1 = [[0, "Default"], [1, "Low"], [2, "Medium"], [3, "High"], [4, "Highest"]];

var PROFILES_mp4a = [[1, "Main"], [2, "LC"], [5, "LTP"]];
var BITRATES_mp4a = [8, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320];
var QUALITY_mp4a     = [[100, "Medium"], [250, "High"], [500, "Highest"]];

var BITRATES_samr = [4750, 5150, 5900, 6700, 7400, 7950, 10200, 12200];

var MP4_VIDEO_CODECS = [C_MPEG4, C_H263, C_H264];
var MP4_AUDIO_CODECS = [C_NONE, C_AAC, C_AMR];

PRESETS_DATA[aPrs.MPEG4_SameAsInput[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "25",
    VParams         : { MPG4 : {
        Profile : 244,
        Bitrate : 2500000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode     : false,
    VideoSAsInput   : true,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_720[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 1280,
    Height          : 720,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "25",
    VParams         : { MPG4 : {
        Profile : 244,
        Bitrate : 10000000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 192000, 
        Quality : 100
    }},
    PSPMode         : false,
    LinkSizes       : true,
    WPerc           : 100,
    HPerc           : 100
    }
};
PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_1080[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_720[0]]);
PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_1080[0]].data.Width = 1920;
PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_1080[0]].data.Height = 1088;
PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_1080[0]].data.VParams.MPG4.Bitrate = 15000000;

PRESETS_DATA[aPrs.MPEG4_HD_H264_720[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_720[0]]);
PRESETS_DATA[aPrs.MPEG4_HD_H264_720[0]].data.VideoCodec = C_H264[0];
PRESETS_DATA[aPrs.MPEG4_HD_H264_720[0]].data.VParams.H264 = {Profile: 4, Bitrate: 1000000, VBR: false, Quality:2};

PRESETS_DATA[aPrs.MPEG4_HD_H264_1080[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG4_HD_MPEG4_1080[0]]);
PRESETS_DATA[aPrs.MPEG4_HD_H264_1080[0]].data.VideoCodec = C_H264[0];
PRESETS_DATA[aPrs.MPEG4_HD_H264_1080[0]].data.VParams.H264 = {Profile: 4, Bitrate: 1500000, VBR: false, Quality:2};

PRESETS_DATA[aPrs.MPEG4_iPod[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "25",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 572000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode     : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_iPod_5G[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 640,
    Height          : 480,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "25",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 2500000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 48000,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode     : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_iPhone[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 480,
    Height          : 320,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "25",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 1000000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 48000,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode     : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_AppleTV[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 720,
    Height          : 432,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "30",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 2000000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 48000,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode     : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_PSP[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 368,
    Height          : 208,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "29.97",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 504000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 24000,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 96000, 
        Quality : 100
    }},
    PSPMode         : true,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_Epson_1[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 640,
    Height          : 480,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "30",
    VParams         : { MPG4 : {
        Profile : 244,
        Bitrate : 2000000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode         : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_Epson_2[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 640,
    Height          : 480,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "30",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 2000000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode         : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_Blackberry_1[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 500000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode         : false,
    LinkSizes       : true
    }
};

PRESETS_DATA[aPrs.MPEG4_Blackberry_2[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    VideoSAsInput   : false,
    Width           : 240,
    Height          : 260,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { MPG4 : {
        Profile : 8,
        Bitrate : 400000, 
        Quality : 3
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Profile : 2,
        Bitrate : 128000, 
        Quality : 100
    }},
    PSPMode         : false,
    LinkSizes       : true
    }
};

DIALOGS[FMT_MPEG4[0]].exportPreset = function()
{
    var c_dialog = $("div#IDD_MP4OPTS");
    var data = [];// PRESETS_DATA[presetId].data;
    data.VideoCodec = $("#MP4_IDC_VIDEOCODEC", c_dialog).val();
    data.AudioCodec = $("#MP4_IDC_AUDIOCODEC", c_dialog).val();

    data.Width = $("#MP4_IDC_WIDTH", c_dialog).val();
    data.Height = $("#MP4_IDC_HEIGHT", c_dialog).val();
    data.WPerc = $("#MP4_IDC_WPERC", c_dialog).val();
    data.HPerc = $("#MP4_IDC_HPERC", c_dialog).val();

    data.FrameRate = $("#MP4_IDC_FRPERSECOND", c_dialog).val();
    data.VideoSAsInput = $("#MP4_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
    data.LinkSizes = $("#MP4_IDC_LINKSIZES", c_dialog).attr('checked');
    data.PSPMode = $("#MP4_IDC_PSPMODE", c_dialog).attr('checked');
        
    data.ResizeMethod = $("select#MP4_IDC_RESIZE_METHOD", c_dialog).val();
    data.ResizeQuality = $("select#MP4_IDC_RESIZEQUALITY", c_dialog).val();
    data.Freq = $("select#MP4_IDC_FREQUENCY", c_dialog).val();
    data.Channels = $("select#MP4_IDC_CHANNELS", c_dialog).val();

    
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            //alert($("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val());
            data.VParams = {MPG4 : {        
                Profile : $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(),
                Bitrate : $("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val()*1000,
                Quality : $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val()
                }};
            break;
        case C_H263[0]:
            data.VParams = {H263 : {        
                MotionSrchRng   : $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(),
                Bitrate         : 1000*$("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(),
                Quality         : $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(),
                VBR             : $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked')
            }};
            break;
        case C_H264[0]: 
            data.VParams = {H264 : {        
                Profile : $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(),
                Bitrate : 1000*$("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(),
                Quality : $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(),
                VBR     : $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked')
                }};
            break;
    }
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
            data.AParams = {AAC : {     
                Profile : $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(),
                Quality : $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val()
            }};
            break;
        case C_AMR[0]:
            data.AParams = {AMR : {Bitrate : $("div#IDD_OPT_samr #IDC_BITRATE_samr").val()}};
            //DWORD dwBitrate;
        break;
    }
    return data;
}
DIALOGS[FMT_MPEG4[0]].initPreset = function(presetId)
{
    var c_dialog = $("div#IDD_MP4OPTS");
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    $("#MP4_IDC_VIDEOCODEC", c_dialog).val(data.VideoCodec);
    $("#MP4_IDC_AUDIOCODEC", c_dialog).val(data.AudioCodec);

    $("#MP4_IDC_WIDTH", c_dialog).val(data.Width);
    $("#MP4_IDC_HEIGHT", c_dialog).val(data.Height);
    $("#MP4_IDC_WPERC", c_dialog).val(data.WPerc);
    $("#MP4_IDC_HPERC", c_dialog).val(data.HPerc);

    $("#MP4_IDC_FRPERSECOND", c_dialog).val(data.FrameRate);
    $("#MP4_IDC_VIDEOSASINPUT", c_dialog).attr('checked', data.VideoSAsInput).change();
    $("#MP4_IDC_LINKSIZES", c_dialog).attr('checked', data.LinkSizes).change();
    $("#MP4_IDC_PSPMODE", c_dialog).attr('checked', data.PSPMode).change();
        
    $("select#MP4_IDC_RESIZE_METHOD", c_dialog).val(data.ResizeMethod);
    $("select#MP4_IDC_RESIZEQUALITY", c_dialog).val(data.ResizeQuality);
    $("select#MP4_IDC_FREQUENCY", c_dialog).val(data.Freq);
    $("select#MP4_IDC_CHANNELS", c_dialog).val(data.Channels);
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(data.VParams.MPG4.Profile);
            $("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val(data.VParams.MPG4.Bitrate/1000);
            $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val(data.VParams.MPG4.Quality);
            break;
        case C_H263[0]: 
            $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(data.VParams.H263.MotionSrchRng);
            $("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(data.VParams.H263.Bitrate/1000);
            $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(data.VParams.H263.Quality);
            $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked', data.VParams.H263.VBR);
            break;
        case C_H264[0]: 
            $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(data.VParams.H264.Profile);
            $("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(data.VParams.H264.Bitrate/1000);
            $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(data.VParams.H264.Quality);
            $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked', data.VParams.H264.VBR)
            break;
    }
    
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
            $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(data.AParams.AAC.Profile);
            $("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(data.AParams.AAC.Bitrate/1000);
            $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val(data.AParams.AAC.Quality);
            break;
        case C_AMR[0]:
        break;
            $("div#IDD_OPT_samr #IDC_BITRATE_samr").val(data.AParams.AMR.Bitrate);
            //DWORD dwBitrate;
    }
    
    
};


DIALOGS[FMT_MPEG4[0]].init = function()
{
    var c_dialog = $("div#IDD_MP4OPTS");

    $("select#MP4_IDC_AUDIOCODEC", c_dialog).change(function () {
        var checked = ($(this).val() == C_NONE[0]);
        var checked2 = checked || ($(this).val() == C_AMR[0]);
        toggleDisabled($("div#preset_dialog"), ["MP4_IDC_AUDIOOPTS"], checked);     
        toggleDisabled($("div#preset_dialog"), ["MP4_IDC_FREQUENCY", "MP4_IDC_CHANNELS"], checked2);        
    });
    
    $("input[type=button]", c_dialog).hover(
            function(){ 
                $(this).addClass("ui-state-hover"); 
            },
            function(){ 
                $(this).removeClass("ui-state-hover"); 
            }
        ).mousedown(function(){
            $(this).addClass("ui-state-active"); 
        }).mouseup(function(){
                $(this).removeClass("ui-state-active");
        });

    $("input#MP4_IDC_VIDEOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#MP4_IDC_VIDEOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );
    $("input#MP4_IDC_AUDIOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#MP4_IDC_AUDIOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );

    $("#MP4_IDC_HEIGHT", c_dialog).change(function () {
        if($("#MP4_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            var nw = ($(this).val()/initH) * initW;
            $("#MP4_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
        var npw = ($("#MP4_IDC_WIDTH", c_dialog).val()/initW) * 100;
        $("#MP4_IDC_WPERC", c_dialog).val(parseInt(npw));
        var nph = ($("#MP4_IDC_HEIGHT", c_dialog).val()/initH) * 100;
        $("#MP4_IDC_HPERC", c_dialog).val(parseInt(nph));
    });
    
    $("div#IDD_MP4OPTS input#MP4_IDC_WIDTH").change(function () {
    
        if($("#MP4_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            var nh = ($(this).val()/initW) * initH;
            $("#MP4_IDC_HEIGHT", c_dialog).val(parseInt(nh));
        }
        var npw = ($("input#MP4_IDC_WIDTH").val()/initW) * 100;
        $("#MP4_IDC_WPERC", c_dialog).val(parseInt(npw));
        var nph = ($("#MP4_IDC_HEIGHT", c_dialog).val()/initH) * 100;
        $("#MP4_IDC_HPERC", c_dialog).val(parseInt(nph));
    });
    
    $("#MP4_IDC_WPERC", c_dialog).change(function () {
        var nw = (($(this).val()/100)*initW);
        $("div#IDD_MP4OPTS input#MP4_IDC_WIDTH").val(parseInt(nw));

        if($("#MP4_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#MP4_IDC_HPERC", c_dialog).val($(this).val());
            var nh = (($(this).val()/100)*initH);
            $("#MP4_IDC_HEIGHT", c_dialog).val(parseInt(nh));
        }
    });

    $("#MP4_IDC_HPERC", c_dialog).change(function () {
        var nh = (($(this).val()/100)*initH);
        $("#MP4_IDC_HEIGHT", c_dialog).val(parseInt(nh));

        if($("#MP4_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#MP4_IDC_WPERC", c_dialog).val($(this).val());
            var nw = (($(this).val()/100)*initW);
            $("#MP4_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
    });

    $("#MP4_IDC_VIDEOSASINPUT", c_dialog).change(function () {
        var checked = $("#MP4_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), ["MP4_IDC_WIDTH","MP4_IDC_HEIGHT","MP4_IDC_WPERC","MP4_IDC_HPERC","MP4_IDC_FRPERSECOND","MP4_IDC_LINKSIZES"], checked);      
    });

    $("#MP4_IDC_RESIZE_METHOD", c_dialog).jselect({
        data: [RM_STRETCH, RM_LETTER, RM_CROP]
    });
    $("#MP4_IDC_RESIZEQUALITY", c_dialog).jselect({
        data: [RQ_NORMAL, RQ_BEST]
    });

    $("#MP4_IDC_FREQUENCY", c_dialog).jselect({
        data: [aFreqs.FQ_48_KHZ,aFreqs.FQ_44_KHZ,aFreqs.FQ_32_KHZ,
            aFreqs.FQ_24_KHZ,aFreqs.FQ_22_KHZ,aFreqs.FQ_16_KHZ,
            aFreqs.FQ_12_KHZ,aFreqs.FQ_11_KHZ,aFreqs.FQ_8_KHZ]
    });
    
    $("#MP4_IDC_CHANNELS", c_dialog).jselect({
        data: [MONO, STEREO]
    });
    
    $("#MP4_IDC_VIDEOCODEC", c_dialog).jselect({data: MP4_VIDEO_CODECS});
    $("#MP4_IDC_AUDIOCODEC", c_dialog).jselect({data: MP4_AUDIO_CODECS});
};
//=
var C_XVID = [2015444769, "XviD MPEG-4 Codec"];

var C_MP3 = [-1, "MP3"];
var C_PCM = [-2, "PCM"];
var C_NONE = [0, "None"];

var WMV_VIDEO_CODECS = [    [0, "Windows Media Video V7"], 
                        [1, "Windows Media Screen V7"], 
                        [2, "Windows Media Video 9 Screen"], 
                        [3, "Windows Media Video 9"], 
                        [4, "Windows Media Video V8"], 
                        [5, "Windows Media Video 9 Advanced Profile"], 
                        [6, "Uncompressed Video"]
];
var WMV_AUDIO_CODECS = [    [0, "Windows Media Audio 9.2"], 
                        [1, "ACELP.NET"], 
                        [2, "Windows Media Audio Voice 9"], 
                        [3, "Windows Media Audio 10 Professional"], 
                        [4, "Windows Media Audio 9.2 Lossless"], 
                        [5, "Uncompressed Audio"], 
                        [6, "Audio None"]
];

var BUFFERS = ["OFF", 5000];
var COMBOVBR = [ [0, "Disable"],
                [1, "Quality"],
                [2, "Constrained"],
                [3, "Unconstrained"]
            ];


var WMV_FORMATS = [];
WMV_FORMATS[0] =[
    [0, "  8 kbps,  8 kHz, mono CBR"],
    [1, "  6 kbps,  8 kHz, mono CBR"],
    [2, "  5 kbps,  8 kHz, mono CBR"],
    [3, "  0 kbps,  8 kHz, mono CBR"],
    [4, " 12 kbps,  8 kHz, stereo CBR"],
    [5, " 10 kbps, 11 kHz, mono CBR"],
    [6, "  8 kbps, 11 kHz, mono CBR"],
    [7, " 16 kbps, 16 kHz, mono CBR"],
    [8, " 12 kbps, 16 kHz, mono CBR"],
    [9, " 10 kbps, 16 kHz, mono CBR"],
    [10, " 20 kbps, 16 kHz, stereo CBR"],
    [11, " 16 kbps, 16 kHz, stereo CBR"],
    [12, " 20 kbps, 22 kHz, mono CBR"],
    [13, " 16 kbps, 22 kHz, mono CBR"],
    [14, " 32 kbps, 22 kHz, stereo CBR"],
    [15, " 22 kbps, 22 kHz, stereo CBR"],
    [16, " 20 kbps, 22 kHz, stereo CBR"],
    [17, " 20 kbps, 32 kHz, mono CBR"],
    [18, " 48 kbps, 32 kHz, stereo CBR"],
    [19, " 40 kbps, 32 kHz, stereo CBR"],
    [20, " 32 kbps, 32 kHz, stereo CBR"],
    [21, " 24 kbps, 32 kHz, stereo CBR"],
    [22, " 48 kbps, 44 kHz, mono CBR"],
    [23, " 32 kbps, 44 kHz, mono CBR"],
    [24, " 20 kbps, 44 kHz, mono CBR"],
    [25, "320 kbps, 44 kHz, stereo CBR"],
    [26, "256 kbps, 44 kHz, stereo CBR"],
    [27, "192 kbps, 44 kHz, stereo CBR"],
    [28, "160 kbps, 44 kHz, stereo CBR"],
    [29, "128 kbps, 44 kHz, stereo CBR"],
    [30, " 96 kbps, 44 kHz, stereo CBR"],
    [31, " 80 kbps, 44 kHz, stereo CBR"],
    [32, " 64 kbps, 44 kHz, stereo CBR"],
    [33, " 48 kbps, 44 kHz, stereo CBR"],
    [34, " 32 kbps, 44 kHz, stereo CBR"],
    [35, "192 kbps, 48 kHz, stereo CBR"],
    [36, "191 kbps, 48 kHz, stereo Low Delay CBR"],
    [37, "160 kbps, 48 kHz, stereo CBR"],
    [38, "128 kbps, 48 kHz, stereo CBR"],
    [39, "127 kbps, 48 kHz, stereo Low Delay CBR"],
    [40, " 96 kbps, 48 kHz, stereo CBR"],
    [41, " 95 kbps, 48 kHz, stereo Low Delay CBR"],
    [42, " 64 kbps, 48 kHz, stereo CBR"],
    [43, " 63 kbps, 48 kHz, stereo Low Delay CBR"],
    [44, "  8 kbps,  8 kHz, mono (A/V) CBR"],
    [45, "  6 kbps,  8 kHz, mono (A/V) CBR"],
    [46, "  5 kbps,  8 kHz, mono (A/V) CBR"],
    [47, " 12 kbps,  8 kHz, stereo (A/V) CBR"],
    [48, " 10 kbps, 11 kHz, mono (A/V) CBR"],
    [49, "  8 kbps, 11 kHz, mono (A/V) CBR"],
    [50, " 20 kbps, 22 kHz, mono (A/V) CBR"],
    [51, " 16 kbps, 22 kHz, mono (A/V) CBR"],
    [52, " 32 kbps, 22 kHz, stereo (A/V) CBR"],
    [53, " 22 kbps, 22 kHz, stereo (A/V) CBR"],
    [54, " 20 kbps, 22 kHz, stereo (A/V) CBR"],
    [55, " 20 kbps, 32 kHz, mono (A/V) CBR"],
    [56, " 48 kbps, 32 kHz, stereo (A/V) CBR"],
    [57, " 40 kbps, 32 kHz, stereo (A/V) CBR"],
    [58, " 32 kbps, 32 kHz, stereo (A/V) CBR"],
    [59, " 24 kbps, 32 kHz, stereo (A/V) CBR"],
    [60, " 48 kbps, 44 kHz, mono (A/V) CBR"],
    [61, " 32 kbps, 44 kHz, mono (A/V) CBR"],
    [62, " 20 kbps, 44 kHz, mono (A/V) CBR"],
    [63, "320 kbps, 44 kHz, stereo (A/V) CBR"],
    [64, "256 kbps, 44 kHz, stereo (A/V) CBR"],
    [65, "192 kbps, 44 kHz, stereo (A/V) CBR"],
    [66, "160 kbps, 44 kHz, stereo (A/V) CBR"],
    [67, "128 kbps, 44 kHz, stereo (A/V) CBR"],
    [68, " 96 kbps, 44 kHz, stereo (A/V) CBR"],
    [69, " 80 kbps, 44 kHz, stereo (A/V) CBR"],
    [70, " 64 kbps, 44 kHz, stereo (A/V) CBR"],
    [71, " 48 kbps, 44 kHz, stereo (A/V) CBR"],
    [72, " 32 kbps, 44 kHz, stereo (A/V) CBR"],
    [73, "192 kbps, 48 kHz, stereo (A/V) CBR"],
    [74, "160 kbps, 48 kHz, stereo (A/V) CBR"],
    [75, "128 kbps, 48 kHz, stereo (A/V) CBR"],
    [76, " 96 kbps, 48 kHz, stereo (A/V) CBR"],
    [77, " 64 kbps, 48 kHz, stereo (A/V) CBR"],
    [78, "VBR Quality 98, 44 kHz, stereo VBR"],
    [79, "VBR Quality 90, 44 kHz, stereo VBR"],
    [80, "VBR Quality 75, 44 kHz, stereo VBR"],
    [81, "VBR Quality 50, 44 kHz, stereo VBR"],
    [82, "VBR Quality 25, 44 kHz, stereo VBR"],
    [83, "VBR Quality 10, 44 kHz, stereo VBR"],
    [84, "VBR Quality 98, 48 kHz, stereo VBR"],
    [85, "VBR Quality 90, 48 kHz, stereo VBR"]
];

WMV_FORMATS[1] =[
    [0, "5 Kbits/s, 8000Hz, Mono"],
    [1, "6.5 Kbits/s, 8000Hz, Mono"],
    [2, "8.5 Kbits/s, 8000Hz, Mono"],
    [3, "16 Kbits/s, 16000Hz, Mono"]
];

WMV_FORMATS[2] =[
    [0, "4 kbps, 8 kHz, mono"],
    [1, "5 kbps, 8 kHz, mono"],
    [2, "8 kbps, 8 kHz, mono"],
    [3, "10 kbps, 11.025 kHz, mono"],
    [4, "12 kbps, 16 kHz, mono"],
    [5, "16 kbps, 16 kHz, mono"],
    [6, "20 kbps, 22.05 kHz, mono"]
];
WMV_FORMATS[3] =[
    [0, " 32 kbps, 32 kHz, 2 channel 16 bit CBR"],
    [1, "440 kbps, 44 kHz, 2 channel 24 bit CBR"],
    [2, "384 kbps, 44 kHz, 2 channel 24 bit CBR"],
    [3, "256 kbps, 44 kHz, 2 channel 24 bit CBR"],
    [4, "256 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [5, "192 kbps, 44 kHz, 2 channel 24 bit CBR"],
    [6, "192 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [7, "160 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [8, "128 kbps, 44 kHz, 2 channel 24 bit CBR"],
    [9, "128 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [10, " 96 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [11, " 80 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [12, " 64 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [13, " 48 kbps, 44 kHz, 2 channel 16 bit CBR"],
    [26, "440 kbps, 48 kHz, 2 channel 24 bit CBR"],
    [27, "384 kbps, 48 kHz, 2 channel 24 bit CBR"],
    [28, "256 kbps, 48 kHz, 2 channel 24 bit CBR"],
    [29, "256 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [30, "192 kbps, 48 kHz, 2 channel 24 bit CBR"],
    [31, "192 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [32, "191 kbps, 48 kHz, 2 channel 24 bit Low Delay CBR"],
    [33, "160 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [34, "128 kbps, 48 kHz, 2 channel 24 bit CBR"],
    [35, "128 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [36, "127 kbps, 48 kHz, 2 channel 24 bit Low Delay CBR"],
    [37, " 96 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [38, " 80 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [39, " 64 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [40, " 48 kbps, 48 kHz, 2 channel 16 bit CBR"],
    [79, " 32 kbps, 32 kHz, 2 channel 16 bit (A/V) CBR"],
    [80, "440 kbps, 44 kHz, 2 channel 24 bit (A/V) CBR"],
    [81, "384 kbps, 44 kHz, 2 channel 24 bit (A/V) CBR"],
    [82, "256 kbps, 44 kHz, 2 channel 24 bit (A/V) CBR"],
    [83, "256 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [84, "192 kbps, 44 kHz, 2 channel 24 bit (A/V) CBR"],
    [85, "192 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [86, "160 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [87, "128 kbps, 44 kHz, 2 channel 24 bit (A/V) CBR"],
    [88, "128 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [89, " 96 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [90, " 80 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [91, " 64 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [92, " 48 kbps, 44 kHz, 2 channel 16 bit (A/V) CBR"],
    [105, "440 kbps, 48 kHz, 2 channel 24 bit (A/V) CBR"],
    [106, "384 kbps, 48 kHz, 2 channel 24 bit (A/V) CBR"],
    [107, "256 kbps, 48 kHz, 2 channel 24 bit (A/V) CBR"],
    [108, "256 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [109, "192 kbps, 48 kHz, 2 channel 24 bit (A/V) CBR"],
    [110, "192 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [111, "160 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [112, "128 kbps, 48 kHz, 2 channel 24 bit (A/V) CBR"],
    [113, "128 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [114, " 96 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [115, " 80 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [116, " 64 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [117, " 48 kbps, 48 kHz, 2 channel 16 bit (A/V) CBR"],
    [153, "VBR Quality 98, 44 kHz, 2 channel 24 bit VBR"],
    [154, "VBR Quality 90, 44 kHz, 2 channel 24 bit VBR"],
    [155, "VBR Quality 75, 44 kHz, 2 channel 24 bit VBR"],
    [156, "VBR Quality 50, 44 kHz, 2 channel 24 bit VBR"],
    [157, "VBR Quality 25, 44 kHz, 2 channel 24 bit VBR"],
    [158, "VBR Quality 10, 44 kHz, 2 channel 24 bit VBR"],
    [165, "VBR Quality 98, 48 kHz, 2 channel 24 bit VBR"],
    [166, "VBR Quality 90, 48 kHz, 2 channel 24 bit VBR"],
    [167, "VBR Quality 75, 48 kHz, 2 channel 24 bit VBR"],
    [168, "VBR Quality 50, 48 kHz, 2 channel 24 bit VBR"],
    [169, "VBR Quality 25, 48 kHz, 2 channel 24 bit VBR"],
    [170, "VBR Quality 10, 48 kHz, 2 channel 24 bit VBR"]
];
WMV_FORMATS[4] =[
    [0, "VBR Quality 100, 44 kHz, 2 channel 16 bit VBR"],
    [1, "VBR Quality 100, 44 kHz, 2 channel 24 bit VBR"],
    [2, "VBR Quality 100, 48 kHz, 2 channel 24 bit VBR"]
];
WMV_FORMATS[5] =[
    [0, "8000 Hz, 8 Bits, Mono"],
    [1, "8000 Hz, 8 Bits, Stereo"],
    [2, "8000 Hz, 16 Bits, Mono"],
    [3, "8000 Hz, 16 Bits, Stereo"],
    [4, "11025 Hz, 8 Bits, Mono"],
    [5, "11025 Hz, 8 Bits, Stereo"],
    [6, "11025 Hz, 16 Bits, Mono"],
    [7, "11025 Hz, 16 Bits, Stereo"],
    [8, "12000 Hz, 8 Bits, Mono"],
    [9, "12000 Hz, 8 Bits, Stereo"],
    [10, "12000 Hz, 16 Bits, Mono"],
    [11, "12000 Hz, 16 Bits, Stereo"],
    [12, "16000 Hz, 8 Bits, Mono"],
    [13, "16000 Hz, 8 Bits, Stereo"],
    [14, "16000 Hz, 16 Bits, Mono"],
    [15, "16000 Hz, 16 Bits, Stereo"],
    [16, "22050 Hz, 8 Bits, Mono"],
    [17, "22050 Hz, 8 Bits, Stereo"],
    [18, "22050 Hz, 16 Bits, Mono"],
    [19, "22050 Hz, 16 Bits, Stereo"],
    [20, "24000 Hz, 8 Bits, Mono"],
    [21, "24000 Hz, 8 Bits, Stereo"],
    [22, "24000 Hz, 16 Bits, Mono"],
    [23, "24000 Hz, 16 Bits, Stereo"],
    [24, "32000 Hz, 8 Bits, Mono"],
    [25, "32000 Hz, 8 Bits, Stereo"],
    [26, "32000 Hz, 16 Bits, Mono"],
    [27, "32000 Hz, 16 Bits, Stereo"],
    [28, "44100 Hz, 8 Bits, Mono"],
    [29, "44100 Hz, 8 Bits, Stereo"],
    [30, "44100 Hz, 16 Bits, Mono"],
    [31, "44100 Hz, 16 Bits, Stereo"],
    [32, "48000 Hz, 8 Bits, Mono"],
    [33, "48000 Hz, 8 Bits, Stereo"],
    [34, "48000 Hz, 16 Bits, Mono"],
    [35, "48000 Hz, 16 Bits, Stereo"]
];
WMV_FORMATS[6] =[];

PRESETS_DATA[aPrs.WMV9_00[0]] = {data : {
    //AudioCodec        :-1,
    Freq            :aFreqs.FQ_44_KHZ,
    Channels        :2,
    
    ProfileNum      :0,
    LinkSizes       :true,
    VideoSAsInput   :false,
    WPerc           :100,
    HPerc           :100,
    ResizeMethod    :RM_LETTER,
    ResizeQuality   :RQ_BEST,

    Width           : 320,
    Height          : 240,
    FrameRate       : "29.97",
    VideoBitrate    : 327000,
    VideoQuality    : 70,
    VideoBuffer     : 5000,
    AudioBuffer     : -1,
    AudioFormatNum  : 42,
    AudioCodecNum   : 0,
    VideoCodecNum   : 3,
    WMV             : {
                        VBR : 0,
                        VidBuffer : 5000,
                        VBRMaxBitrate : 0,
                        VBRQuality : 0
                    }
}};

PRESETS_DATA[aPrs.WMV9_01[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_00[0]]);
PRESETS_DATA[aPrs.WMV9_01[0]].data.ProfileNum = 1;
PRESETS_DATA[aPrs.WMV9_01[0]].data.Width = 640;
PRESETS_DATA[aPrs.WMV9_01[0]].data.Height =480;
PRESETS_DATA[aPrs.WMV9_01[0]].data.VideoBitrate = 1000000;
PRESETS_DATA[aPrs.WMV9_01[0]].data.VideoQuality = 75;

PRESETS_DATA[aPrs.WMV9_02[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_01[0]]);
PRESETS_DATA[aPrs.WMV9_02[0]].data.ProfileNum = 2;
PRESETS_DATA[aPrs.WMV9_02[0]].data.VideoBitrate = 2000000;
PRESETS_DATA[aPrs.WMV9_02[0]].data.VideoQuality = 85;

PRESETS_DATA[aPrs.WMV9_03[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_02[0]]);
PRESETS_DATA[aPrs.WMV9_03[0]].data.ProfileNum       = 3;
PRESETS_DATA[aPrs.WMV9_03[0]].data.Width            = 1280;
PRESETS_DATA[aPrs.WMV9_03[0]].data.Height           = 720;
PRESETS_DATA[aPrs.WMV9_03[0]].data.VideoBitrate     = 4800000;
PRESETS_DATA[aPrs.WMV9_03[0]].data.VideoQuality     = 85;
PRESETS_DATA[aPrs.WMV9_03[0]].data.AudioBuffer      = 5000;
PRESETS_DATA[aPrs.WMV9_03[0]].data.AudioFormatNum   = 35;
PRESETS_DATA[aPrs.WMV9_03[0]].data.AudioCodecNum    = 0;
PRESETS_DATA[aPrs.WMV9_03[0]].data.VideoCodecNum    = 3;
PRESETS_DATA[aPrs.WMV9_03[0]].data.FrameRate        = "25";

PRESETS_DATA[aPrs.WMV9_04[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_03[0]]);
PRESETS_DATA[aPrs.WMV9_04[0]].data.ProfileNum       = 4;
PRESETS_DATA[aPrs.WMV9_04[0]].data.VideoQuality     = 85;
PRESETS_DATA[aPrs.WMV9_04[0]].data.FrameRate        = "30";

PRESETS_DATA[aPrs.WMV9_05[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_04[0]]);
PRESETS_DATA[aPrs.WMV9_05[0]].data.ProfileNum       = 5;
PRESETS_DATA[aPrs.WMV9_05[0]].data.Width            = 1440;
PRESETS_DATA[aPrs.WMV9_05[0]].data.Height           = 1080;
PRESETS_DATA[aPrs.WMV9_05[0]].data.FrameRate        = "25";
PRESETS_DATA[aPrs.WMV9_05[0]].data.VideoBitrate     = 7300000;
PRESETS_DATA[aPrs.WMV9_05[0]].data.VideoQuality     = 85;
PRESETS_DATA[aPrs.WMV9_05[0]].data.AudioBuffer      = 5000;
PRESETS_DATA[aPrs.WMV9_05[0]].data.VideoBuffer      = 5000;
PRESETS_DATA[aPrs.WMV9_05[0]].data.AudioFormatNum   = 35;
PRESETS_DATA[aPrs.WMV9_05[0]].data.AudioCodecNum    = 0;
PRESETS_DATA[aPrs.WMV9_05[0]].data.VideoCodecNum    = 3;

PRESETS_DATA[aPrs.WMV9_06[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_05[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_06[0]];
tmp.data.ProfileNum         = 6;
tmp.data.Width              = 1440;
tmp.data.Height             = 1080;
tmp.data.FrameRate          = "30";
tmp.data.VideoBitrate       = 7300000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 35;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;


PRESETS_DATA[aPrs.WMV9_07[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_06[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_07[0]];
tmp.data.ProfileNum         = 7;
tmp.data.Width              = 160;
tmp.data.Height             = 120;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 14000;
tmp.data.VideoQuality       = 50;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 49;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_08[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_07[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_08[0]];
tmp.data.ProfileNum         = 8;
tmp.data.Width              = 176;
tmp.data.Height             = 144;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 40000;
tmp.data.VideoQuality       = 75;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 9;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_09[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_08[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_09[0]];
tmp.data.ProfileNum         = 9;
tmp.data.Width              = 176;
tmp.data.Height             = 144;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 78000;
tmp.data.VideoQuality       = 75;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 9;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_10[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_09[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_10[0]];
tmp.data.ProfileNum         = 10;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 391000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 58;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_11[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_10[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_11[0]];
tmp.data.ProfileNum         = 11;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 83000;
tmp.data.VideoQuality       = 75;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 9;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_12[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_11[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_12[0]];
tmp.data.ProfileNum         = 12;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 198976;
tmp.data.VideoQuality       = 80;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 60;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_13[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_12[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_13[0]];
tmp.data.ProfileNum         = 13;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 279000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 76;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_14[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_13[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_14[0]];
tmp.data.ProfileNum         = 14;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 662960;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 68;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;

PRESETS_DATA[aPrs.WMV9_15[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_14[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_15[0]];
tmp.data.ProfileNum         = 15;
tmp.data.Width              = 208;
tmp.data.Height             = 160;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 662960;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = 5000;
tmp.data.VideoBuffer        = 5000;
tmp.data.AudioFormatNum     = 68;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;


PRESETS_DATA[aPrs.WMV9_16[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_15[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_16[0]];
tmp.data.ProfileNum         = 16;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 309000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 70;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_17[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_16[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_17[0]];
tmp.data.ProfileNum         = 17;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 309000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 70;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_18[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_17[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_18[0]];
tmp.data.ProfileNum         = 18;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "30";
tmp.data.VideoBitrate       = 1500000;
tmp.data.VideoQuality       = 75;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 75;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_19[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_18[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_19[0]];
tmp.data.ProfileNum         = 19;
tmp.data.Width              = 640;
tmp.data.Height             = 480;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 500000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;


PRESETS_DATA[aPrs.WMV9_20[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_19[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_20[0]];
tmp.data.ProfileNum         = 20;
tmp.data.Width              = 480;
tmp.data.Height             = 272;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 500000;
tmp.data.VideoQuality       = 75;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_21[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_20[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_21[0]];
tmp.data.ProfileNum         = 21;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "15";
tmp.data.VideoBitrate       = 500000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_22[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_21[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_22[0]];
tmp.data.ProfileNum         = 22;
tmp.data.Width              = 720;
tmp.data.Height             = 576;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 1000000;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 73;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_23[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_22[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_23[0]];
tmp.data.ProfileNum         = 23;
tmp.data.Width              = 720;
tmp.data.Height             = 480;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 1000000;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 73;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_24[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_23[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_24[0]];
tmp.data.ProfileNum         = 24;
tmp.data.Width              = 1280;
tmp.data.Height             = 720;
tmp.data.FrameRate          = "29.97";
tmp.data.VideoBitrate       = 3000000;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 73;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_25[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_24[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_25[0]];
tmp.data.ProfileNum         = 25;
tmp.data.Width              = 1440;
tmp.data.Height             = 1088;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 5000000;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 73;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_26[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_25[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_26[0]];
tmp.data.ProfileNum         = 26;
tmp.data.Width              = 160;
tmp.data.Height             = 128;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 200000;
tmp.data.VideoQuality       = 70;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 70;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_27[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_26[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_27[0]];
tmp.data.ProfileNum         = 27;
tmp.data.Width              = 320;
tmp.data.Height             = 240;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 500000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_28[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_27[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_28[0]];
tmp.data.ProfileNum         = 28;
tmp.data.Width              = 480;
tmp.data.Height             = 272;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 500000;
tmp.data.VideoQuality       = 85;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

PRESETS_DATA[aPrs.WMV9_29[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.WMV9_28[0]]); 
tmp = PRESETS_DATA[aPrs.WMV9_29[0]];
tmp.data.ProfileNum         = 29;
tmp.data.Width              = 800;
tmp.data.Height             = 480;
tmp.data.FrameRate          = "25";
tmp.data.VideoBitrate       = 1000000;
tmp.data.VideoQuality       = 90;
tmp.data.AudioBuffer        = -1;
tmp.data.VideoBuffer        = -1;
tmp.data.AudioFormatNum     = 67;
tmp.data.AudioCodecNum      = 0;
tmp.data.VideoCodecNum      = 3;
tmp.data.WMV.VidBuffer      = -1;

DIALOGS[FMT_WMV[0]].exportPreset = function()
{
    var data = [];//PRESETS_DATA[presetId].data;
    var m_dialog = $("div#IDD_WMVOPTS");
    data.Width = $("#WMV_IDC_WIDTH", m_dialog).val();
    data.Height = $("#WMV_IDC_HEIGHT", m_dialog).val();
    data.HPerc = $("#WMV_IDC_WPERC", m_dialog).val();
    data.WPerc = $("#WMV_IDC_HPERC", m_dialog).val();

    data.FrameRate = $("#WMV_IDC_FRPERSECOND", m_dialog).val();
    data.VideoSAsInput = $("#WMV_IDC_VIDEOSASINPUT", m_dialog).attr('checked' );
    data.LinkSizes = $("#WMV_IDC_LINKSIZES", m_dialog).attr('checked');
    
    
    data.ResizeMethod = $("select#WMV_IDC_RESIZE_METHOD", m_dialog).val();
    data.ResizeQuality = $("select#WMV_IDC_RESIZEQUALITY", m_dialog).val();
    data.Freq = $("select#WMV_IDC_FREQUENCY", m_dialog).val();
    data.Channels = $("select#WMV_IDC_CHANNELS", m_dialog).val();
    data.VideoCodecNum = $("select#WMV_IDC_VIDEOCODEC", m_dialog).val();
    data.AudioCodecNum = $("select#WMV_IDC_AUDIOCODEC", m_dialog).val();
    data.AudioFormatNum = $("select#WMV_IDC_WMAFORMAT", m_dialog).val();
    
    data.VideoQuality = $("input#WMV_IDC_QUALITY", m_dialog).val();
    data.VideoBitrate = $("input#WMV_IDC_BITRATE", m_dialog).val();
    data.VideoBuffer = $("select#WMV_IDC_BUFFER", m_dialog).val();

    var m_opt_dialog = $("div#IDD_OPT_WMV");
    data.WMV = [];
    data.WMV.VBR = $("select#IDC_COMBOVBR_WMV", m_opt_dialog).val();
    data.WMV.VBRMaxBitrate = $("input#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).val();
    data.WMV.VBRQuality = $("input#IDC_VBRQUALITY_WMV", m_opt_dialog).val();
    data.WMV.VidBuffer = $("select#IDC_VIDBUFFER_WMV", m_opt_dialog).val();
    return data;
};

DIALOGS[FMT_WMV[0]].initPreset = function(presetId)
{
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    var m_dialog = $("div#IDD_WMVOPTS");
    $("#WMV_IDC_WIDTH", m_dialog).val(data.Width);
    $("#WMV_IDC_HEIGHT", m_dialog).val(data.Height);
    $("#WMV_IDC_WPERC", m_dialog).val(data.WPerc);
    $("#WMV_IDC_HPERC", m_dialog).val(data.HPerc);

    $("#WMV_IDC_FRPERSECOND", m_dialog).val(data.FrameRate);
    $("#WMV_IDC_VIDEOSASINPUT", m_dialog).attr('checked', data.VideoSAsInput).change();
    $("#WMV_IDC_LINKSIZES", m_dialog).attr('checked', data.LinkSizes).change();
    
    
    $("#WMV_IDC_RESIZE_METHOD", m_dialog).val(data.ResizeMethod);
    $("#WMV_IDC_RESIZEQUALITY", m_dialog).val(data.ResizeQuality);
    $("#WMV_IDC_FREQUENCY", m_dialog).val(data.Freq);
    $("#WMV_IDC_CHANNELS", m_dialog).val(data.Channels);
    $("#WMV_IDC_VIDEOCODEC", m_dialog).val(data.VideoCodecNum);
    $("#WMV_IDC_AUDIOCODEC", m_dialog).val(data.AudioCodecNum).change();
    $("#WMV_IDC_WMAFORMAT", m_dialog).val(data.AudioFormatNum);
    
    $("#WMV_IDC_QUALITY", m_dialog).val(data.VideoQuality);
    $("#WMV_IDC_BITRATE", m_dialog).val(data.VideoBitrate);
    $("#WMV_IDC_BUFFER", m_dialog).val(data.VideoBuffer);

    var m_opt_dialog = $("div#IDD_OPT_WMV");
    $("#IDC_COMBOVBR_WMV", m_opt_dialog).val(data.WMV.VBR).change();
    $("#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).val(data.WMV.VBRMaxBitrate);
    $("#IDC_VBRQUALITY_WMV", m_opt_dialog).val(data.WMV.VBRQuality);
    $("#IDC_VIDBUFFER_WMV", m_opt_dialog).val(data.WMV.VidBuffer);
    $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).val(-1);
    $("#IDC_VBRMAXBUF_WMV", m_opt_dialog).attr('checked', false).change();

};

DIALOGS[FMT_WMV[0]].init = function()
{
    var m_dialog = $("#IDD_WMVOPTS");
    var m_opt_dialog = $("#IDD_OPT_WMV");

    $("input[type=button]", m_dialog).hover(
        function(){ 
            $(this).addClass("ui-state-hover"); 
        },
        function(){ 
            $(this).removeClass("ui-state-hover"); 
        }
    ).mousedown(function(){
        $(this).addClass("ui-state-active"); 
    }).mouseup(function(){
            $(this).removeClass("ui-state-active");
    });

    $("input#WMV_IDC_VIDEOOPTS", m_dialog).click(function () {
        m_opt_dialog.dialog('open');
    });
        
    $("#WMV_IDC_BUFFER").jselect({data: BUFFERS});
    $("#WMV_IDC_VIDEOCODEC").jselect({data: WMV_VIDEO_CODECS});
    $("#WMV_IDC_AUDIOCODEC").jselect({data: WMV_AUDIO_CODECS});
       
    $("#WMV_IDC_AUDIOCODEC", m_dialog).change(function () {
        $("select#WMV_IDC_WMAFORMAT", m_dialog).jselect({data: WMV_FORMATS[$(this).val()]});            
    });

    $("#WMV_IDC_WIDTH", m_dialog).change(function () {
        if($("#WMV_IDC_LINKSIZES", m_dialog).attr('checked'))
        {
            var nh = ($(this).val()/initW) * initH;
            $("#WMV_IDC_HEIGHT", m_dialog).val(parseInt(nh));
        }
        var npw = ($("#WMV_IDC_WIDTH", m_dialog).val()/initW) * 100;
        $("#WMV_IDC_WPERC", m_dialog).val(parseInt(npw));
        var nph = ($("#WMV_IDC_HEIGHT", m_dialog).val()/initH) * 100;
        $("#WMV_IDC_HPERC", m_dialog).val(parseInt(nph));
    });
    $("#WMV_IDC_HEIGHT", m_dialog).change(function () {
        if($("#WMV_IDC_LINKSIZES", m_dialog).attr('checked'))
        {
            var nw = ($(this).val()/initH) * initW;
            $("#WMV_IDC_WIDTH", m_dialog).val(parseInt(nw));
        }
        var npw = ($("#WMV_IDC_WIDTH", m_dialog).val()/initW) * 100;
        $("#WMV_IDC_WPERC", m_dialog).val(parseInt(npw));
        var nph = ($("#WMV_IDC_HEIGHT", m_dialog).val()/initH) * 100;
        $("#WMV_IDC_HPERC", m_dialog).val(parseInt(nph));
    });
    
    $("#WMV_IDC_WPERC", m_dialog).change(function () {
        var nw = (($(this).val()/100)*initW);
        $("#WMV_IDC_WIDTH", m_dialog).val(parseInt(nw));

        if($("#WMV_IDC_LINKSIZES", m_dialog).attr('checked'))
        {
            $("#WMV_IDC_HPERC", m_dialog).val($(this).val());
            var nh = (($(this).val()/100)*initH);
            $("#WMV_IDC_HEIGHT", m_dialog).val(parseInt(nh));
        }
    });

    $("#WMV_IDC_HPERC", m_dialog).change(function () {
        var nh = (($(this).val()/100)*initH);
        $("#WMV_IDC_HEIGHT", m_dialog).val(parseInt(nh));

        if($("#WMV_IDC_LINKSIZES", m_dialog).attr('checked'))
        {
            $("#WMV_IDC_WPERC", m_dialog).val($(this).val());
            var nw = (($(this).val()/100)*initW);
            $("#WMV_IDC_WIDTH", m_dialog).val(parseInt(nw));
        }
    });

    $("#WMV_IDC_VIDEOSASINPUT", m_dialog).change(function () {
        var checked = $("#WMV_IDC_VIDEOSASINPUT", m_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
                        ["WMV_IDC_WIDTH", "WMV_IDC_HEIGHT", "WMV_IDC_WPERC",
                        "WMV_IDC_HPERC", "WMV_IDC_FRPERSECOND", "WMV_IDC_LINKSIZES"], 
                        checked);
    });
    $("select#WMV_IDC_RESIZE_METHOD", m_dialog).jselect({data: [RM_STRETCH, RM_LETTER, RM_CROP]});
    $("select#WMV_IDC_RESIZEQUALITY", m_dialog).jselect({data: [RQ_NORMAL, RQ_BEST]});
    
}


var ABITRATE_LIST = [[32000, "32 Kbit/sec"],[40000, "40 Kbit/sec"],[48000, "48 Kbit/sec"],[56000, "56 Kbit/sec"],[64000, "64 Kbit/sec"],[80000, "80 Kbit/sec"],[96000, "96 Kbit/sec"],[112000, "112 Kbit/sec"],[128000, "128 Kbit/sec"],[160000, "160 Kbit/sec"],[192000, "192 Kbit/sec"],[224000, "224 Kbit/sec"],[256000, "256 Kbit/sec"],[320000, "320 Kbit/sec"]]; 

PRESETS_DATA[aPrs.FLV_100[0]] = { data : {
    VideoSAsInput   : true,
    LinkSizes       : true,
    IsSound         : true,
    
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,
    ResizeQuality   : RQ_BEST,
    FrameRate       : "25",
    VideoQuality    : 30,
    Frequency       : 44100,
    Channels        : 2,
    AudioBitrate    : 128
    }
};

PRESETS_DATA[aPrs.FLV_75[0]] = { data : {
    VideoSAsInput   : true,
    LinkSizes       : true,
    IsSound         : true,
    
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,
    ResizeQuality   : RQ_BEST,
    FrameRate       : "15",
    VideoQuality    : 26,
    Frequency       : 44100,
    Channels        : 1,
    AudioBitrate    : 64
    }
};
PRESETS_DATA[aPrs.FLV_50[0]] = { data : {
    VideoSAsInput   : true,
    LinkSizes       : true,
    IsSound         : true,
    
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,
    ResizeQuality   : RQ_BEST,
    FrameRate       : "15",
    VideoQuality    : 20,
    Frequency       : 22050,
    Channels        : 1,
    AudioBitrate    : 48
    }
};
PRESETS_DATA[aPrs.FLV_25[0]] = { data : {
    VideoSAsInput   : true,
    LinkSizes       : true,
    IsSound         : true,
    
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,
    ResizeQuality   : RQ_BEST,
    FrameRate       : "15",
    VideoQuality    : 15,
    Frequency       : 22050,
    Channels        : 1,
    AudioBitrate    : 32
    }
};
PRESETS_DATA[aPrs.FLV_20[0]] = { data : {
    VideoSAsInput   : true,
    LinkSizes       : true,
    IsSound         : false,
    
    Width           : 320,
    Height          : 240,
    WPerc           : 100,
    HPerc           : 100,
    ResizeMethod    : RM_LETTER,
    ResizeQuality   : RQ_BEST,
    FrameRate       : "10",
    VideoQuality    : 10,
    Frequency       : 22050,
    Channels        : 1,
    AudioBitrate    : 32
    }
};

DIALOGS[FMT_FLV[0]].initPreset = function(presetId)
{
    //var c_dialog = $("div#IDD_FLVOPTS");
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    
    $("#FLV_IDC_WIDTH").val(data.Width);
    $("#FLV_IDC_HEIGHT").val(data.Height);
    $("#FLV_IDC_WPERC").val(data.WPerc);
    $("#FLV_IDC_HPERC").val(data.HPerc);

    $("#FLV_IDC_FRPERSECOND").val(data.FrameRate);
    $("#FLV_IDC_VIDEOSASINPUT").attr('checked', data.VideoSAsInput).change();
    $("#FLV_IDC_LINKSIZES").attr('checked', data.LinkSizes).change();
        
    $("#FLV_IDC_RESIZE_METHOD").val(data.ResizeMethod);
    $("#FLV_IDC_RESIZEQUALITY").val(data.ResizeQuality);
    $("#FLV_IDC_FREQUENCY").val(data.Freq);
    $("#FLV_IDC_CHANNELS").val(data.Channels);
    $("#FLV_IDC_INCSOUND").attr('checked', data.IsSound).change();
    $("#FLV_IDC_VIDEOQUALITY").slider('value', data.VideoQuality);
};


DIALOGS[FMT_FLV[0]].exportPreset = function()
{
    //var c_dialog = $("div#IDD_FLVOPTS");
    var data = [];//PRESETS_DATA[presetId].data;

    data.Width = $("#FLV_IDC_WIDTH").val();
    data.Height = $("#FLV_IDC_HEIGHT").val();
    data.WPerc = $("#FLV_IDC_WPERC").val();
    data.HPerc = $("#FLV_IDC_HPERC").val();

    data.FrameRate = $("#FLV_IDC_FRPERSECOND").val();
    data.VideoSAsInput = $("#FLV_IDC_VIDEOSASINPUT").attr('checked');
    data.LinkSizes = $("#FLV_IDC_LINKSIZES").attr('checked');
        
    data.ResizeMethod = $("#FLV_IDC_RESIZE_METHOD").val();
    data.ResizeQuality = $("#FLV_IDC_RESIZEQUALITY").val();
    data.Freq = $("#FLV_IDC_FREQUENCY").val();
    data.Channels = $("#FLV_IDC_CHANNELS").val();
    data.IsSound = $("#FLV_IDC_INCSOUND").attr('checked');
    data.VideoQuality = $("#FLV_IDC_VIDEOQUALITY").slider('value');
    return data;
};


DIALOGS[FMT_FLV[0]].init = function()
{
    var c_dialog = $("div#IDD_FLVOPTS");
    $("#FLV_IDC_VIDEOQUALITY", c_dialog).slider({
        min: 1,
        max: 30,
        step: 1
    });
    $("#FLV_IDC_INCSOUND", c_dialog).change(function () {
        var checked = !$("#FLV_IDC_INCSOUND", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
                        ["FLV_IDC_FREQUENCY", "FLV_IDC_CHANNELS", "FLV_IDC_AUDIOBITRATE"], 
                        checked);
    });
    
    $("#FLV_IDC_HEIGHT", c_dialog).change(function () {
        if($("#FLV_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            var nw = ($(this).val()/initH) * initW;
            $("#FLV_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
        var npw = ($("#FLV_IDC_WIDTH", c_dialog).val()/initW) * 100;
        $("#FLV_IDC_WPERC", c_dialog).val(parseInt(npw));
        var nph = ($("#FLV_IDC_HEIGHT", c_dialog).val()/initH) * 100;
        $("#FLV_IDC_HPERC", c_dialog).val(parseInt(nph));
    });

    
    $("#FLV_IDC_WPERC", c_dialog).change(function () {
        var nw = (($(this).val()/100)*initW);
        $("div#IDD_MP4OPTS input#FLV_IDC_WIDTH").val(parseInt(nw));

        if($("#FLV_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#FLV_IDC_HPERC", c_dialog).val($(this).val());
            var nh = (($(this).val()/100)*initH);
            $("#FLV_IDC_HEIGHT", c_dialog).val(parseInt(nh));
        }
    });

    $("#FLV_IDC_HPERC", c_dialog).change(function () {
        var nh = (($(this).val()/100)*initH);
        $("#FLV_IDC_HEIGHT", c_dialog).val(parseInt(nh));

        if($("#FLV_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#FLV_IDC_WPERC", c_dialog).val($(this).val());
            var nw = (($(this).val()/100)*initW);
            $("#FLV_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
    });

    $("#FLV_IDC_VIDEOSASINPUT", c_dialog).change(function () {
        var checked = $("#FLV_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
                        ["FLV_IDC_WIDTH", "FLV_IDC_HEIGHT", "FLV_IDC_WPERC",
                        "FLV_IDC_HPERC", "FLV_IDC_FRPERSECOND", "FLV_IDC_LINKSIZES"], 
                        checked);       
    });

    $("select#FLV_IDC_RESIZE_METHOD", c_dialog).jselect({
        data: [RM_STRETCH, RM_LETTER, RM_CROP]
    });
    $("select#FLV_IDC_RESIZEQUALITY", c_dialog).jselect({
        data: [RQ_NORMAL, RQ_BEST]
    });

    $("select#FLV_IDC_FREQUENCY", c_dialog).jselect({
        data: [aFreqs.FQ_11_KHZ,aFreqs.FQ_22_KHZ,aFreqs.FQ_44_KHZ]
    });
    
    $("select#FLV_IDC_AUDIOBITRATE", c_dialog).jselect({data: ABITRATE_LIST});
    
    $("select#FLV_IDC_CHANNELS", c_dialog).jselect({
        data: [MONO, STEREO]
    });
    
};

var MPEG2_ABITRATE_LIST = [32,48,56,64,80,96,112,160,192,224,256,320,384];
var MPEG2_RATIO_LIST = [[0, "Square"], [1, "4:3"], [2, "16:9"], [3, "2.21:1"]];
var MPEG2_VBR_LIST = [[0, "None"], [1, "Ultra"], [2, "Very High"], [3, "High"], [4, "Normal"]];
var MPEG2_FRAMERATE_LIST = ["23.976", "24", "25", "29.97", "30"];
var MPEG2_WIDTH_LIST = [160, 176, 320, 352, 480, 640, 704, 720, 800, 1280, 1440, 1920];
var MPEG2_HEIGHT_LIST = [128, 144, 240, 256, 288, 480, 576, 704, 720, 800, 1024, 1088];
var MPEG1 = [0, "MPEG1"];
var MPEG2 = [2, "MPEG2"];
//aPrs.MPEG2_DVD_PAL, aPrs.MPEG2_DVD_NTSC, aPrs.MPEG2_SameAsInput, aPrs.MPEG2_VCD_NTSC, aPrs.MPEG2_VCD_PAL, aPrs.MPEG2_SVCD_NTSC, aPrs.MPEG2_SVCD_PAL, aPrs.MPEG2_HD1, aPrs.MPEG2_HD2
PRESETS_DATA[aPrs.MPEG2_SameAsInput[0]] = { data : {
    Type : MPEG2[0],//
    VideoBitrate : 4025,//
    VBRQuality : 0,//
    VideoSAsInput : true,//
    Width : 720,//
    Height : 576,//
    ResizeMethod : RM_LETTER,//
    ResizeQuality : RQ_BEST,//
    FrameRate : "25",//
    AspectRatio : 0,//
    IsSound : true,//
    AudioBitrate : 224,
    Frequency : 44100,//
    Channels : 2,//
    JointStereo : false
    }
};
PRESETS_DATA[aPrs.MPEG2_VCD_NTSC[0]] = { data : {
    Type : MPEG1[0],//
    VideoBitrate : 1150,//
    VBRQuality : 0,//
    VideoSAsInput : false,//
    Width : 352,//
    Height : 240,//
    ResizeMethod : RM_LETTER,//
    ResizeQuality : RQ_BEST,//
    FrameRate : "29.97",//
    AspectRatio : 0,//
    IsSound : true,//
    AudioBitrate : 224,
    Frequency : 44100,//
    Channels : 2,//
    JointStereo : false
    }
};
PRESETS_DATA[aPrs.MPEG2_VCD_PAL[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG2_VCD_NTSC[0]]);
PRESETS_DATA[aPrs.MPEG2_VCD_NTSC[0]].data.FrameRate = "25";

PRESETS_DATA[aPrs.MPEG2_SVCD_NTSC[0]] = { data : {
    Type : MPEG2[0],//
    VideoBitrate : 2415,//
    VBRQuality : 0,//
    VideoSAsInput : false,//
    Width : 480,//
    Height :480,//
    ResizeMethod : RM_LETTER,//
    ResizeQuality : RQ_BEST,//
    FrameRate : "29.97",//
    AspectRatio : 3,//
    IsSound : true,//
    AudioBitrate : 224,
    Frequency : 44100,//
    Channels : 2,//
    JointStereo : false
    }
};

PRESETS_DATA[aPrs.MPEG2_SVCD_PAL[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG2_SVCD_NTSC[0]]);
PRESETS_DATA[aPrs.MPEG2_SVCD_PAL[0]].data.FrameRate = "25";
PRESETS_DATA[aPrs.MPEG2_SVCD_PAL[0]].data.AspectRatio = 2;
PRESETS_DATA[aPrs.MPEG2_SVCD_PAL[0]].data.Height = 576;

PRESETS_DATA[aPrs.MPEG2_DVD_NTSC[0]] = { data : {
    Type : MPEG2[0],//
    VideoBitrate : 4025,//
    VBRQuality : 0,//
    VideoSAsInput : false,//
    Width : 720,//
    Height :480,//
    ResizeMethod : RM_LETTER,//
    ResizeQuality : RQ_BEST,//
    FrameRate : "29.97",//
    AspectRatio : 3,//
    IsSound : true,//
    AudioBitrate : 224,
    Frequency : 48000,//
    Channels : 2,//
    JointStereo : false
    }
};
PRESETS_DATA[aPrs.MPEG2_DVD_PAL[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG2_DVD_NTSC[0]]);
PRESETS_DATA[aPrs.MPEG2_DVD_PAL[0]].data.FrameRate = "25";
PRESETS_DATA[aPrs.MPEG2_DVD_PAL[0]].data.AspectRatio = 2;
PRESETS_DATA[aPrs.MPEG2_DVD_PAL[0]].data.Height = 576;

PRESETS_DATA[aPrs.MPEG2_HD1[0]] = { data : {
    Type : MPEG2[0],//
    VideoBitrate : 16100,//
    VBRQuality : 0,//
    VideoSAsInput : false,//
    Width : 1440,//
    Height :1088,//
    ResizeMethod : RM_LETTER,//
    ResizeQuality : RQ_BEST,//
    FrameRate : "25",//
    AspectRatio : 3,//
    IsSound : true,//
    AudioBitrate : 384,
    Frequency : 48000,//
    Channels : 2,//
    JointStereo : false
    }
};

PRESETS_DATA[aPrs.MPEG2_HD2[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.MPEG2_HD1[0]]);
PRESETS_DATA[aPrs.MPEG2_HD2[0]].data.Width = 1280;
PRESETS_DATA[aPrs.MPEG2_HD2[0]].data.Height = 720;
PRESETS_DATA[aPrs.MPEG2_HD2[0]].data.VideoBitrate = 13110;

DIALOGS[FMT_MPEG12[0]].initPreset = function(presetId)
{
    var data = PRESETS_DATA[presetId].data;
    var c_dialog = $("#IDD_MPEGOPTS");
    $("#MPEG2_IDC_WIDTH", c_dialog).val(data.Width);
    $("#MPEG2_IDC_HEIGHT", c_dialog).val(data.Height);
    $("#MPEG2_IDC_RATIO", c_dialog).val(data.AspectRatio);
    $("#MPEG2_IDC_FRPERSECOND", c_dialog).val(data.FrameRate);
    $("#MPEG2_IDC_RESIZE_METHOD", c_dialog).val(data.ResizeMethod);
    $("#MPEG2_IDC_RESIZEQUALITY", c_dialog).val(data.ResizeQuality);
    $("#MPEG2_IDC_FREQUENCY", c_dialog).val(data.Freq);
    $("#MPEG2_IDC_CHANNELS", c_dialog).val(data.Channels);
    $("#MPEG2_IDC_VIDEOBITRATE", c_dialog).val(data.VideoBitrate);
    $("#MPEG2_IDC_VIDEOVARB", c_dialog).val(data.VBRQuality);
    $("#MPEG2_IDC_AUDIOBITRATE", c_dialog).val(data.AudioBitrate);
    
    $("#MPEG2_IDC_VIDEOSASINPUT", c_dialog).attr('checked', data.VideoSAsInput).change();
    $("#MPEG2_IDC_INCSOUND", c_dialog).attr('checked', data.IsSound).change();
    $("#MPEG2_IDC_MPEGVER", c_dialog).val(data.Type).change();

};

DIALOGS[FMT_MPEG12[0]].exportPreset = function()
{
    var data = [];//PRESETS_DATA[presetId].data;
    var c_dialog = $("#IDD_MPEGOPTS");
    data.Width = $("#MPEG2_IDC_WIDTH", c_dialog).val();
    data.Height = $("#MPEG2_IDC_HEIGHT", c_dialog).val();
    data.AspectRatio = $("#MPEG2_IDC_RATIO", c_dialog).val();
    data.FrameRate = $("#MPEG2_IDC_FRPERSECOND", c_dialog).val();
    data.ResizeMethod = $("#MPEG2_IDC_RESIZE_METHOD", c_dialog).val();
    data.ResizeQuality = $("#MPEG2_IDC_RESIZEQUALITY", c_dialog).val();
    data.Freq = $("#MPEG2_IDC_FREQUENCY", c_dialog).val();
    data.Channels = $("#MPEG2_IDC_CHANNELS", c_dialog).val();
    data.VideoBitrate = $("#MPEG2_IDC_VIDEOBITRATE", c_dialog).val();
    data.VBRQuality = $("#MPEG2_IDC_VIDEOVARB", c_dialog).val();
    data.AudioBitrate = $("#MPEG2_IDC_AUDIOBITRATE", c_dialog).val();
    
    data.VideoSAsInput = $("#MPEG2_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
    data.IsSound = $("#MPEG2_IDC_INCSOUND", c_dialog).attr('checked');
    data.Type = $("#MPEG2_IDC_MPEGVER", c_dialog).val();
    return data;

};

DIALOGS[FMT_MPEG12[0]].init = function()
{
    var c_dialog = $("#IDD_MPEGOPTS");
    $("select#MPEG2_IDC_MPEGVER", c_dialog).change( function() {
        var checked = $("#MPEG2_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
        if(!checked)
        {
            if(MPEG1[0] == $(this).val())
                $("#MPEG2_IDC_RATIO", c_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
            if(MPEG2[0] == $(this).val())
                $("#MPEG2_IDC_RATIO", c_dialog).attr('disabled', false).toggleClass( 'ui-state-disabled', false);
        }
        
    });

    $("#MPEG2_IDC_VIDEOSASINPUT", c_dialog).change(function () {
        var checked = $("#MPEG2_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
            ["IDC_WIDTH","IDC_HEIGHT", "IDC_FRPERSECOND", "IDC_RATIO"], 
            checked);       
        $("select#MPEG2_IDC_MPEGVER", c_dialog).change();
    });
    
    $("#MPEG2_IDC_INCSOUND", c_dialog).change(function () {
        var checked = !$("#MPEG2_IDC_INCSOUND", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
            ["IDC_FREQUENCY","IDC_CHANNELS", "IDC_AUDIOBITRATE"], 
            checked);
    });
    
    $("select#MPEG2_IDC_RESIZE_METHOD", c_dialog).jselect({data: [RM_STRETCH, RM_LETTER, RM_CROP]});
    $("select#MPEG2_IDC_RESIZEQUALITY", c_dialog).jselect({data: [RQ_NORMAL, RQ_BEST]});
    $("select#MPEG2_IDC_FREQUENCY", c_dialog).jselect({data: [aFreqs.FQ_48_KHZ,aFreqs.FQ_44_KHZ,aFreqs.FQ_32_KHZ]});
    $("select#MPEG2_IDC_CHANNELS", c_dialog).jselect({data: [MONO, STEREO]});
    $("select#MPEG2_IDC_WIDTH", c_dialog).jselect({data: MPEG2_WIDTH_LIST});
    $("select#MPEG2_IDC_HEIGHT", c_dialog).jselect({data: MPEG2_HEIGHT_LIST});
    $("select#MPEG2_IDC_FRPERSECOND", c_dialog).jselect({data: MPEG2_FRAMERATE_LIST});
    $("select#MPEG2_IDC_RATIO", c_dialog).jselect({data: MPEG2_RATIO_LIST});
    $("select#MPEG2_IDC_MPEGVER", c_dialog).jselect({data: [MPEG1, MPEG2]});
    
    var VBITRATE_LIST = [];
    var j = 0;
    for(i=115; i<=23000; i+=115)
        VBITRATE_LIST[j++] = ""+i;
    $("select#MPEG2_IDC_VIDEOBITRATE", c_dialog).jselect({data: VBITRATE_LIST});

    $("select#MPEG2_IDC_VIDEOVARB", c_dialog).jselect({data: MPEG2_VBR_LIST});
    $("select#MPEG2_IDC_AUDIOBITRATE", c_dialog).jselect({data: MPEG2_ABITRATE_LIST});
}

var C_XVID = [879783277, "XviD MPEG-4 Codec"];

var C_MP3 = [-1, "MP3"];
var C_PCM = [-2, "PCM"];
var C_NONE = [0, "None"];

var AVI_VIDEO_CODECS = [C_XVID];
var AVI_AUDIO_CODECS = [C_NONE, C_MP3, C_PCM];

PRESETS_DATA[aPrs.AVI_XviD[0]] = function(){};
PRESETS_DATA[aPrs.AVI_XviD[0]].data = {
    VideoCodec      :879783277,
    Width           :320,
    Height          :240,
    WPerc           :100,
    HPerc           :100,
    FrameRate       :"25",
    LinkSizes       :true,
    ResizeMethod    :RM_LETTER,
    ResizeQuality   :RQ_BEST,
    VideoSAsInput   :false,
    AudioCodec      :-1,
    Freq            :aFreqs.FQ_44_KHZ,
    Channels        :2
};
PRESETS_DATA[aPrs.AVI_XviD_YouTube[0]] = jQuery.extend(true, {}, PRESETS_DATA[aPrs.AVI_XviD[0]]);
PRESETS_DATA[aPrs.AVI_XviD_YouTube[0]].data.VideoSAsInput = true;

DIALOGS[FMT_AVI[0]].init = function()
{
    var c_dialog = $("#IDD_AVIOPTS");
    $("select#AVI_IDC_VIDEOCODEC", c_dialog).jselect({data: AVI_VIDEO_CODECS});
    $("select#AVI_IDC_AUDIOCODEC", c_dialog).jselect({data: AVI_AUDIO_CODECS});
    
    $("#AVI_IDC_WIDTH", c_dialog).change(function () {
        if($("#AVI_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            var nh = ($(this).val()/initW) * initH;
            $("#AVI_IDC_HEIGHT", c_dialog).val(parseInt(nh));
        }
        var npw = ($("#AVI_IDC_WIDTH", c_dialog).val()/initW) * 100;
        $("#AVI_IDC_WPERC", c_dialog).val(parseInt(npw));
        var nph = ($("#AVI_IDC_HEIGHT", c_dialog).val()/initH) * 100;
        $("#AVI_IDC_HPERC", c_dialog).val(parseInt(nph));
    });
    $("#AVI_IDC_HEIGHT", c_dialog).change(function () {
        if($("#AVI_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            var nw = ($(this).val()/initH) * initW;
            $("#AVI_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
        var npw = ($("#AVI_IDC_WIDTH", c_dialog).val()/initW) * 100;
        $("#AVI_IDC_WPERC", c_dialog).val(parseInt(npw));
        var nph = ($("#AVI_IDC_HEIGHT", c_dialog).val()/initH) * 100;
        $("#AVI_IDC_HPERC", c_dialog).val(parseInt(nph));
    });
    
    $("#AVI_IDC_WPERC", c_dialog).change(function () {
        var nw = (($(this).val()/100)*initW);
        $("#AVI_IDC_WIDTH", c_dialog).val(parseInt(nw));

        if($("#AVI_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#AVI_IDC_HPERC", c_dialog).val($(this).val());
            var nh = (($(this).val()/100)*initH);
            $("#AVI_IDC_HEIGHT", c_dialog).val(parseInt(nh));
        }
    });

    $("#AVI_IDC_HPERC", c_dialog).change(function () {
        var nh = (($(this).val()/100)*initH);
        $("#AVI_IDC_HEIGHT", c_dialog).val(parseInt(nh));

        if($("#AVI_IDC_LINKSIZES", c_dialog).attr('checked'))
        {
            $("#AVI_IDC_WPERC", c_dialog).val($(this).val());
            var nw = (($(this).val()/100)*initW);
            $("#AVI_IDC_WIDTH", c_dialog).val(parseInt(nw));
        }
    });

    $("#AVI_IDC_VIDEOSASINPUT", c_dialog).change(function () {
        var checked = $("#AVI_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
        toggleDisabled($("div#preset_dialog"), 
                        ["AVI_IDC_WIDTH", "AVI_IDC_HEIGHT", "AVI_IDC_WPERC",
                        "AVI_IDC_HPERC", "AVI_IDC_FRPERSECOND", "AVI_IDC_LINKSIZES"], 
                        checked);       
    });
    $("select#AVI_IDC_RESIZE_METHOD", c_dialog).jselect({data: [RM_STRETCH, RM_LETTER, RM_CROP]});
    $("select#AVI_IDC_RESIZEQUALITY", c_dialog).jselect({data: [RQ_NORMAL, RQ_BEST]});
    $("select#AVI_IDC_CHANNELS", c_dialog).jselect({data: [MONO, STEREO]});
    $("select#AVI_IDC_AUDIOCODEC", c_dialog).change(function () {
        var checked = ($(this).val() == C_NONE[0]);
        toggleDisabled($("div#preset_dialog"), ["IDC_AUDIOOPTS","IDC_FREQUENCY", "IDC_CHANNELS"], checked);     
    });
    $("select#AVI_IDC_FREQUENCY", c_dialog).jselect({
        data: [aFreqs.FQ_48_KHZ,aFreqs.FQ_44_KHZ,aFreqs.FQ_32_KHZ,aFreqs.FQ_24_KHZ,aFreqs.FQ_22_KHZ,aFreqs.FQ_16_KHZ,aFreqs.FQ_12_KHZ,aFreqs.FQ_11_KHZ,aFreqs.FQ_8_KHZ]
    }); 
}
DIALOGS[FMT_AVI[0]].exportPreset = function()
{
    var c_dialog = $("#IDD_AVIOPTS");
    var data = [];//PRESETS_DATA[presetId].data;

    data.Width  = $("#AVI_IDC_WIDTH", c_dialog).val();
    data.Height = $("#AVI_IDC_HEIGHT", c_dialog).val();
    data.WPerc  = $("#AVI_IDC_WPERC", c_dialog).val();
    data.HPerc  = $("#AVI_IDC_HPERC", c_dialog).val();

    data.FrameRate = $("#AVI_IDC_FRPERSECOND", c_dialog).val();
    data.VideoSAsInput = $("#AVI_IDC_VIDEOSASINPUT", c_dialog).attr('checked');
    data.LinkSizes = $("#AVI_IDC_LINKSIZES", c_dialog).attr('checked');
    
    
    data.ResizeMethod = $("select#AVI_IDC_RESIZE_METHOD", c_dialog).val();
    data.ResizeQuality = $("select#AVI_IDC_RESIZEQUALITY", c_dialog).val();
    data.Freq = $("select#AVI_IDC_FREQUENCY", c_dialog).val();
    data.Channels = $("select#AVI_IDC_CHANNELS", c_dialog).val();
    data.VideoCodec = $("select#AVI_IDC_VIDEOCODEC", c_dialog).val();
    data.AudioCodec = $("select#AVI_IDC_AUDIOCODEC", c_dialog).val();
    return data;
}

DIALOGS[FMT_AVI[0]].initPreset = function(presetId)
{
    var c_dialog = $("#IDD_AVIOPTS");
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    $("#AVI_IDC_WIDTH", c_dialog).val(data.Width);
    $("#AVI_IDC_HEIGHT", c_dialog).val(data.Height);
    $("#AVI_IDC_WPERC", c_dialog).val(data.WPerc);
    $("#AVI_IDC_HPERC", c_dialog).val(data.HPerc);

    $("#AVI_IDC_FRPERSECOND", c_dialog).val(data.FrameRate);
    $("#AVI_IDC_VIDEOSASINPUT", c_dialog).attr('checked', data.VideoSAsInput).change();
    $("#AVI_IDC_LINKSIZES", c_dialog).attr('checked', data.LinkSizes).change();
    
    
    $("select#AVI_IDC_RESIZE_METHOD", c_dialog).val(data.ResizeMethod);
    $("select#AVI_IDC_RESIZEQUALITY", c_dialog).val(data.ResizeQuality);
    $("select#AVI_IDC_FREQUENCY", c_dialog).val(data.Freq);
    $("select#AVI_IDC_CHANNELS", c_dialog).val(data.Channels);
    $("select#AVI_IDC_VIDEOCODEC", c_dialog).val(data.VideoCodec);
    $("select#AVI_IDC_AUDIOCODEC", c_dialog).val(data.AudioCodec);
};
var C_MPEG4 = ['mp4v', "MPEG4 Video"];
var C_H263 = ['s263', "H.263"];
var C_H264 = ['avc1', "H.264"];
var C_AAC = ['mp4a', "AAC"];
var C_AMR = ['samr', "AMR"];
var C_NONE = [0, "None"];

var PROFILES_mp4v = [[8, "Simple"], [148, "Advanced Realtime Simple"], [244, "Advanced Simple"]];
var QUALITY_mp4v = [[0, "Lowest"], [1, "Low"], [2, "Medium Low"], [3, "Medium"], [4, "Medium High"], [5, "High"], [6, "Highest"]];

var QUALITY_s263 = [[1, "Lowest"], [5, "Low"], [10, "Medium Low"], [15, "Medium"], [20, "Medium High"], [25, "High"], [30, "Highest"]];
var RANGE_s263 = [[1, "Very Small"], [3, "Small"], [7, "Medium"], [10, "Wide"], [15, "Very Wide"]];

var PROFILES_avc1 = [[1, "Baseline"], [2, "Main"], [4, "High"]];
var QUALITY_avc1 = [[0, "Default"], [1, "Low"], [2, "Medium"], [3, "High"], [4, "Highest"]];

var PROFILES_mp4a = [[1, "Main"], [2, "LC"], [5, "LTP"]];
var BITRATES_mp4a = [8, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320];
var QUALITY_mp4a     = [[100, "Medium"], [250, "High"], [500, "Highest"]];

var BITRATES_samr = [4750, 5150, 5900, 6700, 7400, 7950, 10200, 12200];

var GP2_FRAMERATES = ["8", "10", "12", "15", "23.976", "24", "25", "29.97", "30"];

var GP2_VIDEO_CODECS = [C_MPEG4, C_H263, C_H264];
var GP2_AUDIO_CODECS = [C_NONE, C_AAC, C_AMR];

var S_SUBQCIF = [8388704, "128x96 SubQCIF"];
var S_QCIF    = [11534480, "176x144 QCIF"];
var S_XVGA    = [15728960, "320x240 XVGA"];
var S_SAME    = [0, "Same as input"];
var GP2_IMAGE_SIZES = [S_SUBQCIF, S_QCIF, S_XVGA, S_SAME];
var GP2_IMAGE_SIZES2    = [S_SUBQCIF, S_QCIF, S_SAME];
//96|(80<<16)  - 5242976
//128|(96<<16) - 8388704
//176|(144<<16)- 11534480
//320 240      - 15728960
PRESETS_DATA[aPrs.TGPP2_OQ[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { H263 : {
        Bitrate : 128000, 
        VBR     : false,
        MotionSrchRng : 15,
        Quality : 30
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }},
    b3GPP2Mode      : true
    }
};

PRESETS_DATA[aPrs.TGPP2_HQ[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { MPG4 : {
        Bitrate     : 192000, 
        Profile     : 8,
        Quality     : 6
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Bitrate     : 96000, 
        Profile     : 2,
        Quality     : 100
    }},
    b3GPP2Mode      : true
    }
};

PRESETS_DATA[aPrs.TGPP2_SQ[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "12",
    VParams         : { MPG4 : {
        Bitrate     : 72000, 
        Profile     : 8,
        Quality     : 5
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }},
    b3GPP2Mode      : true
    }
};

PRESETS_DATA[aPrs.TGPP2_BQ[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { H263 : {
        Bitrate : 64000, 
        VBR     : false,
        MotionSrchRng : 7,
        Quality : 15
    }},
    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 10200
    }},
    b3GPP2Mode      : true
    }
};

PRESETS_DATA[aPrs.TGPP2_SSA[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { MPG4 : {
        Bitrate     : 32000, 
        Profile     : 8,
        Quality     : 1
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 6700
    }},
    b3GPP2Mode      : true
    }
};

PRESETS_DATA[aPrs.TGPP2_SSwA[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { MPG4 : {
        Bitrate     : 32000, 
        Profile     : 8,
        Quality     : 1
    }},

    AudioCodec      : C_NONE[0],
    Frequency       : 8000,
    Channels        : 1
    }
};

PRESETS_DATA[aPrs.TGPP2_Cellphone[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { H263 : {
        Bitrate : 128000, 
        VBR     : false,
        MotionSrchRng : 15,
        Quality : 30
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }},
    b3GPP2Mode      : true
    }
};

DIALOGS[FMT_3GPP2[0]].exportPreset = function()
{
    var data = [];//PRESETS_DATA[presetId].data;

    var c_dialog = $("#IDD_3GP2OPTS");
    data.VideoCodec = $("#GP2_IDC_VIDEOCODEC", c_dialog).val();
    data.AudioCodec = $("#GP2_IDC_AUDIOCODEC", c_dialog).val();

    data.Size = $("#GP2_IDC_IMAGESIZE", c_dialog).val();


    data.FrameRate =    $("#GP2_IDC_FRAMERATE", c_dialog).val();
    //$("#GP_IDC_PSPMODE", c_dialog).attr('checked', data.PSPMode).change();
        
    data.ResizeMethod = $("select#GP2_IDC_RESIZE_METHOD", c_dialog).val();
    data.ResizeQuality = $("select#GP2_IDC_RESIZEQUALITY", c_dialog).val();
    data.Freq = $("select#GP2_IDC_FREQUENCY", c_dialog).val();
    data.Channels = $("select#GP2_IDC_CHANNELS", c_dialog).val();
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            data.VParams = {MPG4:{
                Profile : $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val(),
                Quality : $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val()
                }};
            break;
        case C_H263[0]: 
            data.VParams = {H263 : {        
                MotionSrchRng   : $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(),
                Bitrate         : 1000*$("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(),
                Quality         : $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(),
                VBR             : $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked')
            }};

            break;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
            //BYTE btMotionSrchRng;
        case C_H264[0]: 
            data.VParams = {H264 : {        
                Profile : $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(),
                Bitrate : 1000*$("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(),
                Quality : $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(),
                VBR     : $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked')
                }};
            break;
            //BYTE btProfile;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
    }
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
            data.AParams = {AAC : {     
                Profile : $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(),
                Quality : $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val()
            }};
            break;
        case C_AMR[0]: 
            data.AParams = {AMR : {Bitrate : $("div#IDD_OPT_samr #IDC_BITRATE_samr").val()}};
            break;
            //DWORD dwBitrate;
    }
    
    return data;
};


DIALOGS[FMT_3GPP2[0]].initPreset = function(presetId)
{
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    var c_dialog = $("#IDD_3GP2OPTS");
    $("#GP2_IDC_VIDEOCODEC", c_dialog).val(data.VideoCodec);
    $("#GP2_IDC_AUDIOCODEC", c_dialog).val(data.AudioCodec);

    $("#GP2_IDC_IMAGESIZE", c_dialog).val(data.Size);


    $("#GP2_IDC_FRAMERATE", c_dialog).val(data.FrameRate);
    //$("#GP_IDC_PSPMODE", c_dialog).attr('checked', data.PSPMode).change();
        
    $("select#GP2_IDC_RESIZE_METHOD", c_dialog).val(data.ResizeMethod);
    $("select#GP2_IDC_RESIZEQUALITY", c_dialog).val(data.ResizeQuality);
    $("select#GP2_IDC_FREQUENCY", c_dialog).val(data.Freq);
    $("select#GP2_IDC_CHANNELS", c_dialog).val(data.Channels);
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            data.VParams = {MPG4:{
                Profile : $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val(),
                Quality : $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val()
                }};
            break;
        case C_H263[0]: 
            data.VParams = {H263 : {        
                MotionSrchRng   : $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(),
                Bitrate         : 1000*$("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(),
                Quality         : $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(),
                VBR             : $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked')
            }};

            break;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
            //BYTE btMotionSrchRng;
        case C_H264[0]: 
            data.VParams = {H264 : {        
                Profile : $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(),
                Bitrate : 1000*$("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(),
                Quality : $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(),
                VBR     : $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked')
                }};
            break;
            //BYTE btProfile;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
    }
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
            data.AParams = {AAC : {     
                Profile : $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(),
                Quality : $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val()
            }};
            break;
        case C_AMR[0]: 
            data.AParams = {AMR : {Bitrate : $("div#IDD_OPT_samr #IDC_BITRATE_samr").val()}};
            break;
            //DWORD dwBitrate;
    }
    
    
};


DIALOGS[FMT_3GPP2[0]].init = function()
{
    var c_dialog = $("#IDD_3GP2OPTS");
    
    $("select#GP2_IDC_VIDEOCODEC", c_dialog).change(function () {
        var val = $("select#GP_IDC_IMAGESIZE", c_dialog).val();
        if($(this).val() == C_H264[0])
            $("select#GP2_IDC_IMAGESIZE", c_dialog).jselect({   data: GP2_IMAGE_SIZES   });
        else $("select#GP2_IDC_IMAGESIZE", c_dialog).jselect({  data: GP2_IMAGE_SIZES2  });
        $("select#GP2_IDC_IMAGESIZE", c_dialog).val(val);
    });
    
    $("select#GP2_IDC_AUDIOCODEC", c_dialog).change(function () {
        var checked = ($(this).val() == C_NONE[0]);
        var checked2 = checked || ($(this).val() == C_AMR[0]);
        toggleDisabled($("div#preset_dialog"), 
                ["GP2_IDC_AUDIOOPTS"], 
                checked);   
        toggleDisabled($("div#preset_dialog"), 
                ["GP2_IDC_FREQUENCY", "GP2_IDC_CHANNELS"], 
                checked2);  
    });
        
    $("input[type=button]", c_dialog).hover(
            function(){ 
                $(this).addClass("ui-state-hover"); 
            },
            function(){ 
                $(this).removeClass("ui-state-hover"); 
            }
        ).mousedown(function(){
            $(this).addClass("ui-state-active"); 
        }).mouseup(function(){
                $(this).removeClass("ui-state-active");
        });

    $("input#GP2_IDC_VIDEOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#GP2_IDC_VIDEOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );
    $("input#GP2_IDC_AUDIOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#GP2_IDC_AUDIOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );
    
    $("select#GP2_IDC_RESIZE_METHOD", c_dialog).jselect({
        data: [RM_STRETCH, RM_LETTER, RM_CROP]
    });
    $("select#GP2_IDC_RESIZEQUALITY", c_dialog).jselect({
        data: [RQ_NORMAL, RQ_BEST]
    });

    $("select#GP2_IDC_FREQUENCY", c_dialog).jselect({
        data: [aFreqs.FQ_48_KHZ,aFreqs.FQ_44_KHZ,aFreqs.FQ_32_KHZ,
            aFreqs.FQ_24_KHZ,aFreqs.FQ_22_KHZ,aFreqs.FQ_16_KHZ,
            aFreqs.FQ_12_KHZ,aFreqs.FQ_11_KHZ,aFreqs.FQ_8_KHZ]
    });
    
    $("select#GP2_IDC_CHANNELS", c_dialog).jselect({
        data: [MONO, STEREO]
    });
    
    $("select#GP2_IDC_VIDEOCODEC", c_dialog).jselect({data: GP2_VIDEO_CODECS});
    $("select#GP2_IDC_AUDIOCODEC", c_dialog).jselect({data: GP2_AUDIO_CODECS});
    $("select#GP2_IDC_IMAGESIZE", c_dialog).jselect({data: GP2_IMAGE_SIZES});
    $("select#GP2_IDC_FRAMERATE", c_dialog).jselect({data: GP2_FRAMERATES});
};
var C_MPEG4 = ['mp4v', "MPEG4 Video"];
var C_H263 = ['s263', "H.263"];
var C_H264 = ['avc1', "H.264"];
var C_AAC = ['mp4a', "AAC"];
var C_AMR = ['samr', "AMR"];
var C_NONE = [0, "None"];

var PROFILES_mp4v = [[8, "Simple"], [148, "Advanced Realtime Simple"], [244, "Advanced Simple"]];
var QUALITY_mp4v = [[0, "Lowest"], [1, "Low"], [2, "Medium Low"], [3, "Medium"], [4, "Medium High"], [5, "High"], [6, "Highest"]];

var QUALITY_s263 = [[1, "Lowest"], [5, "Low"], [10, "Medium Low"], [15, "Medium"], [20, "Medium High"], [25, "High"], [30, "Highest"]];
var RANGE_s263 = [[1, "Very Small"], [3, "Small"], [7, "Medium"], [10, "Wide"], [15, "Very Wide"]];

var PROFILES_avc1 = [[1, "Baseline"], [2, "Main"], [4, "High"]];
var QUALITY_avc1 = [[0, "Default"], [1, "Low"], [2, "Medium"], [3, "High"], [4, "Highest"]];

var PROFILES_mp4a = [[1, "Main"], [2, "LC"], [5, "LTP"]];
var BITRATES_mp4a = [8, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320];
var QUALITY_mp4a     = [[100, "Medium"], [250, "High"], [500, "Highest"]];

var BITRATES_samr = [4750, 5150, 5900, 6700, 7400, 7950, 10200, 12200];

var GP_FRAMERATES = ["8", "10", "12", "15", "23.976", "24", "25", "29.97", "30"];

var GP_VIDEO_CODECS = [C_MPEG4, C_H263, C_H264];
var GP_AUDIO_CODECS = [C_NONE, C_AAC, C_AMR];

var S_SUBQCIF = [8388704, "128x96 SubQCIF"];
var S_QCIF    = [11534480, "176x144 QCIF"];
var S_XVGA    = [15728960, "320x240 XVGA"];
var S_SAME    = [0, "Same as input"];
var GP_IMAGE_SIZES  = [S_SUBQCIF, S_QCIF, S_XVGA, S_SAME];
var GP_IMAGE_SIZES2 = [S_SUBQCIF, S_QCIF, S_SAME];
//96|(80<<16)  - 5242976
//128|(96<<16) - 8388704
//176|(144<<16)- 11534480
//320 240      - 15728960
PRESETS_DATA[aPrs.TGPP_OQ[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { H263 : {
        Bitrate : 128000, 
        VBR     : false,
        MotionSrchRng : 15,
        Quality : 30
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }}
    }
};

PRESETS_DATA[aPrs.TGPP_HQ[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { MPG4 : {
        Bitrate     : 192000, 
        Profile     : 8,
        Quality     : 6
    }},

    AudioCodec      : C_AAC[0],
    Frequency       : 44100,
    Channels        : 2,
    AParams         : {AAC : {
        Bitrate     : 96000, 
        Profile     : 2,
        Quality     : 100
    }}
    }
};

PRESETS_DATA[aPrs.TGPP_SQ[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "12",
    VParams         : { MPG4 : {
        Bitrate     : 72000, 
        Profile     : 8,
        Quality     : 5
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }}
    }
};

PRESETS_DATA[aPrs.TGPP_BQ[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { H263 : {
        Bitrate : 64000, 
        VBR     : false,
        MotionSrchRng : 7,
        Quality : 15
    }},
    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 10200
    }}
    }
};

PRESETS_DATA[aPrs.TGPP_SSA[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { MPG4 : {
        Bitrate     : 32000, 
        Profile     : 8,
        Quality     : 1
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 6700
    }}
    }
};

PRESETS_DATA[aPrs.TGPP_SSwA[0]] = { data : {
    VideoCodec      : C_MPEG4[0],
    Size            : 8388704,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "10",
    VParams         : { MPG4 : {
        Bitrate     : 32000, 
        Profile     : 8,
        Quality     : 1
    }},

    AudioCodec      : C_NONE[0],
    Frequency       : 8000,
    Channels        : 1
    }
};

PRESETS_DATA[aPrs.TGPP_Cellphone[0]] = { data : {
    VideoCodec      : C_H263[0],
    Size            : 11534480,
    ResizeMethod    : RM_LETTER,//
    ResizeQuality   : RQ_BEST,//
    FrameRate       : "15",
    VParams         : { H263 : {
        Bitrate : 128000, 
        VBR     : false,
        MotionSrchRng : 15,
        Quality : 30
    }},

    AudioCodec      : C_AMR[0],
    Frequency       : 8000,
    Channels        : 1,
    AParams         : {AMR : {
        Bitrate : 12200
    }}
    }
};
DIALOGS[FMT_3GPP[0]].exportPreset = function()
{
    var data = [];//PRESETS_DATA[presetId].data;

    var c_dialog = $("#IDD_3GPOPTS");
    data.VideoCodec = $("#GP_IDC_VIDEOCODEC", c_dialog).val();
    data.AudioCodec = $("#GP_IDC_AUDIOCODEC", c_dialog).val();

    data.Size = $("#GP_IDC_IMAGESIZE", c_dialog).val();


    data.FrameRate =    $("#GP_IDC_FRAMERATE", c_dialog).val();
    //$("#GP_IDC_PSPMODE", c_dialog).attr('checked', data.PSPMode).change();
        
    data.ResizeMethod = $("select#GP_IDC_RESIZE_METHOD", c_dialog).val();
    data.ResizeQuality = $("select#GP_IDC_RESIZEQUALITY", c_dialog).val();
    data.Freq = $("select#GP_IDC_FREQUENCY", c_dialog).val();
    data.Channels = $("select#GP_IDC_CHANNELS", c_dialog).val();
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            data.VParams = {MPG4 : {
                Profile : $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(),
                Bitrate : $("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val()*1000,
                Quality : $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val()
                }};
            break;
        case C_H263[0]: 
            data.VParams = {H263 : {        
                MotionSrchRng   : $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(),
                Bitrate         : 1000*$("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(),
                Quality         : $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(),
                VBR             : $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked')
            }};
            break;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
            //BYTE btMotionSrchRng;
        case C_H264[0]: 
            data.VParams = {H264 : {        
                Profile : $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(),
                Bitrate : 1000*$("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(),
                Quality : $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(),
                VBR     : $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked')
                }};
            break;
            //BYTE btProfile;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
    }
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
            data.AParams = {AAC : {     
                Profile : $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(),
                Bitrate : 1000*$("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(),
                Quality : $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val()
            }};
            break;
        case C_AMR[0]: 
            data.AParams = {AMR : {Bitrate : $("div#IDD_OPT_samr #IDC_BITRATE_samr").val()}};
            break;
            //DWORD dwBitrate;
    }
    
    return data;
};

DIALOGS[FMT_3GPP[0]].initPreset = function(presetId)
{
    var c_dialog = $("#IDD_3GPOPTS");
    var data = PRESETS_DATA[presetId].data;
    initW = data.Width;
    initH = data.Height;
    $("#GP_IDC_VIDEOCODEC", c_dialog).val(data.VideoCodec);
    $("#GP_IDC_AUDIOCODEC", c_dialog).val(data.AudioCodec);

    $("#GP_IDC_IMAGESIZE", c_dialog).val(data.Size);


    $("#GP_IDC_FRAMERATE", c_dialog).val(data.FrameRate);
    //$("#GP_IDC_PSPMODE", c_dialog).attr('checked', data.PSPMode).change();
        
    $("select#GP_IDC_RESIZE_METHOD", c_dialog).val(data.ResizeMethod);
    $("select#GP_IDC_RESIZEQUALITY", c_dialog).val(data.ResizeQuality);
    $("select#GP_IDC_FREQUENCY", c_dialog).val(data.Freq);
    $("select#GP_IDC_CHANNELS", c_dialog).val(data.Channels);
    switch(data.VideoCodec) {
        case C_MPEG4[0]: 
            $("div#IDD_OPT_mp4v #IDC_PROFILE_mp4v").val(data.VParams.MPG4.Profile);
            $("div#IDD_OPT_mp4v #IDC_BITRATE_mp4v").val(data.VParams.MPG4.Bitrate/1000);
            $("div#IDD_OPT_mp4v #IDC_QUALITY_mp4v").val(data.VParams.MPG4.Quality);
            break;
        case C_H263[0]: 
            $("div#IDD_OPT_s263 #IDC_SEARCHRANGE_s263").val(data.VParams.H263.MotionSrchRng);
            $("div#IDD_OPT_s263 #IDC_BITRATE_s263").val(data.VParams.H263.Bitrate/1000);
            $("div#IDD_OPT_s263 #IDC_QUALITY_s263").val(data.VParams.H263.Quality);
            $("div#IDD_OPT_s263 #IDC_USEVBR_s263").attr('checked', data.VParams.H263.VBR).change();

            break;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
            //BYTE btMotionSrchRng;
        case C_H264[0]: 
            $("div#IDD_OPT_avc1 #IDC_PROFILE_avc1").val(data.VParams.H264.Profile);
            $("div#IDD_OPT_avc1 #IDC_BITRATE_avc1").val(data.VParams.H264.Bitrate/1000);
            $("div#IDD_OPT_avc1 #IDC_QUALITY_avc1").val(data.VParams.H264.Quality);
            $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('checked', data.VParams.H264.VBR).change();
            break;
            //BYTE btProfile;
            //DWORD dwBitrate;
            //bool bVBR;
            //BYTE btQuality;
    }
    switch(data.AudioCodec) {
        case C_NONE[0]: 
            break;
        case C_AAC[0]: 
        
            $("div#IDD_OPT_mp4a #IDC_PROFILE_mp4a").val(data.AParams.AAC.Profile);
            $("div#IDD_OPT_mp4a #IDC_BITRATE_mp4a").val(data.AParams.AAC.Bitrate/1000);
            $("div#IDD_OPT_mp4a #IDC_QUALITY_mp4a").val(data.AParams.AAC.Quality);
            break;
        case C_AMR[0]: 
            $("div#IDD_OPT_samr #IDC_BITRATE_samr").val(data.AParams.AMR.Bitrate);
            break;
            //DWORD dwBitrate;
    }
    
    
};


DIALOGS[FMT_3GPP[0]].init = function()
{
    var c_dialog = $("#IDD_3GPOPTS");

    $("select#GP_IDC_VIDEOCODEC", c_dialog).change(function () {
        var val = $("select#GP_IDC_IMAGESIZE", c_dialog).val();
        if($(this).val() == C_H264[0])
            $("select#GP_IDC_IMAGESIZE", c_dialog).jselect({    data: GP_IMAGE_SIZES    });
        else $("select#GP_IDC_IMAGESIZE", c_dialog).jselect({   data: GP_IMAGE_SIZES2   });
        $("select#GP_IDC_IMAGESIZE", c_dialog).val(val);
    });

    $("select#GP_IDC_AUDIOCODEC", c_dialog).change(function () {
        var checked = ($(this).val() == C_NONE[0]);
        var checked2 = checked || ($(this).val() == C_AMR[0]);
        toggleDisabled($("div#preset_dialog"), 
                ["GP2_IDC_AUDIOOPTS"], 
                checked);   
        toggleDisabled($("div#preset_dialog"), 
                ["GP2_IDC_FREQUENCY", "GP2_IDC_CHANNELS"], 
                checked2);  
    });
        
    $("input[type=button]", c_dialog).hover(
            function(){ 
                $(this).addClass("ui-state-hover"); 
            },
            function(){ 
                $(this).removeClass("ui-state-hover"); 
            }
        ).mousedown(function(){
            $(this).addClass("ui-state-active"); 
        }).mouseup(function(){
                $(this).removeClass("ui-state-active");
        });

    $("input#GP_IDC_VIDEOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#GP_IDC_VIDEOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );
    $("input#GP_IDC_AUDIOOPTS", c_dialog).click(function () {
        var dlg_name = "#IDD_OPT_" + $("#GP_IDC_AUDIOCODEC", c_dialog).val() ;
        $(dlg_name).dialog('open');
    }
    );
    
    $("select#GP_IDC_RESIZE_METHOD", c_dialog).jselect({
        data: [RM_STRETCH, RM_LETTER, RM_CROP]
    });
    $("select#GP_IDC_RESIZEQUALITY", c_dialog).jselect({
        data: [RQ_NORMAL, RQ_BEST]
    });

    $("select#GP_IDC_FREQUENCY", c_dialog).jselect({
        data: [aFreqs.FQ_48_KHZ,aFreqs.FQ_44_KHZ,aFreqs.FQ_32_KHZ,
            aFreqs.FQ_24_KHZ,aFreqs.FQ_22_KHZ,aFreqs.FQ_16_KHZ,
            aFreqs.FQ_12_KHZ,aFreqs.FQ_11_KHZ,aFreqs.FQ_8_KHZ]
    });
    
    $("select#GP_IDC_CHANNELS", c_dialog).jselect({
        data: [MONO, STEREO]
    });
    
    $("select#GP_IDC_VIDEOCODEC", c_dialog).jselect({data: GP_VIDEO_CODECS});
    $("select#GP_IDC_AUDIOCODEC", c_dialog).jselect({data: GP_AUDIO_CODECS});
    $("select#GP_IDC_IMAGESIZE", c_dialog).jselect({data: GP_IMAGE_SIZES});
    $("select#GP_IDC_FRAMERATE", c_dialog).jselect({data: GP_FRAMERATES});
};

DIALOGS[FMT_QT[0]].initPreset = function(presetId)
{

};
DIALOGS[FMT_QT[0]].exportPreset = function()
{
    return [];
};


DIALOGS[FMT_QT[0]].init = function()
{

};

DIALOGS[FMT_RM[0]].initPreset = function(presetId)
{

};

DIALOGS[FMT_RM[0]].exportPreset = function()
{
    return [];
};


DIALOGS[FMT_RM[0]].init = function()
{

};

DIALOGS[FMT_DOWNLOAD[0]].initPreset = function(presetId)
{

};

DIALOGS[FMT_DOWNLOAD[0]].exportPreset = function()
{
    return [];
};


DIALOGS[FMT_DOWNLOAD[0]].init = function()
{

};

var C_MP3 = [1, "MP3"];
var C_PCM = [0, "PCM"];

var WAV_AUDIO_CODECS = [C_PCM, C_MP3];

PRESETS_DATA[aPrs.WAV_Standart[0]] = { data : {
        SAsInput : false,
        Frequency : 44100,
        Channels : 2,
        BitsPerSample : 16,
        AudioCodecNum : 0
    }
};


DIALOGS[FMT_WAV[0]].initPreset = function(presetId)
{
    var data = PRESETS_DATA[presetId].data;
    $("#WAV_IDC_AUDIOCODEC").val(data.AudioCodecNum);
    $("#WAV_IDC_CHANNELS").val(data.Channels);
    $("#WAV_IDC_FREQUENCY").val(data.Frequency);
    $("#WAV_IDC_SASINPUT").attr('checked', data.SAsInput);

};


DIALOGS[FMT_WAV[0]].exportPreset = function(presetId)
{
    var data = [];//PRESETS_DATA[presetId].data;
    data.AudioCodecNum = $("#WAV_IDC_AUDIOCODEC").val();
    data.Channels = $("#WAV_IDC_CHANNELS").val();
    data.Frequency = $("#WAV_IDC_FREQUENCY").val();
    data.SAsInput = $("#WAV_IDC_SASINPUT").attr('checked'); 
    return data;
};

DIALOGS[FMT_WAV[0]].init = function()
{
    var c_dialog = $("#preset_dialog");
    $("#WAV_IDC_AUDIOCODEC").jselect({data: WAV_AUDIO_CODECS});
    $("#WAV_IDC_CHANNELS").jselect({data: [MONO, STEREO]});
    $("#WAV_IDC_SASINPUT").change(function () {
        var checked = ($(this).attr('checked'));
        toggleDisabled($("#IDD_WAVOPTS"), ["WAV_IDC_AUDIOOPTS","WAV_IDC_FREQUENCY", "WAV_IDC_CHANNELS"], checked);      
    });
    $("#WAV_IDC_FREQUENCY").jselect({
        data: [ aFreqs.FQ_8_KHZ,    aFreqs.FQ_11_KHZ,   aFreqs.FQ_12_KHZ,   aFreqs.FQ_16_KHZ,   aFreqs.FQ_22_KHZ,
                aFreqs.FQ_24_KHZ,   aFreqs.FQ_32_KHZ,   aFreqs.FQ_44_KHZ,   aFreqs.FQ_48_KHZ    ]
    }); 
    
};

var MP3_ABITRATE_LIST = [[32000, "32 Kbit/sec"],[40000, "40 Kbit/sec"],[48000, "48 Kbit/sec"],[56000, "56 Kbit/sec"],[64000, "64 Kbit/sec"],[80000, "80 Kbit/sec"],[96000, "96 Kbit/sec"],[112000, "112 Kbit/sec"],[128000, "128 Kbit/sec"],[160000, "160 Kbit/sec"],[192000, "192 Kbit/sec"],[224000, "224 Kbit/sec"],[256000, "256 Kbit/sec"],[320000, "320 Kbit/sec"]]; 
var MP3_SAMPLERATE_LIST = [
    [0, "Auto"],
    [8000, "8000"],
    [11025, "11025"],
    [12000, "12000"],
    [16000, "16000"],
    [22050, "22050"],
    [24000, "24000"],
    [32000, "32000"],
    [44100, "44100"],
    [48000, "48000"]];
    
var MP3_BITRATE_LIST = [
    [16, "16 Kbit/sec"],
    [24, "24 Kbit/sec"],
    [32, "32 Kbit/sec"],
    [40, "40 Kbit/sec"],
    [48, "48 Kbit/sec"],
    [56, "56 Kbit/sec"],
    [64, "64 Kbit/sec"],
    [80, "80 Kbit/sec"],
    [96, "96 Kbit/sec"],
    [112, "112 Kbit/sec"],
    [128, "128 Kbit/sec"],
    [160, "160 Kbit/sec"],
    [192, "192 Kbit/sec"],
    [224, "224 Kbit/sec"],
    [256, "256 Kbit/sec"],
    [320, "320 Kbit/sec"]];
var MP3_CHANNELS_LIST = [
    [0, "Auto"],
    [1, "Mono"],
    [2, "Stereo"]];
var MP3_STEREOMODE_LIST = [
    [1, "Joint Stereo"],
    [2, "Dual Channel"]];
var MP3_VBRQUALITY_LIST = [
    [9, "9"],
    [7, "7"],
    [5, "5"],
    [4, "4"],
    [3, "3"],
    [1, "1"],
    [0, "0"]];

PRESETS_DATA[aPrs.MP3_HHQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        StereoMode : 1,
        Bitrate : 128,
        VBR : -1
    }
};

PRESETS_DATA[aPrs.MP3_GQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        StereoMode : 1,
        Bitrate : 160,
        VBR : -1
    }
};

PRESETS_DATA[aPrs.MP3_HQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        StereoMode : 2,
        Bitrate : 192,
        VBR : -1
    }
};
PRESETS_DATA[aPrs.MP3_AppleTV[0]] = { data : {
        Frequency : 44100,
        Channels : 2,
        StereoMode : 2,
        Bitrate : 192,
        VBR : -1
    }
};

DIALOGS[FMT_MP3[0]].initPreset = function(presetId)
{
    var c_dialog = $("div#IDD_MP3OPTS");
    var data = PRESETS_DATA[presetId].data;
    $("#MP3_IDC_CHANNELS", c_dialog).val(data.Channels);
    $("#MP3_IDC_SAMPLERATE", c_dialog).val(data.Frequency);
    $("#MP3_IDC_BITRATE", c_dialog).val(data.Bitrate);
    $("#MP3_IDC_STEREOMODE", c_dialog).val(data.StereoMode);
    $("#MP3_IDC_VBRQUALITY", c_dialog).val(data.VBR);
    $("#MP3_IDC_USEVBR", c_dialog).attr('checked', false).change();
};


DIALOGS[FMT_MP3[0]].exportPreset = function()
{
    var c_dialog = $("div#IDD_MP3OPTS");
    var data = [];//PRESETS_DATA[presetId].data;
    data.Channels = $("#MP3_IDC_CHANNELS", c_dialog).val();
    data.Frequency = $("#MP3_IDC_SAMPLERATE", c_dialog).val();
    data.Bitrate = $("#MP3_IDC_BITRATE", c_dialog).val();
    data.StereoMode = $("#MP3_IDC_STEREOMODE", c_dialog).val();
    data.VBR = $("#MP3_IDC_VBRQUALITY", c_dialog).val();
    return data;
};

DIALOGS[FMT_MP3[0]].init = function()
{
    var c_dialog = $("#IDD_MP3OPTS");
    $("#MP3_IDC_USEVBR", c_dialog).change(function () {
        var checked = !$("#MP3_IDC_USEVBR", c_dialog).attr('checked');
        toggleDisabled($("div#IDD_MP3OPTS"), 
                        ["MP3_IDC_VBRQUALITY"], 
                        checked);
    });

    $("#MP3_IDC_SAMPLERATE", c_dialog).jselect({data: MP3_SAMPLERATE_LIST});
    $("#MP3_IDC_CHANNELS", c_dialog).jselect({data: MP3_CHANNELS_LIST});
    $("#MP3_IDC_BITRATE", c_dialog).jselect({data: MP3_BITRATE_LIST});
    $("#MP3_IDC_STEREOMODE", c_dialog).jselect({data: MP3_STEREOMODE_LIST});
    $("#MP3_IDC_VBRQUALITY", c_dialog).jselect({data: MP3_VBRQUALITY_LIST});
};


DIALOGS[-1].init = function()
{
    $("#IDD_OPT_mp4v").dialog(
    { 
        buttons: {
            "Ok": function() { 
                    $("#IDD_OPT_mp4v").dialog('close'); return true;
                },
            "Cancel": function() {      
                    $("#IDD_OPT_mp4v").dialog('close'); return true;
                }
        },
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        modal: true,
        width: 300,
        height:230
    }); 
    
    $("div#IDD_OPT_mp4v select#IDC_PROFILE_mp4v").jselect({ data: PROFILES_mp4v });
    $("div#IDD_OPT_mp4v select#IDC_QUALITY_mp4v").jselect({ data: QUALITY_mp4v  });
    
    $("#IDD_OPT_mp4a").dialog(
    { 
        buttons: {
            "Ok": function() { 
                    $("#IDD_OPT_mp4a").dialog('close'); return true;
                },
            "Cancel": function() {      
                    $("#IDD_OPT_mp4a").dialog('close'); return true;
                }
        },
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        modal: true,
        width: 300,
        height:235
    }); 
        
    $("div#IDD_OPT_mp4a select#IDC_PROFILE_mp4a").jselect({ data: PROFILES_mp4a });
    $("div#IDD_OPT_mp4a select#IDC_QUALITY_mp4a").jselect({ data: QUALITY_mp4a  });

    $("#IDD_OPT_samr").dialog(
    { 
        buttons: {
            "Ok": function() { 
                    $("#IDD_OPT_samr").dialog('close'); return true;
                },
            "Cancel": function() {      
                    $("#IDD_OPT_samr").dialog('close'); return true;
                }
        },
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        modal: true,
        width: 310,
        height:100
    });
    $("div#IDD_OPT_samr select#IDC_BITRATE_samr").jselect({ data: BITRATES_samr });

    $("#IDD_OPT_s263").dialog(
    { 
        buttons: {
            "Ok": function() { 
                    $("#IDD_OPT_s263").dialog('close'); return true;
                },
            "Cancel": function() {      
                    $("#IDD_OPT_s263").dialog('close'); return true;
                }
        },
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        modal: true,
        width: 300,
        height:220
    });
    $("div#IDD_OPT_s263 select#IDC_SEARCHRANGE_s263").jselect({ data: RANGE_s263});
    $("div#IDD_OPT_s263 select#IDC_QUALITY_s263").jselect({ data: QUALITY_s263  });

    $("#IDD_OPT_avc1").dialog(
    { 
        buttons: {
            "Ok": function() { 
                    $("#IDD_OPT_avc1").dialog('close'); return true;
                },
            "Cancel": function() {      
                    $("#IDD_OPT_avc1").dialog('close'); return true;
                }
        },
        resizable: false,
        autoOpen: false,
        modal: true,
        bgiframe: true,
        width: 310,
        height:230
    });
    $("div#IDD_OPT_avc1 select#IDC_PROFILE_avc1").jselect({ data: PROFILES_avc1 });
    $("div#IDD_OPT_avc1 select#IDC_QUALITY_avc1").jselect({ data: QUALITY_avc1});
    
    $("div#IDD_OPT_avc1 select#IDC_PROFILE_avc1").change(function () {
        var checked = ($(this).val() != "4");
        $("div#IDD_OPT_avc1 #IDC_USEVBR_avc1").attr('disabled', checked).toggleClass( 'ui-state-disabled', checked);
    });

    $("div#IDD_OPT_s263 input#IDC_USEVBR_s263").click(function () {
        var checked = $(this).attr('checked');
        if(checked)
        {
            $("div#IDD_OPT_s263 #for_var_bitrate").show();
            $("div#IDD_OPT_s263 #not_for_var_bitrate").hide();
        }
        else
        {
            $("div#IDD_OPT_s263 #for_var_bitrate").hide();
            $("div#IDD_OPT_s263 #not_for_var_bitrate").show();
        }
    });

    var m_opt_dialog = $("#IDD_OPT_WMV");

    m_opt_dialog.dialog(
    { 
        buttons: {
            "Ok": function() { 
                    m_opt_dialog.dialog('close');   return true;
                },
            "Cancel": function() {      
                    m_opt_dialog.dialog('close');   return true;
                }
        },
        resizable: false,
        autoOpen: false,
        bgiframe: true,
        modal: true,
        width: 225,
        height:275
    });
    $("#IDD_OPT_WMV input, #IDD_OPT_WMV select").change(function () {
        
    });
    $("#IDC_COMBOVBR_WMV", m_opt_dialog).jselect({data: COMBOVBR});
    $("select#IDC_VIDBUFFER_WMV", m_opt_dialog).jselect({data: BUFFERS});

    $("input#IDC_VBRMAXBUF_WMV", m_opt_dialog).change(function() {
        var checked = $(this).val();
        $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).attr('disabled', checked).toggleClass( 'ui-state-disabled', checked);
    });
    
    $("select#IDC_COMBOVBR_WMV", m_opt_dialog).change(function() {
        switch($(this).val())
        {
            case "0":
                $("#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRQUALITY_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUF_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                break;
            case "1":
                $("#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).attr('disabled',  true).toggleClass( 'ui-state-disabled',  true);
                $("#IDC_VBRQUALITY_WMV", m_opt_dialog).attr('disabled',false).toggleClass( 'ui-state-disabled', false);
                $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).attr('disabled',  true).toggleClass( 'ui-state-disabled',  true);
                $("#IDC_VBRMAXBUF_WMV", m_opt_dialog).attr('disabled',  true).toggleClass( 'ui-state-disabled',  true);
                break;
            case "2":
                $("#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).attr('disabled', false).toggleClass( 'ui-state-disabled', false);
                $("#IDC_VBRQUALITY_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUF_WMV", m_opt_dialog).attr('disabled', false).toggleClass( 'ui-state-disabled', false);
                break;
            case "3":
                $("#IDC_VBRMAXBITRATE_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRQUALITY_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUFF_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);
                $("#IDC_VBRMAXBUF_WMV", m_opt_dialog).attr('disabled', true).toggleClass( 'ui-state-disabled', true);               break;
        }
    });

};

var FLAC_ABITRATE_LIST = [[32000, "32 Kbit/sec"],[40000, "40 Kbit/sec"],[48000, "48 Kbit/sec"],[56000, "56 Kbit/sec"],[64000, "64 Kbit/sec"],[80000, "80 Kbit/sec"],[96000, "96 Kbit/sec"],[112000, "112 Kbit/sec"],[128000, "128 Kbit/sec"],[160000, "160 Kbit/sec"],[192000, "192 Kbit/sec"],[224000, "224 Kbit/sec"],[256000, "256 Kbit/sec"],[320000, "320 Kbit/sec"]]; 
var FLAC_SAMPLERATE_LIST = [
    [0, "Auto"],
    [8000, "8000"],
    [11025, "11025"],
    [12000, "12000"],
    [16000, "16000"],
    [22050, "22050"],
    [24000, "24000"],
    [32000, "32000"],
    [44100, "44100"],
    [48000, "48000"],
    [96000, "96000"]
    ];
    
var FLAC_CHANNELS_LIST = [
    [0, "Auto"],
    [1, "Mono"],
    [2, "Stereo"]];
var FLAC_ENCMODE_LIST = [
    [0, "CBR"],
    [1, "ABR"],
    [2, "VBR"]
    ];  
var FLAC_COMP_LIST = [
    [0, "Minimum"],
    [1, "Fastest"],
    [3, "Fast"],
    [5, "Normal"],
    [6, "Good"],
    [7, "Best"],
    [8, "Maximum"]
    ];

PRESETS_DATA[aPrs.FLAC_BQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        SAsInput : true,
        Compression : 1
    }
};
DIALOGS[FMT_FLAC[0]].initPreset = function(presetId)
{
    var c_dialog = $("#preset_dialog");
    var data = PRESETS_DATA[presetId].data;
    $("#FLAC_IDC_CHANNELS", c_dialog).val(data.Channels);
    $("#FLAC_IDC_SAMPLERATE", c_dialog).val(data.Frequency);
    $("#FLAC_IDC_COMP", c_dialog).val(data.Compression);
    $("#FLAC_IDC_SASINPUT", c_dialog).attr('checked', data.SAsInput).change();
};

DIALOGS[FMT_FLAC[0]].exportPreset = function()
{
    var c_dialog = $("#preset_dialog");
    var data = [];//PRESETS_DATA[presetId].data;
    data.Channels = $("#FLAC_IDC_CHANNELS", c_dialog).val();
    data.Frequency = $("#FLAC_IDC_SAMPLERATE", c_dialog).val();
    data.Compression = $("#FLAC_IDC_COMP", c_dialog).val();
    data.SAsInput = $("#FLAC_IDC_SASINPUT", c_dialog).attr('checked');
    return data;
};

DIALOGS[FMT_FLAC[0]].init = function()
{
    var c_dialog = $("#preset_dialog");
    $("#FLAC_IDC_SASINPUT", c_dialog).change(function () {
        var checked = $("#FLAC_IDC_SASINPUT", c_dialog).attr('checked');
        toggleDisabled($("#preset_dialog"), 
            ["FLAC_IDC_SAMPLERATE", "FLAC_IDC_CHANNELS"], 
            checked);
    });

    $("#FLAC_IDC_SAMPLERATE", c_dialog).jselect({data: FLAC_SAMPLERATE_LIST});
    $("#FLAC_IDC_CHANNELS", c_dialog).jselect({data: FLAC_CHANNELS_LIST});
    $("#FLAC_IDC_COMP", c_dialog).jselect({data: FLAC_COMP_LIST});
};
var OGG_ABITRATE_LIST = [[32000, "32 Kbit/sec"],[40000, "40 Kbit/sec"],[48000, "48 Kbit/sec"],[56000, "56 Kbit/sec"],[64000, "64 Kbit/sec"],[80000, "80 Kbit/sec"],[96000, "96 Kbit/sec"],[112000, "112 Kbit/sec"],[128000, "128 Kbit/sec"],[160000, "160 Kbit/sec"],[192000, "192 Kbit/sec"],[224000, "224 Kbit/sec"],[256000, "256 Kbit/sec"],[320000, "320 Kbit/sec"]]; 
var OGG_SAMPLERATE_LIST = [
    [0, "Auto"],
    [8000, "8000"],
    [11025, "11025"],
    [12000, "12000"],
    [16000, "16000"],
    [22050, "22050"],
    [24000, "24000"],
    [32000, "32000"],
    [44100, "44100"],
    [48000, "48000"],
    [96000, "96000"]
    ];
    
var OGG_BITRATE_LIST = [
    [16000, "16 Kbit/sec"],
    [24000, "24 Kbit/sec"],
    [32000, "32 Kbit/sec"],
    [40000, "40 Kbit/sec"],
    [48000, "48 Kbit/sec"],
    [56000, "56 Kbit/sec"],
    [64000, "64 Kbit/sec"],
    [80000, "80 Kbit/sec"],
    [96000, "96 Kbit/sec"],
    [112000, "112 Kbit/sec"],
    [128000, "128 Kbit/sec"],
    [160000, "160 Kbit/sec"],
    [192000, "192 Kbit/sec"],
    [224000, "224 Kbit/sec"],
    [256000, "256 Kbit/sec"],
    [320000, "320 Kbit/sec"]];
var OGG_CHANNELS_LIST = [
    [0, "Auto"],
    [1, "Mono"],
    [2, "Stereo"]];
var OGG_ENCMODE_LIST = [
    [0, "CBR"],
    [1, "ABR"],
    [2, "VBR"]
    ];  
var OGG_QUALITY_LIST = [
    [10, "Lowest"],
    [20, "Low"],
    [40, "Medium Low"],
    [60, "Medium"],
    [80, "Medium High"],
    [90, "High"],
    [100, "Highest"]
    ];

PRESETS_DATA[aPrs.OGG_GQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        Bitrate : 128000,
        Mode : 1,
        Quality : 90
    }
};

PRESETS_DATA[aPrs.OGG_HQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        Bitrate : 160000,
        Mode : 1,
        Quality : 90
    }
};

PRESETS_DATA[aPrs.OGG_HHQ[0]] = { data : {
        Frequency : 0,
        Channels : 0,
        Bitrate : 192000,
        Mode : 1,
        Quality : 90
    }
};

DIALOGS[FMT_OGG[0]].initPreset = function(presetId)
{
    var c_dialog = $("#preset_dialog");
    var data = PRESETS_DATA[presetId].data;
    $("#OGG_IDC_CHANNELS", c_dialog).val(data.Channels);
    $("#OGG_IDC_MPEGVER", c_dialog).val(data.Frequency);
    $("#OGG_IDC_BITRATE", c_dialog).val(data.Bitrate);
    $("#OGG_IDC_ENCMODE", c_dialog).val(data.Mode);
    $("#OGG_IDC_QUALITY", c_dialog).val(data.Quality);
    $("#OGG_IDC_USEQ", c_dialog).attr('checked', false).change();
};

DIALOGS[FMT_OGG[0]].exportPreset = function()
{
    var c_dialog = $("#preset_dialog");
    var data = [];//PRESETS_DATA[presetId].data;
    data.Channels = $("#OGG_IDC_CHANNELS", c_dialog).val();
    data.Frequency = $("#OGG_IDC_MPEGVER", c_dialog).val();
    data.Bitrate = $("#OGG_IDC_BITRATE", c_dialog).val();
    data.Mode = $("#OGG_IDC_ENCMODE", c_dialog).val();
    data.Quality = $("#OGG_IDC_QUALITY", c_dialog).val();
    return data;
};

DIALOGS[FMT_OGG[0]].init = function()
{
    var c_dialog = $("#preset_dialog");
    $("#OGG_IDC_USEQ", c_dialog).change(function () {
        var checked = !$("#OGG_IDC_USEQ", c_dialog).attr('checked');
        if(checked)
        {
            $("#OGG_IDC_ENCMODE").val(2);
        }       
        toggleDisabled($("#preset_dialog"), 
            ["OGG_IDC_ENCMODE", "OGG_IDC_BITRATE"], 
            !checked);
        toggleDisabled($("#preset_dialog"), 
            ["OGG_IDC_QUALITY"], 
            checked);

    });

    $("#OGG_IDC_SAMPLERATE", c_dialog).jselect({data: OGG_SAMPLERATE_LIST});
    $("#OGG_IDC_CHANNELS", c_dialog).jselect({data: OGG_CHANNELS_LIST});
    $("#OGG_IDC_BITRATE", c_dialog).jselect({data: OGG_BITRATE_LIST});
    $("#OGG_IDC_ENCMODE", c_dialog).jselect({data: OGG_ENCMODE_LIST});
    $("#OGG_IDC_QUALITY", c_dialog).jselect({data: OGG_QUALITY_LIST});
};
/*
Script: JSON.js

JSON encoder / decoder: 
    This object uses good practices to encode/decode quikly and a bit safer(*) every kind of JSON compatible variable.
    
    (*) Please read more about JSON and Ajax JavaScript Hijacking problems, <http://www.fortifysoftware.com/advisory.jsp>
    
    To download last version of this script use this link: <http://www.devpro.it/code/149.html>

Version:
    1.3b - modified toDate method, now compatible with milliseconds time too (time or milliseconds/1000)

Compatibility:
    FireFox - Version 1, 1.5, 2 and 3 (FireFox uses secure code evaluation)
    Internet Explorer - Version 5, 5.5, 6 and 7
    Opera - 8 and 9 (probably 7 too)
    Safari - Version 2 (probably 1 too)
    Konqueror - Version 3 or greater

Dependencies:
    <JSONError.js>

Credits:
    - JSON site for safe RegExp and generic JSON informations, <http://www.json.org/>
    - kenta for safe evaluation idea, <http://mykenta.blogspot.com/>

Author:
    Andrea Giammarchi, <http://www.3site.eu>

License:
    >Copyright (C) 2007 Andrea Giammarchi - www.3site.eu
    >   
    >Permission is hereby granted, free of charge,
    >to any person obtaining a copy of this software and associated
    >documentation files (the "Software"),
    >to deal in the Software without restriction,
    >including without limitation the rights to use, copy, modify, merge,
    >publish, distribute, sublicense, and/or sell copies of the Software,
    >and to permit persons to whom the Software is furnished to do so,
    >subject to the following conditions:
    >
    >The above copyright notice and this permission notice shall be included
    >in all copies or substantial portions of the Software.
    >
    >THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    >INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    >FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    >IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    >DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    >ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
    >OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

/*
Object: JSON
    Stand alone or prototyped encode, decode or toDate public methods.

Example:
    >alert(JSON.encode([0,1,false,true,null,[2,3],{"some":"value"}]));
    >// [0,1,false,true,null,[2,3],{"some":"value"}]
    >
    >alert(JSON.decode('[0,1,false,true,null,[2,3],{"some":"value"}]'))
    >// 0,1,false,true,,2,3,[object Object]
*/
JSON = new function(){

    /* Section: Methods - Public */
    
    /*
    Method: decode
        decodes a valid JSON encoded string.
    
    Arguments:
        [String / Function] - Optional JSON string to decode or a filter function if method is a String prototype.
        [Function] - Optional filter function if first argument is a JSON string and this method is not a String prototype.
    
    Returns:
        Object - Generic JavaScript variable or undefined
    
    Example [Basic]:
        >var    arr = JSON.decode('[1,2,3]');
        >alert(arr);    // 1,2,3
        >
        >arr = JSON.decode('[1,2,3]', function(key, value){return key * value});
        >alert(arr);    // 0,2,6
    
    Example [Prototype]:
        >String.prototype.parseJSON = JSON.decode;
        >
        >alert('[1,2,3]'.parseJSON());  // 1,2,3
        >
        >try {
        >   alert('[1,2,3]'.parseJSON(function(key, value){return key * value}));
        >   // 0,2,6
        >}
        >catch(e) {
        >   alert(e.message);
        >}
    
    Note:
        Internet Explorer 5 and other old browsers should use a different regular expression to check if a JSON string is valid or not.
        This old browsers dedicated RegExp is not safe as native version is but it required for compatibility.
    */
    this.decode = function(){
        var filter, result, self, tmp;
        if($$("toString")) {
            switch(arguments.length){
                case    2:
                    self = arguments[0];
                    filter = arguments[1];
                    break;
                case    1:
                    if($[typeof arguments[0]](arguments[0]) === Function) {
                        self = this;
                        filter = arguments[0];
                    }
                    else
                        self = arguments[0];
                    break;
                default:
                    self = this;
                    break;
            };
            if(rc.test(self)){
                try{
                    result = e("(".concat(self, ")"));
                    if(filter && result !== null && (tmp = $[typeof result](result)) && (tmp === Array || tmp === Object)){
                        for(self in result)
                            result[self] = v(self, result) ? filter(self, result[self]) : result[self];
                    }
                }
                catch(z){}
            }
            else {
                throw new JSONError("bad data");
            }
        };
        return result;
    };
    
    /*
    Method: encode
        encode a generic JavaScript variable into a valid JSON string.
    
    Arguments:
        [Object] - Optional generic JavaScript variable to encode if method is not an Object prototype.
    
    Returns:
        String - Valid JSON string or undefined
    
    Example [Basic]:
        >var    s = JSON.encode([1,2,3]);
        >alert(s);  // [1,2,3]
    
    Example [Prototype]:
        >Object.prototype.toJSONString = JSON.encode;
        >
        >alert([1,2,3].toJSONString()); // [1,2,3]
    */
    this.encode = function(){
        var self = arguments.length ? arguments[0] : this,
            result, tmp;
        if(self === null)
            result = "null";
        else if(self !== undefined && (tmp = $[typeof self](self))) {
            switch(tmp){
                case    Array:
                    result = [];
                    for(var i in self) {
                        if(i !== undefined && (tmp = JSON.encode(self[i])))
                            result[i] = tmp;
                    };
                    res = []; n = 0;
                    for(var i in result) {
                        res[n++]= '"' + i + '":' + result[i];
                    }
                    result = "{" + res.join(",") + "}";
                    break;
                case    Boolean:
                    result = String(self);
                    break;
                case    Date:
                    result = '"'.concat(self.getFullYear(), '-', d(self.getMonth() + 1), '-', d(self.getDate()), 'T', d(self.getHours()), ':', d(self.getMinutes()), ':', d(self.getSeconds()), '"');
                    break;
                case    Function:
                    break;
                case    Number:
                    result = isFinite(self) ? String(self) : "null";
                    break;
                case    String:
                    result = '"'.concat(self.replace(rs, s).replace(ru, u), '"');
                    break;
                default:
                    var i = 0, key;
                    result = [];
                    for(key in self) {
                        if(self[key] !== undefined && (tmp = JSON.encode(self[key])))
                            result[i++] = '"'.concat(key.replace(rs, s).replace(ru, u), '":', tmp);
                    };
                    result = "{".concat(result.join(","), "}");
                    break;
            }
        };
        return result;
    };
    
    /*
    Method: toDate
        transforms a JSON encoded Date string into a native Date object.
    
    Arguments:
        [String/Number] - Optional JSON Date string or server time if this method is not a String prototype. Server time should be an integer, based on seconds since 1970/01/01 or milliseconds / 1000 since 1970/01/01.
    
    Returns:
        Date - Date object or undefined if string is not a valid Date
    
    Example [Basic]:
        >var    serverDate = JSON.toDate("2007-04-05T08:36:46");
        >alert(serverDate.getMonth());  // 3 (months start from 0)
    
    Example [Prototype]:
        >String.prototype.parseDate = JSON.toDate;
        >
        >alert("2007-04-05T08:36:46".parseDate().getDate());    // 5
    
    Example [Server Time]:
        >var    phpServerDate = JSON.toDate(<?php echo time(); ?>);
        >var    csServerDate = JSON.toDate(<%=(DateTime.Now.Ticks/10000-62135596800000)%>/1000);
    
    Example [Server Time Prototype]:
        >Number.prototype.parseDate = JSON.toDate;
        >var    phpServerDate = (<?php echo time(); ?>).parseDate();
        >var    csServerDate = (<%=(DateTime.Now.Ticks/10000-62135596800000)%>/1000).parseDate();
    
    Note:
        This method accepts an integer or numeric string too to mantain compatibility with generic server side time() function.
        You can convert quickly mtime, ctime, time and other time based values.
        With languages that supports milliseconds you can send total milliseconds / 1000 (time is set as time * 1000)
    */
    this.toDate = function(){
        var self = arguments.length ? arguments[0] : this,
            result;
        if(rd.test(self)){
            result = new Date;
            result.setHours(i(self, 11, 2));
            result.setMinutes(i(self, 14, 2));
            result.setSeconds(i(self, 17, 2));
            result.setMonth(i(self, 5, 2) - 1);
            result.setDate(i(self, 8, 2));
            result.setFullYear(i(self, 0, 4));
        }
        else if(rt.test(self))
            result = new Date(self * 1000);
        return result;
    };
    
    /* Section: Properties - Private */
    
    /*
    Property: Private
    
    List:
        Object - 'c' - a dictionary with useful keys / values for fast encode convertion
        Function - 'd' - returns decimal string rappresentation of a number ("14", "03", etc)
        Function - 'e' - safe and native code evaulation
        Function - 'i' - returns integer from string ("01" => 1, "15" => 15, etc)
        Array - 'p' - a list with different "0" strings for fast special chars escape convertion
        RegExp - 'rc' - regular expression to check JSON strings (different for IE5 or old browsers and new one)
        RegExp - 'rd' - regular expression to check a JSON Date string
        RegExp - 'rs' - regular expression to check string chars to modify using c (char) values
        RegExp - 'rt' - regular expression to check integer numeric string (for toDate time version evaluation)
        RegExp - 'ru' - regular expression to check string chars to escape using "\u" prefix
        Function - 's' - returns escaped string adding "\\" char as prefix ("\\" => "\\\\", etc.)
        Function - 'u' - returns escaped string, modifyng special chars using "\uNNNN" notation
        Function - 'v' - returns boolean value to skip object methods or prototyped parameters (length, others), used for optional decode filter function
        Function - '$' - returns object constructor if it was not cracked (someVar = {}; someVar.constructor = String <= ignore them)
        Function - '$$' - returns boolean value to check native Array and Object constructors before convertion
    */
    var c = {"\b":"b","\t":"t","\n":"n","\f":"f","\r":"r",'"':'"',"\\":"\\","/":"/"},
        d = function(n){return n<10?"0".concat(n):n},
        e = function(c,f,e){e=eval;delete eval;if(typeof eval==="undefined")eval=e;f=eval(""+c);eval=e;return f},
        i = function(e,p,l){return 1*e.substr(p,l)},
        p = ["","000","00","0",""],
        rc = null,
        rd = /^[0-9]{4}\-[0-9]{2}\-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/,
        rs = /(\x5c|\x2F|\x22|[\x0c-\x0d]|[\x08-\x0a])/g,
        rt = /^([0-9]+|[0-9]+[,\.][0-9]{1,3})$/,
        ru = /([\x00-\x07]|\x0b|[\x0e-\x1f])/g,
        s = function(i,d){return "\\".concat(c[d])},
        u = function(i,d){
            var n=d.charCodeAt(0).toString(16);
            return "\\u".concat(p[n.length],n)
        },
        v = function(k,v){return $[typeof result](result)!==Function&&(v.hasOwnProperty?v.hasOwnProperty(k):v.constructor.prototype[k]!==v[k])},
        $ = {
            "boolean":function(){return Boolean},
            "function":function(){return Function},
            "number":function(){return Number},
            "object":function(o){return o instanceof o.constructor?o.constructor:null},
            "string":function(){return String},
            "undefined":function(){return null}
        },
        $$ = function(m){
            function $(c,t){t=c[m];delete c[m];try{e(c)}catch(z){c[m]=t;return 1}};
            return $(Array)&&$(Object)
        };
    try{rc=new RegExp('^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$')}
    catch(z){rc=/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/}
};