var kmlLayer;
var kmlUrl = new Array();
var kmlObj = new Array();
var kml2D = new Array();
var nLayers = 0;
var sel;

$(function() {
	// Accordion
/*
	$("#accordion").accordion({
		collapsible: true,
		autoHeight: false,
		navigation: true,
		fillSpace: false
	});
*/

   // kmlwidget    
    $('.kmlLayer input:checkbox').change(function() {        
        var kml = this.title;        
        if(this.checked) {
            addOverlay(kml);
        } else {
            removeOverlay(kml);
        }
    });

});

// AJAX XML feed for jQUERY ACCORDION NOT WORKING PROPOERLY IN IE!!!!
// SO JUST USE PHP TO POPULATE AND WRITE THE HTML

/**
*	Initialize the map and the search feature placeholder.
*/
function initMap() {
	//var url = 'mapConfig.php';
	//ajaxReq.send('GET', url, mapRequest);
   if (GBrowserIsCompatible()) {
   	map = new GMap2(document.getElementById("map"));
   	map.setCenter(new GLatLng(LATITUDE, LONGITUDE),ZOOM_LEVEL);
		map.setMapType(G_SATELLITE_MAP);
   	map.setUIToDefault();
		
		GEvent.removeListener(map, 'removeoverlay', function(overlay) { 
   	
		});
		GEvent.addListener(map, 'addoverlay', function(overlay) {
			
		});
   }
}

function getSelectedLayer(sel, kml) {
	this.sel = sel;
	if (sel.checked) {
		addOverlay(kml);
	} else {
		removeOverlay(kml);
	}
}

var geoXmlCallback = function() {
  if (kmlLayer.hasLoaded())  {
	  // CHECK FOR LOAD ERRORS
  }
}

function addOverlay(target) {
	// store the kml's url and GGeoXML object
	var kmlSet = new Array();
    kmlLayer = new google.maps.KmlLayer(target, {preserveViewport:true});
    kmlLayer.setMap(map);
	
	kmlSet[0] = target;		// unique path (or id)
	kmlSet[1] = kmlLayer;	// GGeoXML to be used for adding/removing to/from map
	
	kml2D[nLayers] = kmlSet;
	kml = [];
	nLayers++;
}

function removeOverlay(target) {
	for (var i = 0; i < nLayers; i++) {
		if (kml2D[i][0] == target) {
            kml2D[i][1].setMap(null);
			kml2D.remove(i);
			break;
		}
	}
	nLayers--;
}

// Array Remove
Array.prototype.remove = function(from, to) {
	var rest = this.slice((to || from) + 1 || this.length);
  	this.length = from < 0 ? this.length + from : from;
  	return this.push.apply(this, rest);
};

/*
function rollOverHandler(imgId, img_src) {
	$("#"+imgId+"").attr("src", "img_src");
	//$('#'+imgId+')'.src = img_src;
}
*/

// new accordion code to deal with live jquery issue
//$('.acc_layers').hide();
$('.acc_head').live('click', function(){
 //    $('.acc_layers').slideUp('fast');
    $(this).next().slideToggle('fast');
    if($('.acc_layers').is(":visible")) {
        $('.acc_layers').hide();
    }
     return false;
});

function iconCloseHandler() {
	//$('#closeIcon').click(function() {
  		$('#accordion').fadeOut('slow', function() {
    		// Animation complete.
			//$('#accordionContainer').fadeOut('slow', function() {
			//});
  		});
	//});
}

function iconOpenHandler() {
	$('#accordion').fadeIn('slow', function() {
    	// Animation complete.
  	});
}

