﻿
function _zFMouseDown (sender, eventArgs) 
{
    if (!_zbDM && !bna && xcr.tag != "1") {
        _zmVP = eventArgs.getPosition(null).y;
        _zmHP = eventArgs.getPosition(null).x;
        _zbCP = true;
        sender.CaptureMouse();
    }
}
function _zFMouseMove(sender, eventArgs) 
{
    if (_zbCP) {
        _zbMM = true;
        var deltaV = eventArgs.getPosition(null).y - _zmVP;
        var deltaH = eventArgs.getPosition(null).x - _zmHP;
        xpc.RenderTransform.children.GetItem(1).x = xpc.RenderTransform.children.GetItem(1).x + deltaH;
        xpc.RenderTransform.children.GetItem(1).y = xpc.RenderTransform.children.GetItem(1).y + deltaV;
        _zmVP = eventArgs.getPosition(null).y;
        _zmHP = eventArgs.getPosition(null).x;
        SetCursor("6");
    }
    xcr["Canvas.Left"] = eventArgs.getPosition(null).x - 5;
    xcr["Canvas.Top"] = eventArgs.getPosition(null).y - mMh;
}
function _zFMouseUp(sender, eventArgs) 
{
    if (_zbCP) {
        if (!_zbMM) {
            if (_zbZoomed)
                onResized("MainCanvas");
            else {
                var dPos = xpc.RenderTransform.children.GetItem(1);
                var dOran = ppc.clientWidth / ipw;
                var xPos = xCenter - ((eventArgs.getPosition(null).x - ppc.clientWidth / 2 + xCenter - dPos.x) / _zmZoomDeger) * dOran;
                var yPos = yCenter - ((eventArgs.getPosition(null).y - (ppc.clientHeight - 75) / 2 + yCenter - dPos.y) / _zmZoomDeger) * dOran;
                _zFloadbig(dOran, ((eventArgs.getPosition(null).x - ppc.clientWidth / 2 + xCenter - dPos.x) / _zmZoomDeger), ((eventArgs.getPosition(null).y - (ppc.clientHeight - 72) / 2 + yCenter - dPos.y) / _zmZoomDeger));
                _zFmakezoom(dOran, xPos, yPos, true);
            }
            _zbZoomed = !_zbZoomed;
        }
        offHC();
        _zbMM = _zbCP = false;
        sender.ReleaseMouseCapture();
    }
    _zmVP = 0;
    _zmHP = 0;
}
function _zFmakezoom(value, x, y, anim) 
{
    if (anim) {
        xpc.findName("Movex").to = x;
        xpc.findName("Movey").to = y;
        _zmZoomDeger = xpc.findName("Zoomy").to = xpc.findName("Zoomx").to = value;
        pcc.findName("ZoomStory").begin();
    } else {
    var deg = xpc.RenderTransform.children.GetItem(0);
        _zmZoomDeger = deg.ScaleX = deg.ScaleY = value;
        var deg = xpc.RenderTransform.children.GetItem(1);
        deg.x = x;
        deg.y = y;
    }
}
function _zFloadbig(oran, x, y) {
    if (oran > 1) {
        for (var m = 0; m < 9; m++) {
            pcc.FindName("Page" + (inp - (x > 1 ? 1 : 2)) + "m" + m).source = "m/" + (inp - (x > 1 ? 1 : 2)) + "_" + m + ".jpg";
        }
    }
}
function hmw(event) 
{
    var delta = 0;

    if (!event) event = window.event;
    if (event.wheelDelta) {
        delta = event.wheelDelta / 120;
        if (window.opera)
            delta = -delta;
    } else if (event.detail) {
        delta = -event.detail / 3;
    }

    if (delta) {
        var mLastZoom = _zmZoomDeger + delta / 6;
        if (mLastZoom < 0.10) mLastZoom = 0.10;
        var dPos = xpc.RenderTransform.children.GetItem(1);
        var xPos = event.x - ppc.clientWidth / 2 + xCenter - ((event.x - ppc.clientWidth / 2 + xCenter - dPos.x) / _zmZoomDeger) * mLastZoom;
        var yPos = event.y - (ppc.clientHeight - 72) / 2 + yCenter - ((event.y - (ppc.clientHeight - 72) / 2 + yCenter - dPos.y) / _zmZoomDeger) * mLastZoom;
        bBitti = false;
        if (mLastZoom > 1)
            _zFloadbig(mLastZoom, ((event.x - ppc.clientWidth / 2 + xCenter - dPos.x) / _zmZoomDeger), ((event.y - (ppc.clientHeight - 72) / 2 + yCenter - dPos.y) / _zmZoomDeger));
        _zFmakezoom(mLastZoom, xPos, yPos, false);
    }
    if (event.preventDefault)
        event.preventDefault();
    event.returnValue = false;
}