//
// global variables
//
var isMozilla;
var objDiv = null;
var originalDivHTML = "";
var DivID = "FMJSD_DW1";
var DivContID = "FMJSD_DWC1";
var over = null;
var mouseX;
var mouseY;
var interval1=null;
var closeID=null;
var level=0;

var mouseDrillX , mouseDrillY;
var winState=new Array(10);
for(var i=0;i<10;i++){
	winState[i]=new Object();
	winState[i]["winIX"]=0;
	winState[i]["winIW"]=0;
	winState[i]["winIH"]=0;
	winState[i]["winIY"]=0;
	winState[i]["winL"]=0;
	winState[i]["winT"]=0;
	winState[i]["winW"]=0;
	winState[i]["winH"]=0;
	winState[i]["count"]=0;
	winState[i]["interval"]=null;
	
}

//
// dinamically add a div to 
// dim all the page
//
var setWT=97, setWL=17, setWW=960, setWH=455;

function setWindow(t,l,w,h){
	setWT=t;//97;
	setWL=l;//17;
	setWW=w;//960;
	setWH=h;//455;
}

function zoomWindow(){
	
	//To increase speed :
	//1. 
	if(_FMJSD_ZoomTime<2) _FMJSD_ZoomTime=2;
	var zoomCount=_FMJSD_ZoomTime;
	mouseDrillX = mouseX;
	mouseDrillY = mouseY;
	winState[level]["winL"] =parseInt(mouseX);
	winState[level]["winT"] =parseInt(mouseY);
	winState[level]["winIX"] = (winState[level]["winL"]-15)/zoomCount;
	winState[level]["winIY"] = (winState[level]["winT"]-100)/zoomCount;
	winState[level].count=0;
	//winIW =960/10;
	//winIH =460/10;
	winState[level]["winIW"] =setWW/zoomCount;
	winState[level]["winIH"] =setWH/zoomCount;
	winState[level]["winW"] =0;
	winState[level]["winH"] =0;
	
	
	var zoomDiv=null;
	winState[level]["interval"] = window.setInterval(function(){
  	if(winState[level].count<zoomCount-1){
  		winState[level]["winL"] -= winState[level]["winIX"];
  		winState[level]["winT"] -= winState[level]["winIY"];
  		winState[level]["winW"] += winState[level]["winIW"];
  		winState[level]["winH"] += winState[level]["winIH"];
  		if(zoomDiv==null) zoomDiv=document.getElementById(DivID);
  		
      zoomDiv.style.position = "absolute";
  		zoomDiv.style.left = winState[level]["winL"]+"px";
  		zoomDiv.style.top = winState[level]["winT"]+"px";
  		zoomDiv.style.width = winState[level]["winW"]+"px";
  		zoomDiv.style.height = winState[level]["winH"]+"px";
  		zoomDiv.style.visibility = "visible";
  		zoomDiv.style.zIndex = ""+(1001+level*3);
  		document.getElementById("dimmer"+level).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+(winState[level].count/zoomCount*60)+")";
  		document.getElementById("dimmer"+level).style.MozOpacity =winState[level].count/zoomCount;
  		document.getElementById("dimmer"+level).style.opacity =winState[level].count/zoomCount;
  		
  	}
  	else
  	{
  		window.clearInterval(winState[level]["interval"]);
  		winState[level]["interval"]=null;
  	
  		
  		zoomDiv.style.position = "absolute";
  		zoomDiv.style.left = setWL+"px";//"15px";
  		zoomDiv.style.top = setWT+"px";//"100px";
  		zoomDiv.style.width = setWW+"px";//"960px";
  		zoomDiv.style.height = setWH+"px";//"455px";
		if(document.getElementById("FMJSD_DrillDetails"+level) && _FMJSD_DetailsPanel_ScrollBar){
			document.getElementById("FMJSD_DrillDetails"+level).style.height = 419+"px";
			document.getElementById("FMJSD_DrillDetails"+level).style.width = 355+"px";
			document.getElementById("FMJSD_DrillDetails"+level).style.overflow = "auto";
		}
		if(document.getElementById("FMJSD_DWC"+level) && _FMJSD_MapPanel_ScrollBar){
			document.getElementById("FMJSD_DWC"+level).style.overflow = "auto";
		}
		
		
  
  		if(isFireFox || isNetscape){
  			
  			document.getElementById(DivContID).style.MozOpacity="1";
  			document.getElementById(DivContID).style.opacity="1";
  			document.getElementById(DivContID).style.width = (notZoom?600:940)+"px";
  			document.getElementById(DivContID).style.height = 433+"px";

  
  		}
  
  		
  	}
  	winState[level].count++;
    
  },20);
	
	
}




