


  var pbx = 0;
  var pby = 0;
  var sbx = 0;
  var sby = 0;
  var sex = 0;
   var sey = 0;
   var obx = -180;
   var oby = -90;
  var oex = 180;
  var oey = 90;
   //var sel = 0;
  var mh = 400;
  var mw = 670;
  var loado=0;
 // var xmlType = 0;

//  var mapDef1 ="";
  var mapDef2 = "BBOX=-180,-90,180,90";
//  var mapDef3 = "&WIDTH=670&HEIGHT=400";
  var mapDef4 = ""
//"LAYERS=";
  var mapDef5 =""; 
"STYLES=";
//  var mapDef6 = "&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE";
//  var mapDef7 = "";

  var mapSrc  = "";
//  var mapSrc1 = mapDef1;
  var mapSrc2 = mapDef2;
//  var mapSrc3 = mapDef3;
  var mapSrc4 = mapDef4;
  var mapSrc5 = mapDef5;
//  var mapSrc6 = mapDef6;
//  var mapSrc7 = mapDef7;
/*
  function setDate(){
    if(document.request.dt.value!="") return;
    d = new Date();
    m = d.getUTCMonth() + 1;
    if(m<10) m = "0" + m;
    n = d.getUTCDate();
    if(n<10) n = "0" + n;
    document.request.dt.value = d.getUTCFullYear()+"-"+m+"-"+n;
  }*/
////////////////////////////////////////////////////
  function over(x,y){
if(loado==0) {
	   setOc();
	}
	
    cpx.value=subStr(Math.round(obx+x/mw*(oex-obx)));
    cpy.value=subStr(Math.round(oby+(mh-y)/mh*(oey-oby)));
  }
///////////////////////////////////////////////////
  function subStr(wr){
    var i = wr.toString().indexOf(".");
    if(i!=-1) {
      i += 3;
      wr = wr.toString().substring(0, i);
    }
    return wr.toString();
  }
///////////////////////////////////////////
function checkNumber(d1)
  {
    var pattern =/^[0-9.,-]+$/
    if (pattern.exec(d1) != null)
      {
      return true;
      }
  //alert("not  Number");

  return false;
  }

