﻿Type.registerNamespace('Custom.UI');

///////////////////////////////////////////////////////////////////////
// ColorDragSourceBehavior class

Custom.UI.ColorDragSourceBehavior = function(element, color)
{
    Custom.UI.ColorDragSourceBehavior.initializeBase(this, [element]);
    this._mouseDownHandler = Function.createDelegate(this, this.mouseDownHandler);
    this._color = color;
    this._visual = null;
}

Custom.UI.ColorDragSourceBehavior.prototype =
{
    // IDragSource methods
    get_dragDataType: function()
    {
        return 'DragDropColor';
    },

    getDragData: function(context)
    {
        return this._color;
    },

    get_dragMode: function()
    {
        return Sys.Preview.UI.DragMode.Copy;
    },

    onDragStart: function() {},

    onDrag: function() {},

    onDragEnd: function(canceled)
    {
    //alert(this.get_element());
   
     if (this._visual)                       
     this.get_element().parentNode.removeChild(this._visual);       
      
    // this.dispose();    
//     Custom.UI.ColorDragSourceBehavior.callBaseMethod(this, 'dispose');
//     this.initialize();
    },
        
    // Other methods
    initialize: function()
    {
        Custom.UI.ColorDragSourceBehavior.callBaseMethod(this, 'initialize');
        $addHandler(this.get_element(), 'mousedown', this._mouseDownHandler);
    },
            
    mouseDownHandler: function(ev)
    {
        window._event = ev; // Needed internally by _DragDropManager

        this._visual = this.get_element().cloneNode(true);
        this._visual.style.opacity = '0.4';
        this._visual.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(opacity=0.4)';
        this._visual.style.zIndex = 99999;
        this.get_element().parentNode.appendChild(this._visual);
        var location = Sys.UI.DomElement.getLocation(this.get_element());
        Sys.UI.DomElement.setLocation(this._visual, location.x-this.get_element().offsetWidth, location.y);
        Sys.Preview.UI.DragDropManager.startDragDrop(this, this._visual, null);
    },

    dispose: function()
    {
        if (this._mouseDownHandler)
            $removeHandler(this.get_element(), 'mousedown', this._mouseDownHandler);
        this._mouseDownHandler = null;
        Custom.UI.ColorDragSourceBehavior.callBaseMethod(this, 'dispose');
    }
}


Custom.UI.ColorDragSourceBehavior.registerClass('Custom.UI.ColorDragSourceBehavior', Sys.UI.Behavior, Sys.Preview.UI.IDragSource);

///////////////////////////////////////////////////////////////////////
// ColorDropTargetBehavior class

Custom.UI.ColorDropTargetBehavior = function(element)
{
    Custom.UI.ColorDropTargetBehavior.initializeBase(this, [element]);
    this._color = null;
}
    
Custom.UI.ColorDropTargetBehavior.prototype =
{
    // IDropTarget methods
    get_dropTargetElement: function()
    {
        return this.get_element();
    },

    canDrop: function(dragMode, dataType, data)
    {
        return (dataType == 'DragDropColor' && data);
    },

    drop: function(dragMode, dataType, data)
    {
        //document.getElementById("ctl00$ContentPlaceHolder1$txtTempUse").innerText = "."; 
        var rand_no = Math.random();
        rand_no = rand_no * 100;
       //document.getElementById("ctl00$ContentPlaceHolder1$txtTempUse1").innerText = rand_no;
       document.forms[0].elements['ctl00_ContentPlaceHolder1_txtTempUse1'].value= rand_no;
       
       //document.forms[0].elements['divProgress'].style.display = "";
        document.getElementById("divProgressForFav").style.display = "";
        
        javascript:__doPostBack('ctl00$ContentPlaceHolder1$txtTempUse1','');
        
        //document.getElementById("txtTempUse").innerText = ".";        
        //javascript:__doPostBack('txtTempUse','');
        
        
        
        //SucceededCallback();
//        var varFavDragdrop = document.getElementById("hfFavDragDrop").value;
//        var varAllValues = varFavDragdrop.split('*');
//        var UserId = varAllValues[0];
//        var prjId = varAllValues[1]; 
//        var imgId = varAllValues[2]; 
//        wsDragDrop.addProduct(UserId,prjId,imgId,SucceededCallback);
        
        
        //PageMethods.addProduct3();
        //document.getElementById("hfFavDragDrop").value=UserId;
    },

    onDragEnterTarget: function(dragMode, dataType, data)
    {
        // Highlight the drop zone by changing its background
        // color to light gray
        if (dataType == 'DragDropColor' && data)
        {
//            this._color = this.get_element().style.backgroundColor;
//            this.get_element().style.backgroundColor = '#E0E0E0';
        }
       document.getElementById("ctl00_ContentPlaceHolder1_DropTarget").src = "../Images/drag_drop_on.gif";
    },
    
    onDragLeaveTarget: function(dragMode, dataType, data)
    {
        // Unhighlight the drop zone by restoring its original background color
        if (dataType == 'DragDropColor' && data)
        {
//p            this.get_element().style.backgroundColor = this._color;
        }
        document.getElementById("ctl00_ContentPlaceHolder1_DropTarget").src = "../Images/drag_drop_off.gif";
    },

    onDragInTarget: function(dragMode, dataType, data) {},
    
    // Other methods
    initialize: function()
    {
        Custom.UI.ColorDropTargetBehavior.callBaseMethod(this, 'initialize');
        Sys.Preview.UI.DragDropManager.registerDropTarget(this);
    },
    
    dispose: function()
    {
        Sys.Preview.UI.DragDropManager.unregisterDropTarget(this);
        Custom.UI.ColorDropTargetBehavior.callBaseMethod(this, 'dispose');
    }
}

Custom.UI.ColorDropTargetBehavior.registerClass
    ('Custom.UI.ColorDropTargetBehavior', Sys.UI.Behavior, Sys.Preview.UI.IDropTarget);

///////////////////////////////////////////////////////////////////////
// Script registration

Sys.Application.notifyScriptLoaded();