//
//
function displayFloatingDiv(divId,dimmerTop, dimmerLeft, dimmerWidth, dimmerHeight) 
{
	level=divId.substr(divId.length-1);
	DivID = divId;
	DivContID="FMJSD_DWC"+level;
//try{
	var prevLevel=level-1;
	if(prevLevel>0){
		dimmerLeft=parseInt(document.getElementById("FMJSD_DW"+prevLevel).style.left);
		dimmerTop=parseInt(document.getElementById("FMJSD_DW"+prevLevel).style.top);
	}else{
	}
	document.getElementById("dimmer"+level).style.position = "absolute";
	document.getElementById("dimmer"+level).style.left =dimmerLeft+"px";// "9px";
	document.getElementById("dimmer"+level).style.top = dimmerTop+"px";//"98px";
	document.getElementById("dimmer"+level).style.width = dimmerWidth+"px";//"975px";
	document.getElementById("dimmer"+level).style.height = dimmerHeight+"px";//"430px";
	document.getElementById("dimmer"+level).style.visibility = "visible";
	document.getElementById("dimmer"+level).style.zIndex = ""+(1000+level*3);
//}catch(err){}
}



function zoomOutInterval(){
	if(_FMJSD_ZoomTime<2) _FMJSD_ZoomTime=2;
	var zoomCount=_FMJSD_ZoomTime;
  try{  
  	if (winState[level].count>1){
  
  		winState[level].winL += winState[level].winIX;
  		winState[level].winT += winState[level].winIY;
  		winState[level].winW -= winState[level].winIW;
  		winState[level].winH -= winState[level].winIH;
  		
  		document.getElementById(DivID).style.position = "absolute";
  		document.getElementById(DivID).style.width = winState[level].winW+"px";
  		document.getElementById(DivID).style.height = winState[level].winH+"px";
  		document.getElementById(DivID).style.left = winState[level].winL+"px";
  		document.getElementById(DivID).style.top = winState[level].winT+"px";
  		document.getElementById("dimmer"+level).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+(winState[level].count/zoomCount*60)+")";
  
  		document.getElementById("dimmer"+level).style.MozOpacity =(winState[level].count)/zoomCount;
  		document.getElementById("dimmer"+level).style.opacity =(winState[level].count)/zoomCount;
  	}
  	else{
  		window.clearInterval(winState[level]["interval"]);
  		winState[level]["interval"]=null;
  	
  		
  		document.getElementById(DivID).innerHTML = "";
  		document.getElementById(DivID).style.position = "absolute";
  		document.getElementById(DivID).style.width = "1px";
  		document.getElementById(DivID).style.height = "1px";
  		document.getElementById(DivID).style.left = "1000px";
  		document.getElementById(DivID).style.top = "1px";
  		document.getElementById(DivID).style.visibility="hidden";
  	
  		document.getElementById("dimmer"+level).style.position = "absolute";
  		document.getElementById("dimmer"+level).style.width = "1px";
  		document.getElementById("dimmer"+level).style.height = "1px";
  		document.getElementById("dimmer"+level).style.left = "1000px";
  		document.getElementById("dimmer"+level).style.top = "1px";
  		document.getElementById("dimmer"+level).style.visibility = "hidden";
  		
  		level=parseInt(DivID.substr(DivID.length-1))-1;
  		DivID = "FMJSD_DW"+level
  		DivContID="FMJSD_DWC"+level;
  
  		notZoom=false;
  	}
  	winState[level].count--;
  }catch(e){
    	var errLevel=level+1;
    	
      for(var i=errLevel;i<=9;i++){
        var errDiv = document.getElementById("FMJSD_DW"+i);
        if(winState[i]["interval"]!=null){
          window.clearInterval(winState[i]["interval"]);
          winState[i]["interval"]=null;
        }
    		if(errDiv){
      		errDiv.innerHTML = "";
      		errDiv.style.position = "absolute";
      		errDiv.style.width = "1px";
    	   	errDiv.style.height = "1px";
      	 	errDiv.style.left = "1000px";
      		errDiv.style.top = "1px";
      		errDiv.style.visibility="hidden";
          
          var errDimmerDiv=document.getElementById("dimmer"+i);
          if(errDimmerDiv){
           errDimmerDiv.style.position = "absolute";
      		 errDimmerDiv.style.width = "1px";
      		 errDimmerDiv.style.height = "1px";
      	 	 errDimmerDiv.style.left = "1000px";
      		 errDimmerDiv.style.top = "1px";
      		 errDimmerDiv.style.visibility = "hidden";

          }    	
      		
      		//DivID = "FMJSD_DW"+level
    	   	//DivContID="FMJSD_DWC"+level;
      	
    		  //notZoom=false;
        
        }
          	
    		
      }
    	
  
  
  }

}