////////////////////////////////////////////////////
  function checkdate(){
var d=document.request.dt.value;
var i = d.indexOf("-");
var tmp;
var gg;
var dd;
var mm;
var pr=true;
gg=d.substring(0,i);
//var l=gg.length;
if(i!=4){ alert("Ошибка в поле Дата. Проверьте год");
document.request.dt.focus();
pr=false;
}
if(!checkNumber(gg)){
 alert("Ошибка в поле Дата. Нечисловой символ");
document.request.dt.focus();
pr=false;
}
tmp=d.substring(i+1);
i = tmp.indexOf("-");
mm=tmp.substring(0,i);
mm=((mm<10 &mm.length==1) ? "0" : "")+mm;
if(mm>12){
alert("Ошибка в поле Дата.   Месяц больше 12");
document.request.dt.focus();
pr=false;
}
if(mm<1){
alert("Ошибка в поле Дата.   Месяц меньше 1");
document.request.dt.focus();
pr=false;
}
if(mm.length>2){
alert("Ошибка в поле Дата.   Месяц больше двух цифр:("+mm+")");
document.request.dt.focus();
pr=false;
//alert(tmp);
}
if(!checkNumber(mm)){
 alert("Ошибка в поле Дата. Нечисловой символ");
document.request.dt.focus();
pr=false;
}
//////////////////// day
tmp=tmp.substring(i+1);
dd=((tmp<10 & tmp.length==1 ) ? "0" : "")+tmp;

if(dd>31){
alert("Ошибка в поле Дата.   День больше 31:"+dd);
document.request.dt.focus();
pr=false;
}
if(dd<1){
alert("Ошибка в поле Дата.   День 01:"+dd);
document.request.dt.focus();
pr=false;
}
if(dd.length>2){
alert("Ошибка в поле Дата.   День больше двух цифр:("+dd+")");
document.request.dt.focus();
pr=false;
//alert(tmp);
}
if(!checkNumber(dd)){
 alert("Ошибка в поле Дата. Нечисловой символ");
document.request.dt.focus();
pr=false;
}
//////////////////////////////////
if((mm==04 || mm==06 || mm==09 || mm==11) & dd>30){
alert("Ошибка в поле Дата.   День больше 30");
document.request.dt.focus();
pr=false;
}
if((mm==02 ) & dd>29){
alert("Ошибка в поле Дата.   День больше 29");
document.request.dt.focus();
pr=false;
}
//////////////////////////////
var da=gg+"-"+mm+"-"+dd;
//Date dtemp=new Date(gg,mm-1,dd,0,0);
document.request.dt.value=da;
return pr;

}
//////////////////////////////////////////////////////////
  function scale(){

    var ch = false;
    var feat = "";
    var wr;
//alert("start");
    mapSrc2 = getExt();
    mapSrc4 = mapDef4;
    mapSrc5 = mapDef5;
    endFence () ;
   if(!checkdate()) return;
    var len = document.request.tbl.length;
    var ind=0;
   if(!checkseliz()) {alert("Выберите вид изолинии"); return;}
    for(i=0;i<len;i++){
      var obj = document.request.tbl[i];
      var val = obj.value.toString();
      if (obj.checked){
//        alert(obj.value);
        var k = val.indexOf(";");
        var lay = val.substring(0, k);
     
         if(ind==0){
        mapSrc4 += lay;
       mapSrc5 += val.substring(k+1);
 
       ind=1;
        }else{
        mapSrc4 += "," + lay;
        mapSrc5 += "," + val.substring(k+1);
         }
         
      }
      //28.04.2005else{obj.disabled=true;}
    }
  // alert(" mapSrc4="+ mapSrc4);
//   alert(" mapSrc5="+ mapSrc5);
//   alert(" mapSrc2="+ mapSrc2);
 obx = sbx;
    oby = sby;
    oex = sex;
    oey = sey;
    document.request.clear.value='n'; 
    document.request.daten.value="TIME="+getSelDate();
    document.request.lay.value=mapSrc4;
    document.request.style.value=mapSrc5;
     document.request.bb.value=mapSrc2;
     loado=0;
   document.request.submit();

  }
///////////////////////////////////////////////////////////////////////////////
 function checkseliz(){
  var len = document.request.tbl.length;
    var ind=0;
 
    for(i=0;i<len;i++){
      var obj = document.request.tbl[i];
      var val = obj.value.toString();
      if (obj.checked) return true;
     }
    return false;
  }
////////////////////////////////////////////////////////////
//**********************************************
  function setOc(){
   var tbb=document.request.bb.value
   var i;
   var tmp="";
    i = tbb.indexOf(",");
    if(i!=-1) {
    tmp=tbb.substring(0, i);
     	
    tbb=tbb.substring(i+1);
     i = tmp.indexOf("=");
       if(i!=-1) {
        tmp=tmp.substring(i+1);
        obx=tmp/1;
     //    alert("setOc S BBOX:");	
}
else obx=tmp/1;
 //alert("obx="+obx);
    loado=1;
        }
//    alert("tbb2="+tbb);     
  i = tbb.indexOf(",");
    if(i!=-1) {
    tmp=tbb.substring(0, i);
    oby=tmp/1;	
    tbb=tbb.substring(i+1);
        }
//     alert("tbb3="+tbb);          
  i = tbb.indexOf(",");
    if(i!=-1) {
    tmp=tbb.substring(0, i);
    oex=tmp/1;	
    tbb=tbb.substring(i+1);
}
//  alert("tbb4="+tbb);     
     oey=tbb/1;
     	}
