﻿
    var ctrlID = ""
    var srcImg = ""
    var containerID = ""
    var fitType = ""
    var zoomFactor = "";
    var arrImages 

    var preImages
    var coverage=0
    var currCount=0
    var loaded
    var i,covered,timerID
    var _timeLabel;
    var _timeBegin;
    var _timeEnd;
    


function preInit(img, controlID, timeLabelID, contentcontainerid, fittype, zoom){
    srcImg = img; //img url
    containerID = contentcontainerid;
    ctrlID = controlID;
    fitType = fittype;
    zoomFactor = zoom;
    _timeLabel = document.getElementById(timeLabelID);

     loadSize();
}    

function loadSize()
{
    if (document.getElementById(containerID).style.width != 0 || document.getElementById(containerID).style.height != 0) {
        loadImages();
        
    }
    else
    {
        timerID = setTimeout("loadSize();",10) 
    }
}

function loadImages() { 
    
    var width = parseInt(document.getElementById(containerID).style.width);
    var height = parseInt(document.getElementById(containerID).style.height);
    srcImg += "&CNTWIDTH=" + width;
    srcImg += "&CNTHEIGHT=" + height;
    srcImg += "&FITTYPE=" + fitType;
    srcImg += "&ZOOM=" + zoomFactor;
    arrImages = new Array(srcImg);
    if (document.images) 
    {
        preImages = new Array();
        currCount = 0;
        loaded = new Array();//,i,covered,timerID
        
        for (i = 0; i < arrImages.length; i++) { 
          preImages[i] = new Image();
          preImages[i].src = arrImages[i];
        }
        /////////////////////////////////////////////////////////////////////////
        for (i = 0; i < preImages.length; i++)
        { 
            loaded[i] = false;
            var d = new Date();
            _timeBegin = d.getTime();
        }
        /////////////////////////////////////////////////////////////////////////
        checkLoad();
    }

}

function checkLoad() {
     if (currCount == preImages.length)
     { 
        if(document.getElementById(ctrlID) == null || document.getElementById(ctrlID) == undefined)
            return;

        document.getElementById(ctrlID).src = srcImg;
        return;
     
     }
     
     for (i = 0; i <= preImages.length; i++) {
          if (loaded[i] == false && preImages[i].complete)
           {
               
               loaded[i] = true;
               currCount++;
               //
               var d1 = new Date();
               _timeEnd = d1.getTime();
               if(_timeLabel != null)
                _timeLabel.innerHTML =  _timeLabel.innerHTML + (_timeEnd - _timeBegin)/1000;
          }
     }
     timerID = setTimeout("checkLoad();",10) 
}


function GetImageSize(blocker, widgetcontainer)
{
    var ww;
    var wh;
    var widgetwidth = document.getElementById(widgetcontainer).style.width;
    var widgetheight = document.getElementById(widgetcontainer).style.height;
    if(document.getElementById(widgetcontainer).style.width.length > 0)
    {
        ww = doInt(widgetwidth) - 40;
        wh = doInt(widgetheight) - 49;
        document.getElementById(blocker).style.width = ww + 'px';
        document.getElementById(blocker).style.height = wh + 'px';
    }
}