function closeAll(){
  for(var i=9;i>0;--i){
  
        if(winState[i]["interval"]){
          window.clearInterval(winState[i]["interval"]);
      		winState[i]["interval"]=null;
        }
        
  
        var zolevel=i;
	      var zoDivID = "FMJSD_DW"+zolevel;
	      var zoDivContID="FMJSD_DWC"+zolevel;
     		
    	  var zoDiv=document.getElementById(zoDivID);
    	  var zoDivCont=document.getElementById(zoDivContID);
    	  var zoDimmer=document.getElementById("dimmer"+zolevel);
    	  if(zoDiv){
          if(zoDivCont){
            zoDivCont.innerHTML="";
          }
          zoDiv.innerHTML = "";
      		zoDiv.style.position = "absolute";
      		zoDiv.style.width = "1px";
      		zoDiv.style.height = "1px";
      		zoDiv.style.left = "1000px";
      		zoDiv.style.top = "1px";
      		zoDiv.style.visibility="hidden";
    	
        }
    	  if(zoDimmer){
          zoDimmer.style.position = "absolute";
      		zoDimmer.style.width = "1px";
      		zoDimmer.style.height = "1px";
      		zoDimmer.style.left = "1000px";
      		zoDimmer.style.top = "1px";
      		zoDimmer.style.visibility = "hidden";
      		zoDimmer.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
        	zoDimmer.style.MozOpacity =0;
          zoDimmer.style.opacity =0;
        }
    		   		
    		
   }  		
    		level=0;
    		DivID = "FMJSD_DW"+level
    		DivContID="FMJSD_DWC"+level;
    
    		notZoom=false;

  
  


}
//
//
function closeWindow(divId) 
{
  var zolevel=divId.substr(divId.length-1);
	var zoDivID = divId;
	var zoDivContID="FMJSD_DWC"+zolevel;
	
	if(isFireFox || isNetscape){
		document.getElementById(zoDivContID).style.MozOpacity="0";
		document.getElementById("dimmer"+zolevel).style.opacity="0";
		document.getElementById(zoDivContID).style.width = 1+"px";
		document.getElementById(zoDivContID).style.height = 1+"px";
		document.getElementById(zoDivContID).style.visibility ="hidden";
	}

	if(winState[zolevel]["interval"]==null){
		//winState[level]["interval"] = window.setInterval(zoomOutInterval,20);
	  winState[zolevel]["interval"] = window.setInterval(function(){
      
        try{  
        	if (winState[zolevel].count>1){
        
        		winState[zolevel].winL += winState[zolevel].winIX;
        		winState[zolevel].winT += winState[zolevel].winIY;
        		winState[zolevel].winW -= winState[zolevel].winIW;
        		winState[zolevel].winH -= winState[zolevel].winIH;
        		
        		document.getElementById(zoDivID).style.position = "absolute";
        		document.getElementById(zoDivID).style.width = winState[zolevel].winW+"px";
        		document.getElementById(zoDivID).style.height = winState[zolevel].winH+"px";
        		document.getElementById(zoDivID).style.left = winState[zolevel].winL+"px";
        		document.getElementById(zoDivID).style.top = winState[zolevel].winT+"px";
        		document.getElementById("dimmer"+zolevel).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+(winState[zolevel].count*6)+")";
        
        		document.getElementById("dimmer"+zolevel).style.MozOpacity =(winState[zolevel].count)/10;
        		document.getElementById("dimmer"+zolevel).style.opacity =(winState[zolevel].count)/10;
        	}
        	else{
        		window.clearInterval(winState[zolevel]["interval"]);
        		winState[zolevel]["interval"]=null;
        	
        		
        		document.getElementById(zoDivID).innerHTML = "";
        		document.getElementById(zoDivID).style.position = "absolute";
        		document.getElementById(zoDivID).style.width = "1px";
        		document.getElementById(zoDivID).style.height = "1px";
        		document.getElementById(zoDivID).style.left = "1000px";
        		document.getElementById(zoDivID).style.top = "1px";
        		document.getElementById(zoDivID).style.visibility="hidden";
        	
        		document.getElementById("dimmer"+zolevel).style.position = "absolute";
        		document.getElementById("dimmer"+zolevel).style.width = "1px";
        		document.getElementById("dimmer"+zolevel).style.height = "1px";
        		document.getElementById("dimmer"+zolevel).style.left = "1000px";
        		document.getElementById("dimmer"+zolevel).style.top = "1px";
        		document.getElementById("dimmer"+zolevel).style.visibility = "hidden";
        		
        		level=parseInt(zoDivID.substr(zoDivID.length-1))-1;
        		DivID = "FMJSD_DW"+level
        		DivContID="FMJSD_DWC"+level;
        
        		notZoom=false;
        	}
        	winState[zolevel].count--;
        }catch(e){
          if(document.getElementById(zoDivID))
            document.getElementById(zoDivID).style.visibility="hidden";
          if(document.getElementById("dimmer"+zolevel))
            document.getElementById("dimmer"+zolevel).style.visibility = "hidden";
          	
        
        
        }
            
            
          
          
          
          
          
          
    
    },20);
		
	}
}

