Proj4js.defs["EPSG:2176"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["EPSG:2177"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["EPSG:2178"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["EPSG:2179"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["EPSG:2180"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["SR-ORG:6"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs" ;
Proj4js.defs["SR-ORG:14"]="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
Proj4js.defs["SR-ORG:43"]="+proj=sterea +lat_0=52.2385990793 +lon_0=21.0114585301 +k=1 +x_0=0 +y_0=-0 +ellps=GRS80 +units=m +no_defs";
Proj4js.defs["SR-ORG:95"]="+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +units=m +no_defs";

   var uk_1, uk_2;
   var projHash = {};
   function init_proj4js() {
      for (var def in Proj4js.defs) {
         projHash[def] = new Proj4js.Proj(def);
	}
   }


   function transform(xx,yy,sr,ds){
      Proj4js.reportError = function(msg) {alert(msg);}
      
	  uk_1 = projHash[sr];
	  uk_2 = projHash[ds];
     
      var pkt = new Proj4js.Point(0,0);
      pkt.x = xx;
      pkt.y = yy;
      pkt.z = 0;

      var p2 = Proj4js.transform(uk_1, uk_2, pkt);
      return p2;

   }

   function zamien_na_stopnie(p)
   {
    lat_st  = Math.round( p.y - 0.5 );
	lat_min = Math.round( ( ( p.y - lat_st ) * 60 ) - 0.5 );
	lat_sek = Math.round( ( ( ( ( p.y - lat_st ) * 60 ) - lat_min ) * 60 ) - 0.5 );
	lat_dz  = Math.round( ( ( ( ( ( p.y - lat_st ) * 60 ) - lat_min ) * 60 ) - lat_sek ) * 100 );
    lon_st  = Math.round( p.x - 0.5 );
	lon_min = Math.round( ( ( p.x - lon_st ) * 60 ) - 0.5 );
	lon_sek = Math.round( ( ( ( ( p.x - lon_st ) * 60 ) - lon_min ) * 60 ) - 0.5 );
	lon_dz  = Math.round( ( ( ( ( ( p.x - lon_st ) * 60 ) - lon_min ) * 60 ) - lon_sek ) * 100 );
	str_lat_st = lat_st + "°";
	str_lon_st = lon_st + "°";
	if (lat_dz<10) { str_lat_dz = "0" + lat_dz + "½"; } else { str_lat_dz = lat_dz + "½"; }
	if (lon_dz<10) { str_lon_dz = "0" + lon_dz + "½"; } else { str_lon_dz = lon_dz + "½"; }
	if (lat_min<10) { str_lat_min = "0" + lat_min + "´"; } else { str_lat_min = lat_min + "´"; }
	if (lat_sek<10) { str_lat_sek = "0" + lat_sek + "."; } else { str_lat_sek = lat_sek + "."; }
	if (lon_min<10) { str_lon_min = "0" + lon_min + "´"; } else { str_lon_min = lon_min + "´"; }
	if (lon_sek<10) { str_lon_sek = "0" + lon_sek + "."; } else { str_lon_sek = lon_sek + "."; }
	return str_lat_st + str_lat_min + str_lat_sek + str_lat_dz + ", " + str_lon_st + str_lon_min + str_lon_sek + str_lon_dz;

   }