//***********************************************
  function getExt(){
    var sw;
    var sh;
    var tx;
    var ty;
    var wr;
    var dx, dy, dxy;
//alert("start getExt");
 if(loado==0)    setOc();
   
    sbx = document.request.mbx.value/1;
    sby = document.request.mby.value/1;
    sex = document.request.mex.value/1;
    sey = document.request.mey.value/1;

    if(sbx>sex){
      wr = sbx;
      sbx = sex;
      sex = wr;
    }
    if(sby>sey){
      wr = sby;
      sby = sey;
      sey = wr;
    }

    dx = sex-sbx;
    dy = (sey-sby)*2;
    if(dx>dy){
      dxy = dx-dy;
      sby = sby-dxy/4;
      sey = sey+dxy/4;
    }else{
      dxy = dy-dx;
      sbx = sbx-dxy/2;
      sex = sex+dxy/2;
    }
     if(sbx<obx) sbx=obx;
     if(sby<oby) sby=oby;
     if(sex>oex) sex=oex;
     if(sey>oey) sey=oey;
     
     sbx=Math.round(sbx);
     sby=Math.round(sby);
     sex=Math.round(sex);
     sey=Math.round(sey);
    
    document.request.mbx.value = sbx;
    document.request.mby.value = sby;
    document.request.mex.value = sex;
    document.request.mey.value = sey;


//  var a="&BBOX=" + sbx + "," + sby + "," + sex + "," + sey;
//  alert("a="+a);
    return "BBOX=" + sbx + "," + sby + "," + sex + "," + sey;
  }
//********************************************************
  function getSelDate(){
//alert("gg");
var selNum =document.request.hh.selectedIndex;
var Isel = document.request.hh.options[selNum].value;
    return document.request.dt.value + "T" + Isel+"Z";
          
  }

//****************************************
  function newMap(){
  // xmlType=2;
  // oDiv.filters[0].clear();
  // oDiv.filters[0].addAmbient(255, 255, 255, 100);
  // map.src = mapDef1 + mapDef2 + mapDef3 + mapDef4 + mapDef5 + mapDef6 + mapDef7;
   // var maps = mapDef1 + mapDef2 + mapDef3 + mapDef4 + mapDef5 + mapDef6 + mapDef7;
   //==================================
 document.request.clear.value='m'; 
   endFence () ;
    var len = document.request.tbl.length;
      for(i=0;i<len;i++){
      var obj = document.request.tbl[i];
      obj.checked=false; 
      obj.disabled=false; 
           }
  //======================================
//window.frames ['frmMapsContent'].location.replace ("maps1.jsp?mapaction=*");
    pbx = 0;
    pby = 0;
    sbx = 0;
    sby = 0;
    sex = 0;
    sey = 0;
   // sel = 0;
    obx = -180;
    oby = -90;
    oex = 180;
    oey = 90;
    document.request.mby.value ="-90.0";
    document.request.mey.value ="90.0";
    document.request.mbx.value ="-180.0";
    document.request.mex.value ="180.0";
     document.request.bb.value="BBOX=-180,-90,180,90";
   cpx.value ="";
   cpy.value ="";
   document.request.action="index.jsp";
   loado=0;
   document.request.submit();
  }

/////////////////////

//*****************************************************
//     Following Functions are for mouse movement
//*****************************************************
   //handle mouse on move
function processMouseMove (evt) {
	var pixelX;
	var pixelY;
//evt only used by Netscape N. , window.event is used by IE	
  if (document.all) {//IE
		
//following is to show coordiante and drawFence
  if (event.srcElement.tagName == 'IMG' && event.srcElement.name=='mapimage'){

      pixelX = event.offsetX + originalLeft;
      pixelY = event.offsetY + originalTop;
      over(event.offsetX,event.offsetY);
        
     
      if ( flgfencing ) {
      drawFence (x1,y1,pixelX , pixelY );
			}
									     }
		   else
		   return false;
			}
//=========================================================
	else if (document.getElementById) { //for NN6.0
	
	if (evt.target.tagName =='IMG'&& evt.target.name == 'mapimage') {
	pixelX = evt.pageX - originalLeft; 
	pixelY = evt.pageY - originalTop;
	if ( flgfencing )
	drawFence (x1,y1, evt.pageX , evt.pageY );
									}
	else return false;
	}
						
	return false; //this is to disable drag and drop
	}
