var cameraIcon = new GIcon();
cameraIcon.image = "http://maps.google.com/mapfiles/kml/pal4/icon46.png";
cameraIcon.iconSize = new GSize(17, 17);
cameraIcon.iconAnchor = new GPoint(9, 9);
cameraIcon.infoWindowAnchor = new GPoint(9, 9);

var cameraIconMed = new GIcon();
cameraIconMed.image = "http://maps.google.com/mapfiles/kml/pal4/icon46.png";
cameraIconMed.iconsSize = new GSize(24, 24);
cameraIconMed.iconAnchor = new GPoint(12, 12);
cameraIconMed.infoWindowAnchor = new GPoint (12, 12);

var cameraIconLarge = new GIcon();
cameraIconLarge.image = "http://maps.google.com/mapfiles/kml/pal4/icon46.png";
cameraIconLarge.iconsSize = new GSize(30, 30);
cameraIconLarge.iconAnchor = new GPoint(15, 15);
cameraIconLarge.infoWindowAnchor = new GPoint (15, 15);

var exclusionsList = new Array("cam172_30_4_226" );
var directionSortArr = {'north' : 1, 'south' : 2, 'east' : 3, 'west': 4, 'north_far': 1, 'south_far': 2, 'east_far': 3, 'west_far': 4};  

function readCameraFile(){
     new Ajax.Request('snapshots/cctvSnapshots.xml', {
       method: 'get',
       onSuccess: function(response) {
          var cameraArray = new Array();          
          var cameraXml = response.responseXML.documentElement;
          var cameras = cameraXml.getElementsByTagName("camera");
          for (var i = cameras.length-1; i >= 0; i--){
               var error = "";
               var id = extractText("id",cameras[i]);
               if(exclusionsList.indexOf(id) > -1) continue;
               var desc = extractText("description",cameras[i]);
               var lat = extractText("latitude",cameras[i]);
               var lon = extractText("longitude",cameras[i]);
               var camera = new Object();
               camera.snapshots = new Array();
               camera.id = id;
               var location = new Object();
               location.intersection = desc;
               location.lat = parseFloat(lat);
               location.lon = parseFloat(lon);
               camera.location = location;
               var approaches = $A(cameras[i].getElementsByTagName("approach"));
               if(approaches.length > 1) approaches = approaches.sort(directionSort);
               for (var j = 0; j < approaches.length; j++){
                    var direction = extractText("direction",approaches[j]);
                    var filename = extractText ("filename",approaches[j]);
                    direction = direction.substring(0,1).toUpperCase() + direction.substring(1,direction.length);
                    if(direction.indexOf("_") > 0) direction = direction.substring(0,direction.indexOf("_"));
                    var info = new Object();
                    info.direction = direction;
                    info.filename = filename;
                    camera.snapshots.push(info);          
               }
               cameraArray.push(new cameraIconClass(camera));
          }
          mapLayerArray.push(new iconLayerClass("camera",cameraLayerOn,cameraArray,document.getElementById("legendCamera")));
          checkLayerVisibility();    
     }          
   });
}

function directionSort(a, b){
        var dir1 = extractText("direction",a);
        var dir2 = extractText("direction",b);
	var x = parseInt(directionSortArr[extractText("direction",a)]);
	var y = parseInt(directionSortArr[extractText("direction",b)]);
        return x-y;
}


function extractText(text, nodeListItem){
     return nodeListItem.getElementsByTagName(text)[0].firstChild.data;
    // return node.firstChild.data;

     //return node.textContent?node.textContent:node.text;
}

function createCameraMarkers()
{
     readCameraFile();
}

