﻿// JavaScript File to define the drop down list
if (!window.SilverlightJSApplication1)
	window.SilverlightJSApplication1 = {};

SilverlightJSApplication1.image = function() 
{
}

var name = "";
var isCornerMouseCaptured = false;
SilverlightJSApplication1.image.prototype =
{
	handleLoad: function(plugIn, userContext, rootElement) 
	{
		this.plugIn = plugIn;
		var button_design = rootElement.findName("button_design");
		button_design.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.CanvasMouseUpOrLeave));
		button_design.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.CanvasMouseUpOrLeave));
		var button0 = rootElement.findName("button0");
		button0.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.ImageButtonDown0));
		button0.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.ImageButtonEnter));
		button0.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.ImageButtonLeave));
		var button1 = rootElement.findName("button1");
		button1.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.ImageButtonDown1));
		button1.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.ImageButtonEnter));
		button1.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.ImageButtonLeave));
		var button2 = rootElement.findName("button2");
		button2.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.ImageButtonDown2));
		button2.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.ImageButtonEnter));
		button2.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.ImageButtonLeave));
		var button3 = rootElement.findName("button3");
		button3.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.ImageButtonDown3));
		button3.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.ImageButtonEnter));
		button3.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.ImageButtonLeave));
		var cornerSizer = rootElement.findName("cornerSizer");
		cornerSizer.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.CornerSizerMouseDown));
		cornerSizer.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.CornerSizerMouseUp));
		cornerSizer.addEventListener("MouseMove", Silverlight.createDelegate(this, this.CornerResizeMouseMove));
    },
    ImageButtonDown0 : function(sender, args){
        sender.findName("mainImage").ImageSource = "images/Sunset.jpg";
    },
    ImageButtonDown1 : function(sender, args){
        sender.findName("mainImage").ImageSource = "images/Blue hills.jpg";
    },
    ImageButtonDown2 : function(sender, args){
        sender.findName("mainImage").ImageSource = "images/Water lilies.jpg";
    },
    ImageButtonDown3 : function(sender, args){
        sender.findName("mainImage").ImageSource = "images/winter.jpg";
    },
    ImageButtonLeave : function(sender, args) {
        sender.Stroke = "Blue";
        sender.findName("button0").Opacity = "1";
        sender.findName("button1").Opacity = "1";
        sender.findName("button2").Opacity = "1";
        sender.findName("button3").Opacity = "1";
        sender.findName("animationButton1MoveUp").begin();
        sender.findName("animationButton2MoveUp").begin();
        sender.findName("animationButton3MoveUp").begin();
    },
    ImageButtonEnter : function(sender, args) {
        sender.Stroke = "Yellow";
        sender.Opacity = "1.0";
        if(sender.Name == "button0") {
            sender.findName("animationButton1MoveDown").begin();
            sender.findName("animationButton2MoveDown").begin();
            sender.findName("animationButton3MoveDown").begin();
        }
        else if(sender.Name == "button1") {
            sender.findName("animationButton1MoveUp").begin();
            sender.findName("animationButton2MoveDown").begin();
            sender.findName("animationButton3MoveDown").begin();
        }
        else if(sender.Name == "button2") {
            sender.findName("animationButton1MoveUp").begin();
            sender.findName("animationButton2MoveUp").begin();
            sender.findName("animationButton3MoveDown").begin();
            }
        else if(sender.Name == "button3") {
            sender.findName("animationButton1MoveUp").begin();
            sender.findName("animationButton2MoveUp").begin();
                
            }
    },
    CornerResizeMouseMove : function(sender, args) {
        if(isCornerMouseCaptured  == true){
            var y = args.getPosition(null).y;
            if (y > "60"){
               // sender.findName("botSizer")["Canvas.Top"] = args.Y-3;
                sender.findName("imageMain").Height = y+2;
                sender.findName ("cornerSizer").Height = y+1;
                // x direction
            var x = args.getPosition(null).x;
                sender.findName("imageMain").Width = x+2-125;
                sender.findName ("cornerSizer").Width = x+1-125;
                var adder = (y).toString();
                var s2 = "567, 302, 580, 315"
                var s = 
                    (x-11-125).toString() + "," +
                    (y-11).toString() + "," +
                    (x+2-125).toString()+ "," +
                    (y+2).toString();
                sender.findName("cornerSizerClip")["Rect"]=s;
            }
        }
    },
    CornerSizerMouseUp : function(sender, args){
        isCornerMouseCaptured = false;
        sender.releaseMouseCapture();
    },
    CornerSizerMouseDown : function(sender, args){
        isCornerMouseCaptured = true;
        sender.captureMouse();
    },
    CanvasMouseUpOrLeave : function(sender, args) {
        if (isCornerMouseCaptured = true){
                isCornerMouseCaptured = false;
                sender.releaseMouseCapture();
        }
    }
}