//**********************************************
function clickCheck (evt) {  
// alert("Start clickCheck");

  if (document.all) { //IE
     // right click
     if(event.button == 3 || event.button == 2 ) 
       { return false ;}
  
     if (event.srcElement.tagName == 'IMG'){
     if (event.srcElement.name == "mapimage")  {
     	endFence () ; //?????????
	 ProcessMapClick (event.offsetX, event.offsetY);
			                        }
	}	
	else return true;
     return false;
   } //IE
   
  //NN6.0
  else if (document.getElementById) { //1
  
    	if (evt.which == 3 || evt.which == 2) { //no right click
			return true ;
		                               }
        if (evt.target.tagName == 'IMG'){
        if ( evt.target.name == "mapimage") {
        	endFence () ; //?????????
	ProcessMapClick (evt.pageX - originalLeft, evt.pageY - originalTop);
		                             }
	                                 }
	else return true;
        return false;
      }//1
}
//////////////////////////////////////////////////////////////////////
function ProcessMapClick(pixelX, pixelY) {
			x1 = pixelX + originalLeft;
			y1 = pixelY + originalTop;
			flgfencing = true;			
			iniitializeFence();
    			return true;
                                             }
/////////////////////////////////////////////////////////////////////////////
//================================================================
//Following Functions are used for Fence

function iniitializeFence(){
	var tempstyle;
	if (document.all) { //IE
		document.all ["fenceTop"].style.backgroundColor = '#ffccff';
		document.all ["fenceTop"].style.visibility = 'visible';
	
		document.all ["fenceBottom"].style.backgroundColor = '#ffccff';
		document.all ["fenceBottom"].style.visibility = 'visible';
	
		document.all ["fenceLeft"].style.backgroundColor = '#ffccff';
		document.all ["fenceLeft"].style.visibility = 'visible';
	
		document.all ["fenceRight"].style.backgroundColor = '#ffccff';
		document.all ["fenceRight"].style.visibility = 'visible';
		}		
	//for NN6.0
	else if (document.getElementById){			
		tempstyle = document.getElementById ("fenceBottom").style;
		tempstyle.visibility = 'visible';
		tempstyle.backgroundColor = '#ffccff';
			
		tempstyle =  document.getElementById ("fenceTop").style;
		tempstyle.visibility = 'visible';
		tempstyle.backgroundColor = '#ffccff';
			
		tempstyle =  document.getElementById ("fenceLeft").style;
		tempstyle.visibility = 'visible';
		tempstyle.backgroundColor = '#ffccff';
			
		tempstyle =  document.getElementById ("fenceRight").style;
		tempstyle.visibility = 'visible';
		tempstyle.backgroundColor = '#ffccff';			
			}
	}
