| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | 
							- $(function (){
 
-     var g_expires = 365;
 
-     var g_max_noise_image = 2560 * 2560;
 
-     var g_max_scale_image = 1280 * 1280;
 
-     function clear_file() {
 
- 	var new_file = $("#file").clone();
 
- 	new_file.change(clear_url);
 
- 	$("#file").replaceWith(new_file);
 
-     }
 
-     function clear_url() {
 
- 	$("#url").val("")
 
-     }
 
-     function on_change_style(e) {
 
- 	var checked = $("input[name=style]:checked");
 
- 	if (checked.val() == "art") {
 
- 	    $(".main-title").text("waifu2x");
 
- 	} else {
 
- 	    $(".main-title").html("w<s>/a/</s>ifu2x");
 
- 	}
 
- 	$.cookie("style", checked.val(), {expires: g_expires});
 
-     }
 
-     function on_click_tta_rule(e) {
 
- 	e.preventDefault();
 
- 	e.stopPropagation();
 
- 	$(".tta_rule_text").toggle();
 
-     }
 
-     function on_change_tta_level(e) {
 
- 	var checked = $("input[name=tta_level]:checked");
 
- 	$.cookie("tta_level", checked.val(), {expires: g_expires});
 
- 	var level = checked.val();
 
- 	if (level == 0) {
 
- 	    level = 1;
 
- 	}
 
- 	var max_noise_w = Math.floor(Math.pow(g_max_noise_image / level, 0.5));
 
- 	var max_scale_w = Math.floor(Math.pow(g_max_scale_image / level, 0.5));
 
- 	var limit_text = $(".file_limits").text();
 
- 	var hits = 0;
 
- 	limit_text = limit_text.replace(/\d+x\d+/g, function() {
 
- 	    hits += 1;
 
- 	    if (hits == 1) {
 
- 		return "" + max_noise_w + "x" + max_noise_w;
 
- 	    } else {
 
- 		return "" + max_scale_w + "x" + max_scale_w;
 
- 	    }
 
- 	});
 
- 	$(".file_limits").text(limit_text);
 
- 	if (level == 1) {
 
- 	    $(".file_limits").css("color", "");
 
- 	} else {
 
- 	    $(".file_limits").css("color", "blue");
 
- 	}
 
-     }
 
-     function on_change_noise_level(e)
 
-     {
 
- 	var checked = $("input[name=noise]:checked");
 
- 	$.cookie("noise", checked.val(), {expires: g_expires});
 
-     }
 
-     function on_change_scale_factor(e)
 
-     {
 
- 	var checked = $("input[name=scale]:checked");
 
- 	$.cookie("scale", checked.val(), {expires: g_expires});
 
-     }
 
-     function restore_from_cookie()
 
-     {
 
- 	if ($.cookie("style")) {
 
- 	    $("input[name=style]").filter("[value=" + $.cookie("style") + "]").prop("checked", true)
 
- 	}
 
- 	if ($.cookie("noise")) {
 
- 	    $("input[name=noise]").filter("[value=" + $.cookie("noise") + "]").prop("checked", true)
 
- 	}
 
- 	if ($.cookie("scale")) {
 
- 	    $("input[name=scale]").filter("[value=" + $.cookie("scale") + "]").prop("checked", true)
 
- 	}
 
- 	if ($.cookie("tta_level")) {
 
- 	    $("input[name=tta_level]").filter("[value=" + $.cookie("tta_level") + "]").prop("checked", true)
 
- 	}
 
-     }
 
-     function uuid() 
 
-     {
 
- 	// ref: http://stackoverflow.com/a/2117523
 
- 	return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
 
- 	    var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
 
- 	    return v.toString(16);
 
- 	});
 
-     }
 
-     function download_with_xhr(e) 
 
-     {
 
- 	if (typeof window.URL.createObjectURL == "undefined" ||
 
- 	    typeof window.Blob == "undefined" ||
 
- 	    typeof window.XMLHttpRequest == "undefined" ||
 
- 	    typeof window.URL.revokeObjectURL == "undefined")
 
- 	{
 
- 	    return;
 
- 	}
 
- 	$("input[name=download]").attr("disabled", "disabled");
 
- 	e.preventDefault();
 
- 	e.stopPropagation();
 
- 	var xhr = new XMLHttpRequest();
 
- 	xhr.open('POST', '/api', true);
 
- 	xhr.responseType = 'arraybuffer';
 
- 	xhr.onload= function(e) {
 
- 	    if (this.status == 200) {
 
- 		var blob = new Blob([this.response], {type : 'image/png'});
 
- 		var a = document.createElement("a");
 
- 		var url = URL.createObjectURL(blob);
 
- 		a.href = url;
 
- 		a.target = "_blank";
 
- 		a.download = uuid() + ".png";
 
- 		a.click();
 
- 		URL.revokeObjectURL(url);
 
- 		$("input[name=download]").removeAttr("disabled");
 
- 	    } else {
 
- 		alert("Download Error");
 
- 		$("input[name=download]").removeAttr("disabled");
 
- 	    }
 
- 	};
 
- 	xhr.send(new FormData($("form").get(0)));
 
-     }
 
-     $("#url").change(clear_file);
 
-     $("#file").change(clear_url);
 
-     $("input[name=style]").change(on_change_style);
 
-     $("input[name=noise]").change(on_change_noise_level);
 
-     $("input[name=scale]").change(on_change_scale_factor);
 
-     $("input[name=tta_level]").change(on_change_tta_level);
 
-     $("input[name=download]").click(download_with_xhr);
 
-     $("a.tta_rule").click(on_click_tta_rule);
 
-     restore_from_cookie();
 
-     on_change_style();
 
-     on_change_scale_factor();
 
-     on_change_noise_level();
 
-     on_change_tta_level();
 
- })
 
 
  |