﻿// JScript File
// new version of popuplayer.js
// params caller should be prepared:
// layer, comboList, statusLayers

// Determine browser and version.

function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 0;

function dragStart(event, id) {  
  var el;
  var x, y;


  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  // Hide layer
  
  

  if (id) {
    dragObj.elNode = document.getElementById(id);        
    
  }  
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3) 
      dragObj.elNode = dragObj.elNode.parentNode;      

  }

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

  // Update element's z-index.

  //dragObj.elNode.style.zIndex = ++dragObj.zIndex;

  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }
}

function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.
    
  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Move drag element by the same amount the cursor has moved.

  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}
  
  
// *************  
// original code    
// *************

    bDragingLayer = false;
    pLeft = "";
    pTop = "";
    dragX = "";
    dragY = "";
    newX = "";
    newY = "";               
    
	//function startDragLayer(inLayer,cX,cY) {
	//	bDragingLayer = true;
	//	currLayer = document.getElementById(inLayer);
	//	pLeft = parseInt(currLayer.style.left);		
	//	pTop = parseInt(currLayer.style.top);		
	//	dragX = cX;
	//	dragY = cY;		 
	//}

	function stopDragLayer() {	   	
		bDragingLayer = false;				
	}
	
	//function DragBox(evt) {
	   
	//    if (IE) { // grab the x-y pos.s if browser is IE
	//        e = evt || event;   	    
	//	    if (bDragingLayer == true) {			    	    		    
	//	    newX = pLeft + e.clientX - dragX;	
	//	    newY = pTop  + e.clientY - dragY;			    	     		      
	//		currLayer.style.left = newX + 'px';
	//		currLayer.style.top  = newY + 'px';			
	//		return false;
	//      }
	//    }   
	//    else {  // grab the x-y pos.s if browser is NS
	//        e = evt || event;
	//	    if (bDragingLayer == true) {   
	//	    if (dragY<10){
	//	    dragY =0; 
	//	    }
	//	    newX = pLeft + e.clientX - dragX;
	//	    newY = pTop  + e.clientY - dragY;		    
	//		currLayer.style.left = newX + 'px';
	//		currLayer.style.top  = newY + 'px';			
	//		return false;
	//      }
    //    }  
    // }
		
	//document.onmousemove = DragBox;
		
    function centerLayer(layer){
		currLayer = document.getElementById(layer);
		
		currLayer.style.left = (document.body.scrollLeft + Math.floor((document.body.clientWidth - parseInt(currLayer.style.width)) / 2)) + 'px';
		//currLayer.style.top = (document.body.scrollTop + Math.floor((document.body.clientHeight - parseInt(currLayer.style.height)) / 2)) + 'px';						
		currLayer.style.top = (document.documentElement.scrollTop + Math.floor((window.screen.availHeight - parseInt(currLayer.style.height)) / 2)) - 50 + 'px';			
        currLayer.style.display = "block";	            
        
        if (navigator.appName=='Microsoft Internet Explorer') {
            //document.getElementById("VarWhite").style.height = '382px';	             
            //document.getElementById("VarWhite2").style.height = '408px';	      
        }		
	}	
    
    function showLayer(layer, inComboList) {	        
        for (I=0; I<inComboList.length; I++) {
            document.getElementById(inComboList[I]).style.visibility = 'hidden';
        }
        document.getElementById("LayerCover").style.display = "block";  
        document.getElementById("LayerCover").style.width = document.body.scrollWidth + 'px';
        document.getElementById("LayerCover").style.height = document.body.scrollHeight + 'px';
        document.getElementById("LayerCover").style.height = ((document.body.scrollHeight == 0) ? document.documentElement.scrollHeight : document.body.scrollHeight) + 'px';
        
        centerLayer(layer);
    }    
        
    function hideLayer(layer, inComboList) {	        
        for (I=0; I<inComboList.length; I++) {
            document.getElementById(inComboList[I]).style.visibility = 'visible';
        }
        document.getElementById(layer).style.display = "none";	        
        document.getElementById("LayerCover").style.display = "none";	        		        
    }

    //seems same with showLayer...
    function showProcess(layer, inComboList) {
        for (I=0; I<inComboList.length; I++) {
           document.getElementById(inComboList[I]).style.visibility = 'hidden';
        }
        document.getElementById("LayerCover").style.display = "block";
        document.getElementById("LayerCover").style.width = document.body.scrollWidth + 'px';
        document.getElementById("LayerCover").style.height = document.body.scrollHeight + 'px';		    
        
        centerLayer(layer);
    }	 

    //seems same as hideLayer
    function hideProcess(layer, inComboList) {
        for (I=0; I<inComboList.length; I++) {
            document.getElementById(inComboList[I]).style.visibility = 'visible';
        }
        document.getElementById(layer).style.display = "none";
        document.getElementById("LayerCover").style.display = "none";
    }	   
    
    function showStatusLayer(inStatus, inLayerList) {        
        for (i in inLayerList) {
            if (inLayerList[i] == inStatus) {		        
                document.getElementById(inLayerList[i]).style.display = 'block';
            } else {
                document.getElementById(inLayerList[i]).style.display = 'none';
            }
        }
    } 

// end of original code