//////////////////////////////////////////////////////////////////////////////////////////////////
function drawFence (x1,y1, x2, y2) {
		var fencetop, fencebottom, fenceleft,fenceright;
		if (x1>x2){
				fenceleft = x2;
				fenceright = x1;
			}
		else	{
				fenceleft = x1;
				fenceright = x2;				
			} 
		if (y1>y2){
				fencetop = y2;
				fencebottom = y1;
			}
		else	{
				fencetop = y1;
				fencebottom = y2;
			}
			
		minx = fenceleft - originalLeft;
		maxx = fenceright - originalLeft;
		miny = fencetop - originalTop;
		maxy = fencebottom - originalTop;
		
		if (document.all) {//IE	
			document.all ['fenceTop'].style.left = fenceleft;
			document.all ['fenceTop'].style.top = fencetop;
			document.all ['fenceTop'].style.width = fenceright- fenceleft;
			
			var drawstylebottom = document.all ['fenceBottom'].style;
				drawstylebottom.left = fenceleft;
				drawstylebottom.top = fencebottom - 3;
				drawstylebottom.width = fenceright - fenceleft;
		
			var drawstyleleft = document.all['fenceLeft'].style;
				drawstyleleft.left = fenceleft ;
				drawstyleleft.top = fencetop ;
				drawstyleleft.height = fencebottom - fencetop;
		
			var drawstyleright = document.all['fenceRight'].style;
				drawstyleright.left = fenceright - 3 ;
				drawstyleright.top = fencetop ;
				drawstyleright.height = fencebottom - fencetop;
			}
		else if (document.getElementById) {//NN		
			//notice the border's size is 3
			var drawstyletop = document.getElementById ('fenceTop').style;
				drawstyletop.left = fenceleft ;
				drawstyletop.top = fencetop ;
				drawstyletop.width = fenceright - fenceleft;
		
			var drawstylebottom = document.getElementById ('fenceBottom').style;
				drawstylebottom.left = fenceleft;
				drawstylebottom.top = fencebottom - 3;
				drawstylebottom.width = fenceright - fenceleft;
		
			var drawstyleleft = document.getElementById ('fenceLeft').style;
				drawstyleleft.left = fenceleft ;
				drawstyleleft.top = fencetop ;
				drawstyleleft.height = fencebottom - fencetop;
		
			var drawstyleright = document.getElementById ('fenceRight').style;
				drawstyleright.left = fenceright - 3 ;
				drawstyleright.top = fencetop ;
				drawstyleright.height = fencebottom - fencetop;
			}
	}


 ///////////////////////////////////////////////////////////
function endFence () {

	var tempstyle;
	if (document.all) {//IE	
			tempstyle = document.all ["fenceTop"].style;
			tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;
		                 tempstyle.width = 0;
		                 tempstyle = document.all ["fenceBottom"].style;						tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;
			tempstyle.width = 0;
			tempstyle = document.all ["fenceLeft"].style;
			tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;	
			tempstyle.height = 0;
			tempstyle = document.all ["fenceRight"].style;
			tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;
			tempstyle.height = 0;
		
		}
		
	else if (document.getElementById) {//NN
			tempstyle = document.getElementById ("fenceTop").style;
			tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;
			tempstyle.width = 0;
			tempstyle = document.getElementById ("fenceBottom").style;
      					tempstyle.visibility = 'hidden';	
			tempstyle.top = 0;
			tempstyle.left = 0;
			tempstyle.width = 0;
			tempstyle = document.getElementById ("fenceLeft").style;
			tempstyle.visibility = 'hidden';
			tempstyle.top = 0;
			tempstyle.left = 0;
			tempstyle.height = 0;
			tempstyle = document.getElementById ("fenceRight").style;	
			tempstyle.visibility = 'hidden';	
			tempstyle.top = 0;		
			tempstyle.left = 0;	
			tempstyle.height = 0;
			}
//alert("end endFence ");
}
//////////////////////////////////////////////////////////
function processMouseUp (evt ) {

    var x,y;

    if (document.all) {//IE
 	// right click
	if(event.button == 3 ||event.button == 2 ) 
			{ return true ;}		
	}    else if (document.getElementById) {
      	if (evt.which == 3 || evt.which == 2) { //no right click
	return true ;
		}	
		}	
if (flgfencing) {
//alert("processMouseUp");
		flgfencing = false;
   
 var tmp, mx,mn;

 if(loado==0)   setOc();
 if(minx==0 & maxx==0 &miny==0 & maxy==0) return;
    if( minx>maxx){ tmp=maxx; maxx=minx; minx=tmp;}
    if( miny>maxy){ tmp=maxy; maxy=miny; miny=tmp;}
     sbx = subStr(Math.round(obx+minx/mw*(oex-obx)));
     sby = subStr(Math.round(oby+(mh-miny)/mh*(oey-oby)));
     sex = subStr(Math.round(obx+maxx/mw*(oex-obx)));
     sey = subStr(Math.round(oby+(mh-maxy)/mh*(oey-oby)));
     mn=sby/1.0;
     mx=sey/1.0;
     if( mn>mx){ tmp=mx; mx=mn; mn=tmp;}
     sby=subStr(Math.round(mn));
     sey=subStr(Math.round(mx));
     mn=sbx/1.0;
     mx=sex/1.0;
     if( mn>mx){ tmp=mx; mx=mn; mn=tmp;}
     sbx=subStr(Math.round(mn));
     sex=subStr(Math.round(mx));

    document.request.mbx.value=sbx;
    document.request.mby.value=sby;


    document.request.mex.value=sex;
    document.request.mey.value=sey;


			var fenceInPixel = minx + ',' + miny + ',' + maxx + ',' + maxy;	
	
	}
	
	
	
	return true;
}
////////////////////////////////////
function keepToggleMap () {
//alert("Start keepToggleMap");
var str='divMap';
   for(i=0;i<countmap1;i++){
if (document.all && document.all [str+(i+1)]) {
			//   alert(" keepToggleMap:  divmap1");
document.all [str+(i+1)].style.visibility = 'visible'; 	
                                                                          }		
else if (document.getElementById && document.getElementById (str+(i+1)))
document.getElementById (str+(i+1)).style.visibility = 'visible';
   
}
}
/////////////////////////////////

