

[].indexOf || (Array.prototype.indexOf = function(v){
       for(var i = this.length; i-- && this[i] !== v;);
       return i;
});



function xmlRequest(url,handler){
      if(document.URL.indexOf("file://")==0){
              try {
                 netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
                } catch(e){} 
      }
      if(document.URL.indexOf("file://")==0){
          //	url = "http://localhost:8080/googmap/" + url;
	        url = "http://192.168.1.32:8080/googmap/" + url;
      } 
      appendTxt("XmlGet  using url : " + url);
      var request;
      if (window.ActiveXObject)  
      {
                    try {
                        request = new ActiveXObject("Msxml2.XMLHTTP");
                        appendTxt("ok Msxml2");

                    } catch (e) {
                        try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                        appendTxt("ok xmlhttp");
                        } catch (e) {}
                    }
      } else {
         request = new XMLHttpRequest();  
      }
      
      request.onreadystatechange = function() { handler.apply(this,[ request ] ); };
      request.open("GET",url,true);
      request.send(null);
}

function xmlPostRequest(url,xmlDoc,handler){
      if(document.URL.indexOf("file://")==0){
              try {
                 netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
                } catch(e){} 
//              url = "http://localhost:8080/googmap/" + url;
                url = "http://192.168.1.32:8080/googmap/" + url;

      }
      appendTxt("XmlPost using url : " + url);

      var request;
      if (window.ActiveXObject)  
      {
                    try {
                        request = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                    }
      } else {
         request = new XMLHttpRequest();  
      }
      
      request.open("POST",url,true) ;
  
      request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      request.onreadystatechange = function() { handler.apply(this,[ request ] ); };
      request.send(xmlDoc);

}


function getIcon(image){
    var icon = new GIcon();
    icon.image = image;
    icon.iconAnchor = new GPoint(8, 8);
    icon.iconSize = new GSize(15, 15);
    icon.infoWindowAnchor = new GPoint(13, 3);
   
    return icon;
}
function getPoiIcon(){
    var icon = new GIcon();
    icon.image = "img/poi.gif";

    icon.iconAnchor = new GPoint(6, 6);
    icon.iconSize = new GSize(12, 12);
    icon.infoWindowAnchor = new GPoint(11, 3);
   
    return icon;
}

function getPointIcon(hasPoi){
    if(hasPoi === true) {
        return getIcon("img/editablePoint_poi.gif");
    } 
    return getIcon("img/editablePoint.gif");
}
function getModPointIcon(hasPoi){
    if(hasPoi === true) {
        return getIcon("img/editablePointMod_poi.gif");
    } 
    return getIcon("img/editablePointMod.gif");
}
function getLastPointIcon(){
    return getIcon("img/editablePointLast.gif");
}
function getNextPointIcon(){
    return getIcon("img/editablePointNext.gif");
}               

function Point(xmlPoint) {
    this.lat = xmlPoint.getAttribute("lat");
    this.lng = xmlPoint.getAttribute("lng");
    this.level = parseInt( xmlPoint.getAttribute("zlevel"));
    this.id = parseInt( xmlPoint.getAttribute("id"));
    this.isVeryLast = xmlPoint.getAttribute("isVeryLast") != null;
}

function getNormZoomLevel(cZoom){
    for(var z = 0 ; z < zLevels.length;z++){
        if(zLevels[z][1] >= cZoom ){
            return z;
        } 
    }
	return z;
}

var zLevels = [
               [512,  1 ,"#105D50"]
		  ,[256,  2 ,"#2F2522"]
		  ,[64 ,  4 , "#600F60"]
		  ,[16 ,  6 , "#00FF00"]
              ,[ 4 ,  8 , "#d2691e"]
              ,[ 1 , 10 , "#AA00AA"] 
              ,[.25, 12 , "#0D0D10"]
              ,[ .05, 18 , "#000000"]                
            ];