// Author Armen Nazaryan 
// JScript File for Dragging the "img" in parent "div"
var DragImg = {

	obj : null,
	objRoot : null,
// o - the "img" object, oRoot - the parent "div" object
	init : function(o, oRoot, blockid)
	{
	  //  debugger;
	  var blocker = document.getElementById(blockid);
	  if (o != null && oRoot != null)
	  {
		o.onmousedown	= DragImg.start;
		blocker.onmousedown =  DragImg.start;
		//o.onDragImgStart	= new Function();
		//o.onDragImgEnd	= new Function();
		//o.onDragImg		= new Function();
		objRoot = oRoot;
	  }
	},

	start : function(e)
	{
	    //debugger;
		var o = DragImg.obj = this;
		
		if (o == null) return false;
	  
		e = DragImg.fixE(e);
		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

//		document.onmousemove	= DragImg.drag;
//		document.onmouseup		= DragImg.end;
		
		o.onmousemove	= DragImg.drag;
		o.onmouseup		= DragImg.end;
		
		document.onmouseup = DragImg.end;
		
		//window.event.cancelBubble = true;
		
		return false;
	},

	drag : function(e)
	{
		e = DragImg.fixE(e);
		var o = DragImg.obj;
		var ey	= e.clientY;
		var ex	= e.clientX;
        objRoot.scrollTop += DragImg.obj.lastMouseY - ey;
        objRoot.scrollLeft += DragImg.obj.lastMouseX - ex;
		
		
		DragImg.obj.lastMouseX	= ex;
		DragImg.obj.lastMouseY	= ey;

		return false;
	},

	end : function()
	{
		var o = DragImg.obj;
		o.onmousemove = null;
		o.onmouseup   = null;
		o = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
}; 

// Script for multisected Choosing Criteria
    var CheckBox_AddAll;
    var CheckBox_DocumentDetails;
    var CheckBox_Certificate;
    var CheckBox_Pages;
    var CheckBox_Encumbrance;
    var RadioButton_SelectAll;
    var RadioButton_SelectCurrent;
    var RadioButton_SelectPages;
    var TextBox_SelectPages;
    var ImgPageCount, CertPageCount, EncPageCount

    function InitChosingCriteria(defSelCriteria, imgCount, certCount, encCount, chkBox_AddAll, chkBox_Details, chBox_Cert, chBox_Enc, chBox_Pages, rb_All, rb_Current, rb_Select, tb_Select)
    {
        //debugger;
        CheckBox_AddAll = document.getElementById(chkBox_AddAll);
        CheckBox_DocumentDetails = document.getElementById(chkBox_Details);
        CheckBox_Certificate = document.getElementById(chBox_Cert);
        CheckBox_Pages = document.getElementById(chBox_Pages);
        CheckBox_Encumbrance = document.getElementById(chBox_Enc);
        RadioButton_SelectAll = document.getElementById(rb_All);
        RadioButton_SelectCurrent = document.getElementById(rb_Current);
        RadioButton_SelectPages = document.getElementById(rb_Select);
        TextBox_SelectPages  = document.getElementById(tb_Select);
        
        ImgPageCount = imgCount;
        CertPageCount = certCount;
        EncPageCount = encCount;
                
        if((defSelCriteria == "AllPages") && (imgCount > 0))
        {
            CheckBox_AddAll.checked = false;
            CheckBox_DocumentDetails.checked = false;
            CheckBox_Certificate.checked = false;
            CheckBox_Encumbrance.checked = false;
            
            CheckBox_Pages.checked = true;
            RadioButton_SelectAll.checked = true;
            RadioButton_SelectCurrent.checked = false;
            RadioButton_SelectPages.checked = false;
            TextBox_SelectPages.disabled = true;
        }
        else if((defSelCriteria == "CurentPages") && (imgCount > 1))
        {
            CheckBox_AddAll.checked = false;
            CheckBox_DocumentDetails.checked = false;
            CheckBox_Certificate.checked = false;
            CheckBox_Encumbrance.checked = false;
            
            CheckBox_Pages.checked = true;
            RadioButton_SelectAll.checked = false;
            RadioButton_SelectCurrent.checked = true;
            RadioButton_SelectPages.checked = false;
            TextBox_SelectPages.disabled = true;
        }
        else
        {
            CheckBox_AddAll.checked = true;
            CheckBox_DocumentDetails.checked = true;
            
            CheckBox_Certificate.checked = (certCount > 0);
            CheckBox_Encumbrance.checked = (encCount > 0);
            CheckBox_Pages.checked = (imgCount > 0);
            
            RadioButton_SelectAll.checked = (imgCount > 0);
                    
            RadioButton_SelectCurrent.checked = false;
            RadioButton_SelectPages.checked = false;
            Panel_CheckBoxes_Disable(true);
        }
    }
    function Panel_Pages_Disable(disable)
    {
        if((disable) || (!disable && (ImgPageCount > 0)))
        {
            RadioButton_SelectAll.disabled = disable;
            RadioButton_SelectCurrent.disabled = disable;
            RadioButton_SelectPages.disabled = disable;
            TextBox_SelectPages.disabled = disable;
        }
    }
    function Panel_CheckBoxes_Disable(disable)
    {
        CheckBox_DocumentDetails.disabled = disable;
        CheckBox_Pages.disabled = disable;
        if(disable)
        {
            CheckBox_Certificate.disabled = disable;
            CheckBox_Encumbrance.disabled = disable;
            Panel_Pages_Disable(disable);
        }
        else
        {
            if(CertPageCount > 0)
            {
                CheckBox_Certificate.disabled = disable;
            }
            if(EncPageCount > 0)
            {
                CheckBox_Encumbrance.disabled = disable;
            }
            if(ImgPageCount > 0)
            {
                Panel_Pages_Disable(disable);        
            }
        }
        
    }
    function CheckAllChanged()
    {
        //debugger;
        if(CheckBox_AddAll.checked)
        {                
            Panel_Pages_Disable(false);
            CheckBox_DocumentDetails.checked = true;
            
            if(CertPageCount > 0)
            {
                CheckBox_Certificate.checked = true;
            }
            if(ImgPageCount > 0)
            {
                CheckBox_Pages.checked = true;
                RadioButton_SelectAll.checked = true;
            }
            if(EncPageCount > 0)
            {
                CheckBox_Encumbrance.checked = true;
            }

            RadioButton_SelectCurrent.checked = false;
            RadioButton_SelectPages.checked = false;
            TextBox_SelectPages.disabled = true;
            Panel_CheckBoxes_Disable(true);           
        }
        else
        {
            Panel_CheckBoxes_Disable(false);
            if(RadioButton_SelectPages.checked)
            {
                TextBox_SelectPages.disabled = false;
            }
            else
            {
                TextBox_SelectPages.disabled = true;
            }
        }
    }
    function CheckPagesChanged()
    {
        if(CheckBox_Pages.checked)
        {
            Panel_Pages_Disable(false);
            if(RadioButton_SelectPages.checked)
            {
                TextBox_SelectPages.disabled = false;
            }
        }
        else
        {
            Panel_Pages_Disable(true);
            TextBox_SelectPages.disabled = true;
        }
    }
    function CheckAllPagesChanged()
    {
        if(RadioButton_SelectAll.checked)
        {
            TextBox_SelectPages.disabled = true;
        }
    }
    function CheckCurrentPageChanged()
    {
        if(RadioButton_SelectCurrent.checked)
        {
            TextBox_SelectPages.disabled = true;
        }
    }
    function CheckSelectPagesChanged()
    {
        if(RadioButton_SelectPages.checked)
        {
            TextBox_SelectPages.disabled = false;
        }
    }

// Author Karen Chakhmakhchyan 
// JScript File GroupListControl.js
///
// in case when will be buttons for control checkboxes in datagrids ("Select All", "Unselect All", "Invert Selection")
///

    // handle checkboxes's clicking in datagrids
    function GropuListCtrl_On_Check(checkbox, checkInfo, index, checkPKs, pk)
    {
        //document.getElementById('BasketCtrl1_ContentPanel').style.overflow = 'auto';
        
         // TODO in future remove checkPKs, pk parameters
        if(checkbox.checked)
        {
            checkInfo.value = checkInfo.value + index  + ",";
            if(pk != "null")
            {
                checkPKs.value = checkPKs.value + pk + ",";
            }
        }
        else
        {
            checkInfo.value = removeIndex(checkInfo, index);
            if(pk != "null")
            {
                checkPKs.value = removeIndex( checkPKs, pk);
            }
        }
  } 
  // remove checkbox index from checkboxes list in a datagrid
  function removeIndex(checkInfo, index)
  {
           var ind = checkInfo.value.indexOf(index);
           if(ind != -1)
           {
              return checkInfo.value.substring(0, ind) + checkInfo.value.substring(ind + (index.toString()).length + 1, checkInfo.value.length);
           }
  }
