// JavaScript Document
var lv = false;
var satNav = true;
var offers = false;
var onload = true;

var rootImageDirectory = "widget/img/";
var rootApplicationDirectory = "widget/";

function configure(tools, comms, zoomLevel, offersValue){
	if(zoomLevel != 0){
		mapZoomLevel = zoomLevel;
	}
	if(tools == 2){
		satNav = false;
	}
	if(offersValue == 2){
		offers = false;
	}
	if(comms == 2){
		lv = false;
	}else{
		//getLouderVoiceCSS();
	}
}

function setData(rootID, categories, radius){
	retrieveLayers(rootID, categories, radius);
}

function retrieveLayers(rootID, categories, radius){
	if(radius == null || radius == 0){
		radius = 5;
	}
	url = rootApplicationDirectory+"retrieveLayersSpatial.php";
	var xmlHttp2 = getXMLHttp();
		xmlHttp2.onreadystatechange = function(){
			if(xmlHttp2.readyState == 4){
				parseLayersXML(xmlHttp2.responseText);
			}
		}
   		xmlHttp2.open("GET", url, true);
   		xmlHttp2.send(""); 
}

function getXMLHttp(){
		var xmlHttp
		try{
			xmlHttp = new XMLHttpRequest();
		}
		catch(e){
			try{
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");			
			}
			catch(e){
				try{
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e){
					alert("Your browser does not support AJAX!")
					return false;				
				}
			}
		}
	return xmlHttp;
}


function handlePOIResponse(response){
	var plain = hex2bin(response);
	xml = rot13(plain); 
	return xml;	
}

var rot13map;
var _hex2bin = [
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, // 0-9
   0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A-F
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, // a-f
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];

function hex2bin(str){
  var len = str.length;
  var rv = [];
  var i = 0;
  var k = 0;

  var c1;
  var c2;

  while (len > 1){
	  h1 = str.charAt(i++);
	  c1 = h1.charCodeAt(0);
	  h2 = str.charAt(i++);
	  c2 = h2.charCodeAt(0);
	  
	  rv[k] = String.fromCharCode((_hex2bin[c1] << 4) + _hex2bin[c2]);
	  len -= 2;
	  k++;
  }
  return rv.join("");
}

function rot13init(){
	var map = new Array();
	var s   = "abcdefghijklmnopqrstuvwxyz";
	
	for (var i = 0; i < s.length; i++){
	  map[s.charAt(i)] = s.charAt((i + 13) % 26);
	}
	
	for (i = 0; i < s.length; i++){
	  map[s.charAt(i).toUpperCase()] = s.charAt((i + 13) % 26).toUpperCase();
	}
	return map;
}

function rot13(a){
	if (!rot13map){
	  rot13map = rot13init();
	}
	var s = [];
	var l = a.length;
	var i = 0;
	
	while(i < l){
	  var b = a.charAt(i);
	  s[i] = ((b >= 'A' && b <= 'Z') || (b >= 'a' && b <= 'z') ? rot13map[b] : b);
	  i++;
	}
	
	return s.join("");
  }