//
//
//
function MouseDown(e) 
{
	if (over!=null)
    {
		//alert("DivID- "+DivID +" : over- "+over);	
		if(over==DivID){
        objDiv = document.getElementById(over);
		if (isMozilla) {
            X = e.layerX;
            Y = e.layerY;
        }
        else {
            objDiv = objDiv.style;
            X = event.offsetX;
            Y = event.offsetY;
			
        }}
    }
}


//
//
//
function MouseMove(e) 
{
    
		if (isMozilla) {
               	mouseX = e.pageX;
            	mouseY = e.pageY;
        }
        else {
	           	mouseX = event.clientX+document.body.scrollLeft;
    	       	mouseY = event.clientY+document.body.scrollTop;
		}
		
		
		
	if (objDiv) {
        if (isMozilla) {
            objDiv.style.top = (e.pageY-Y) + 'px';
            objDiv.style.left = (e.pageX-X) + 'px';
            return false;
        }
        else 
        {
            objDiv.pixelLeft = event.clientX-X + document.body.scrollLeft;
            objDiv.pixelTop = event.clientY-Y + document.body.scrollTop;
            return false;
        }
    }
}

//
//
//
function MouseUp() 
{
    objDiv = null;
}


//
//
//
function init()
{
    // check browser
    isMozilla = (document.all) ? 0 : 1;


    if (isMozilla) 
    {
        document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
    }

    document.onmousedown = MouseDown;
    document.onmousemove = MouseMove;
    document.onmouseup = MouseUp;

    // add the div used to dim the main map


}

// call init
init();