///////////////////////////////
function toggleMap (chkbx) {
  //var mapid = 'div' + chkbx.name;
var mapid ;
var val=chkbx.value;
var k = val.indexOf(";");
        var lay = val.substring(0, k);
mapid = 'div' + lay;

//alert(" toggleMap:"+mapid);
  if (chkbx.checked) { 
  
		if (document.all && document.all (mapid) )
		 document.all (mapid).style.visibility = 'visible';
		else if (document.getElementById && document.getElementById (mapid))
			document.getElementById (mapid).style.visibility = 'visible';
		 
		 }
  else {
	if (document.all && document.all (mapid))
		document.all (mapid).style.visibility = 'hidden';
	else if (document.getElementById && document.getElementById (mapid))
		document.getElementById (mapid).style.visibility = 'hidden';

		}
  }

////////////////////////////////////////////
function toggleMap1 (chkbx) {
//
var mapid;
var str="";
var val=chkbx.value; 
var countmap1=1;
for(var i=0; i<countmap1;i++){
str="test"+(i+1);
if(val==str){ mapid= 'divMap'+(i+1); break;}
}

  if (chkbx.checked) { 
  
		if (document.all && document.all (mapid) )
		 document.all (mapid).style.visibility = 'visible';
		else if (document.getElementById && document.getElementById (mapid))
			document.getElementById (mapid).style.visibility = 'visible';
		 
		 }
  else {
	if (document.all && document.all (mapid))
		document.all (mapid).style.visibility = 'hidden';
	else if (document.getElementById && document.getElementById (mapid))
		document.getElementById (mapid).style.visibility = 'hidden';

		}
  }
///////////////////////////////////////////////////
  function SelectClicked()
{

//document.request.action="index.jsp";

document.request.submit();
// alert('start');
newMap();
document.request.reset();
//document.request.submit();
//alert('end');

}
///////////////////////////////////////
function ohelp(){
// window.open("help.jsp","subwin", "height=500,width=800,status=no,toolbar=no,menubar=no,location=no");
window.open("help.jsp","", "height=500,width=800,status=no,toolbar=no,menubar=no,location=no");

}
/////////////////////////////////////
