﻿/// <reference name="MicrosoftAjax.js"/>
var chbMirror, chbWarp, chbHSL, chbContrast;
var panWarp, panHSL, panContrast;
var txtH, txtS, txtL, txtContrast, chbColorize;
var paneDraggerContrast, paneDraggerHSL, paneDraggerWarp;
var targetImage, imageSource;
var dynImageSourceUrl;
var filterS;
//
function imgWarp_Reset(sender, args) {
    Sys.UI.DomElement.addCssClass(paneDraggerWarp, "ImageCommandPaneDragger");
    Sys.UI.DomElement.removeCssClass(paneDraggerWarp, "ImageCommandPaneDraggerHover");
}
function imgWarp_Hover(sender, args) {
    Sys.UI.DomElement.removeCssClass(paneDraggerWarp, "ImageCommandPaneDragger");
    Sys.UI.DomElement.addCssClass(paneDraggerWarp, "ImageCommandPaneDraggerHover");
}
function imgHSL_Reset(sender, args) {
    Sys.UI.DomElement.addCssClass(paneDraggerHSL, "ImageCommandPaneDragger");
    Sys.UI.DomElement.removeCssClass(paneDraggerHSL, "ImageCommandPaneDraggerHover");
}
function imgHSL_Hover(sender, args) {
    Sys.UI.DomElement.removeCssClass(paneDraggerHSL, "ImageCommandPaneDragger");
    Sys.UI.DomElement.addCssClass(paneDraggerHSL, "ImageCommandPaneDraggerHover");
}
function imgContrast_Reset(sender, args) {
    Sys.UI.DomElement.addCssClass(paneDraggerContrast, "ImageCommandPaneDragger");
    Sys.UI.DomElement.removeCssClass(paneDraggerContrast, "ImageCommandPaneDraggerHover");
}
function imgContrast_Hover(sender, args) {
    Sys.UI.DomElement.removeCssClass(paneDraggerContrast, "ImageCommandPaneDragger");
    Sys.UI.DomElement.addCssClass(paneDraggerContrast, "ImageCommandPaneDraggerHover");
}
//
function checkSaturation(evt) {
    if (chbColorize.checked) {
        txtS.value = Math.min(100, Math.max(0, parseInt(txtS.value)));
        filterS.set_FilterType(2);
    } else {
        filterS.set_FilterType(3);
        txtS.value = Math.min(100, Math.max(-100, parseInt(txtS.value)));
    }
}
function checkLuminance(evt) {
    txtL.value = Math.min(100, Math.max(-100, parseInt(txtL.value)));
}
function checkContrast(evt) {
    txtContrast.value = Math.min(100, Math.max(-100, parseInt(txtContrast.value)));
}
function drawingDemoRun(evt) {
    var container = panWarp.parentNode;
    var children = container.getElementsByTagName('DIV');
    var array = [String.format("mirror={0}", chbMirror.checked)];
    for (var i = 0; i < children.length; i++) {
        var child = children[i];
        if (child === panWarp) {
            array.push(String.format("warp={0}", chbWarp.checked));
        } else if (child === panHSL) {
            array.push(String.format("hsl={0}&h={1}&s={2}&l={3}&colorize={4}", chbHSL.checked, txtH.value, txtS.value, txtL.value, chbColorize.checked));
        } else if (child === panContrast) {
            array.push(String.format("contrast={0}&value={1}", chbContrast.checked, txtContrast.value));
        }
    }
    var qstring = array.join("&");
    targetImage.src = String.format("{0}?src={2}&{1}&rnd={3}", dynImageSourceUrl, qstring, imageSource, new Date());
}