var gmap = null;
var gmarkers = [];
var gicons = [];
var gpolys = [];
var findTask = null;
var params = null;
var mapExtension = null;
var gOverlays = null;

function initialize() {
  if (GBrowserIsCompatible())
  {
    //Load Google Maps
    gmap = new GMap2(document.getElementById("gmap"));
    var centerat = new GLatLng(33.873, -117.925);
    gmap.addControl(new GLargeMapControl3D(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,35)));
    gmap.addControl(new GMapTypeControl());
    gmap.setCenter(centerat, 15); //19 farthest in, 13 farthest out
    gmap.enableScrollWheelZoom();
    gmap.addControl(new GScaleControl());
    //gmap.enableGoogleBar(); //extra
    
    // Overwrite the getMinimumResolution() and getMaximumResolution() methods
    var mt = gmap.getMapTypes();
    for (var i=0; i<mt.length; i++) 
    {
        mt[i].getMinimumResolution = function() {return 13;}
        mt[i].getMaximumResolution = function() {return 19;}
    }
    
    //start transportation ctr
    var transCtr = new GPolygon([
        new GLatLng(33.869805,-117.923668),
        new GLatLng(33.869823,-117.922826),
        new GLatLng(33.870197,-117.922837),
        new GLatLng(33.870197,-117.922166),
        new GLatLng(33.869734,-117.922177),
        new GLatLng(33.869721,-117.92127),
        new GLatLng(33.869378,-117.921259),
        new GLatLng(33.869378,-117.920358),
        new GLatLng(33.869663,-117.920358),
        new GLatLng(33.869658,-117.91995),
        new GLatLng(33.868407,-117.919934),
        new GLatLng(33.868358,-117.923942),
        new GLatLng(33.868701,-117.923947),
        new GLatLng(33.868705,-117.923652),
        new GLatLng(33.869805,-117.923668)],"#f33f00", 2, 1, "#ff0000", 0.1
        );
    
    GEvent.addListener(transCtr, "click", GEvent.callbackArgs(transCtr, onClickCtrFunc));
    GEvent.addListener(transCtr, "mouseout", onMouseOutTransFunc);
    gmap.addOverlay(transCtr);
    //end transportation ctr
    
    mapExtension = new esri.arcgis.gmaps.MapExtension(gmap);
    findTask = new esri.arcgis.gmaps.FindTask("/arcgis/rest/services/Downtown/MapServer");
    params = new esri.arcgis.gmaps.FindParameters();
    params.layerIds = [4];
    params.searchFields = ["NAME","ADDRESS","URL"];
                           
    //start Bar query
    qBarTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/0");	
    var qBar = new esri.arcgis.gmaps.Query();
    var barBounds = gmap.getBounds();
    qBar.queryGeometry = barBounds;
    qBar.outFields = ["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
	//qBar.where = "BIZ_TYPE LIKE '%Bar%'";
	qBar.where = "BIZ_TYPE LIKE 'Bar%' or BIZ_TYPE Like '%/Bar%' or BIZ_TYPE Like '%/%/Bar%'";
	qBarTask.execute(qBar, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Bar";
        var features = featureSet.features, geometry, attributes;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                var iconOptions = {};
                iconOptions.width = 23;
                iconOptions.height = 23;
                iconOptions.primaryColor = "#000560FF"//"#0200BAFF";
                iconOptions.cornerColor = "#A7DBFFFF"//"#0097FFFF";
                iconOptions.strokeColor = "#0004D6FF"//"#00437EFF";
                gicons[i]=MapIconMaker.createMarkerIcon(iconOptions);
                var latLong = geometry[j].getLatLng();
                var marker = createMarker(latLong,gicons[i],attributes,layer);
                //gmap.addOverlay(marker);                    
            }
        }
        hide(layer);
    }); //end of Bar

    //start Restaurant query
    qRestTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/0");	
    var qRest = new esri.arcgis.gmaps.Query();
    var restBounds = gmap.getBounds();
    qRest.queryGeometry = restBounds;
    qRest.outFields = ["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
	qRest.where = "BIZ_TYPE LIKE 'Restaurant%'";    
    qRestTask.execute(qRest, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Restaurant";
        var features = featureSet.features, geometry, attributes;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                var iconOptions = {};
                iconOptions.width = 23;
                iconOptions.height = 23;
                iconOptions.primaryColor = "#0063F0FF";
                iconOptions.cornerColor = "#00E4FFFF";
                iconOptions.strokeColor = "#000DFFFF";
                gicons[i]=MapIconMaker.createMarkerIcon(iconOptions);
                var latLong = geometry[j].getLatLng();
                var marker = createMarker(latLong,gicons[i],attributes,layer);
                //gmap.addOverlay(marker);                    
            }
        }
        hide(layer);
    }); //end of Restaurant
    
    //start Cafe query
    qRestTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/0");	
    var qRest = new esri.arcgis.gmaps.Query();
    var restBounds = gmap.getBounds();
    qRest.queryGeometry = restBounds;
    qRest.outFields = ["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
	//qRest.where = "BIZ_TYPE LIKE '%Cafe%' OR BIZ_TYPE LIKE '%Tea%' OR BIZ_TYPE LIKE '%Yogurt%' OR BIZ_TYPE LIKE '%Ice%' OR BIZ_TYPE LIKE '%Coffee%'";
	qRest.where = "BIZ_TYPE LIKE 'Cafe%' OR BIZ_TYPE LIKE '%/Cafe%' OR BIZ_TYPE LIKE 'Tea%' OR BIZ_TYPE LIKE 'Frozen%' OR BIZ_TYPE LIKE 'Italian%' OR BIZ_TYPE LIKE 'Coffee%'";
    qRestTask.execute(qRest, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Cafe";
        var features = featureSet.features, geometry, attributes;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                var iconOptions = {};
                iconOptions.width = 23;
                iconOptions.height = 23;
                iconOptions.primaryColor = "#00FBFFFF";
                iconOptions.cornerColor = "#0097FFFF";
                iconOptions.strokeColor = "#0088FFFF";
                gicons[i]=MapIconMaker.createMarkerIcon(iconOptions);
                var latLong = geometry[j].getLatLng();
                var marker = createMarker(latLong,gicons[i],attributes,layer);
                //gmap.addOverlay(marker);                    
            }
        }
        hide(layer);
    }); //end of Cafe
    
    queryAntique();
    queryApparel();
    queryArtRetail();
    queryCollectable();
    queryFlorist();
    queryFood();
    queryFurniture();
    queryGeneral();
    queryMisc();
    queryShoe();
            
    //start History query
    qHistTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/2");
    var qHist = new esri.arcgis.gmaps.Query();
    var histBounds = gmap.getBounds();
    
    qHist.queryGeometry = histBounds;
    qHist.outFields = ["NAME","ADDRESS","INFO","WEBSITE"];
    
    qHistTask.execute(qHist, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Historic";
        var features = featureSet.features, geometry, attributes;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                var iconOptions = {};
                iconOptions.width = 23;
                iconOptions.height = 23;
                iconOptions.primaryColor = "#83430FFF";
                iconOptions.cornerColor = "#FFA53BFF";
                iconOptions.strokeColor = "#372414FF";
                gicons[i]=MapIconMaker.createMarkerIcon(iconOptions);
                var latLong = geometry[j].getLatLng();
                var marker = createMarker(latLong,gicons[i],attributes,layer);
                //gmap.addOverlay(marker);                    
            }
        }
        hide(layer);
    });//end of History
        
    //start Art query
    qArtTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/3");
    var qArt = new esri.arcgis.gmaps.Query();
    var artBounds = gmap.getBounds();
    
    qArt.queryGeometry = artBounds;
    qArt.outFields = ["NAME","ADDRESS","INFO","WEBSITE"];
    
    qArtTask.execute(qArt, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Art"
        var features = featureSet.features, geometry, attributes;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                var iconOptions = {};
                iconOptions.width = 23;
                iconOptions.height = 23;
                iconOptions.primaryColor = "#8D00FFFF";
                iconOptions.cornerColor = "#FFDEF7FF";
                iconOptions.strokeColor = "#4A0096FF";
                gicons[i]=MapIconMaker.createMarkerIcon(iconOptions);
                var latLong = geometry[j].getLatLng();
                var marker = createMarker(latLong,gicons[i],attributes,layer);
                //gmap.addOverlay(marker);
            }
        }
        hide(layer);
    });//end of Art
    
    //start of Park query
    qParkTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/4");
    var qPark = new esri.arcgis.gmaps.Query();
    var parkBounds = gmap.getBounds();
    
    qPark.queryGeometry = parkBounds;
    qPark.outFields = ["NAME","ADDRESS","URL"];
    qPark.where = "NAME = 'DOWNTOWN PLAZA' OR NAME='PLAZA PARK' OR NAME='FORD PARK' OR NAME='AMERIGE PARK' OR NAME='FULLERTON MUSEUM CENTER'";
    
    qParkTask.execute(qPark, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Park"
        var features = featureSet.features, geometry, attributes, geom;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                geom = geometry[j];
                //GEvent.addListener(geom, "mouseover", GEvent.callbackArgs(geom, onMouseOverFunc, attributes));
                //GEvent.addListener(geom, "mouseout", onMouseOutFunc);
                //gmap.addOverlay(geom);
                geom.setFillStyle({color: "#006633"},{opacity: 0.6});
                geom.setStrokeStyle({color: "#006633"},{weight: 10},{opacity: 0.6});
                //var fillStyle = {color: "#736AFF", opacity: 0.6};
                //var strokeStyle = {color: "#736AFF", weight: 10, opacity: 0.6};
                //var poly = createPoly(geom,layer,fillStyle,strokeStyle);
                var poly = createPoly(geom,layer,attributes);
                geom.mylayer=layer;
                gpolys.push(geom);
                gmap.addOverlay(geom);
            }
        }
//        hide(layer);
    });//end of Park
            
    //start Parking query
    qParkingTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/5");
    var qParking = new esri.arcgis.gmaps.Query();
    var parkingBounds = gmap.getBounds();
    
    qParking.queryGeometry = parkingBounds;
    qParking.outFields = ["Type","ParkingRes","Spaces","Address"];
    
    qParkingTask.execute(qParking, false, function(featureSet, error)
    {
        if (error)
        {
            alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
            return;
        }
        var layer = "Parking"
        var features = featureSet.features, geometry, attributes, geom;
        for(var i=0; i<features.length; i++)
        {
            geometry = features[i].geometry;
            attributes = features[i].attributes;
            for(var j=0; j<geometry.length; j++)
            {
                geom = geometry[j];
                //GEvent.addListener(geom, "mouseover", GEvent.callbackArgs(geom, onMouseOverFunc, attributes));
                //GEvent.addListener(geom, "mouseout", onMouseOutFunc);
                //gmap.addOverlay(geom);
                geom.setFillStyle({color: "#736AFF"},{opacity: 0.6}); //#0000FF
                geom.setStrokeStyle({color: "#736AFF"},{weight: 10},{opacity: 0.6});
                //var fillStyle = {color: "#736AFF", opacity: 0.6};
                //var strokeStyle = {color: "#736AFF", weight: 10, opacity: 0.6};
                //var poly = createPoly(geom,layer,fillStyle,strokeStyle);
                var poly = createPoly(geom,layer,attributes);
                 
                geom.mylayer=layer;
                gpolys.push(geom);
                gmap.addOverlay(geom);
            }
        }
    });//end of Parking
                
    show("Park");
    show("Parking");
            
  }//end of If (GBrowserIsCompatible)
        
  else
  {
    alert("Sorry, Google Map is not compatible with this browser");
  }
 }//end of function initialize()

function select(obj)
{
    //start select
    var RESTLyr = null;
    var fields = null;
    var html = null;
    
    if(obj.selectedIndex > 0)
    {     
        if(obj.id==ddlRestaurantUniqueID)
        {
            RESTLyr="/arcgis/rest/services/Downtown/MapServer/0";
            fields=["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
        }
        else if(obj.id==ddlRetailUniqueID)
        {
            RESTLyr="/arcgis/rest/services/Downtown/MapServer/1"
            fields=["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
        }
        else if(obj.id==ddlHisSiteUniqueID)
        {
            RESTLyr="/arcgis/rest/services/Downtown/MapServer/2"
            fields=["NAME","ADDRESS","INFO","WEBSITE"];
        }
        else if(obj.id==ddlArtUniqueID)
        {
            RESTLyr="/arcgis/rest/services/Downtown/MapServer/3"
            fields=["NAME","ADDRESS","INFO","WEBSITE"];
        }
        
        //qselTask = new esri.arcgis.gmaps.QueryTask("/arcgis/rest/services/Downtown/MapServer/0");	
        qselTask = new esri.arcgis.gmaps.QueryTask(RESTLyr);
        var qsel = new esri.arcgis.gmaps.Query();
        //var selBounds = gmap.getBounds();
        gmap.setCenter(new GLatLng(0,0),0); //added
        var selBounds = new GLatLngBounds(); //added
        
        qsel.queryGeometry = selBounds;
        
        //qsel.outFields = ["NAME","ADDRESS","PHONE","BIZ_TYPE","WEB_SITE"];
	    qsel.outFields = fields;
	    //qsel.where = "NAME = 'Banning''s Bikes'";    
    	
	    var name = obj.options[obj.selectedIndex].text;
	    var apos = /\'/g;
	    name = name.replace(apos,"''");
	    //qsel.where = "NAME = '" + obj.options[obj.selectedIndex].text + "'";
	    qsel.where = "NAME = '" + name + "'";
    	
    	qselTask.execute(qsel, false, function(featureSet, error)
        {
            if (error)
            {
                alert("My Error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "Unknown error" ));
                return;
            }
            
            var features = featureSet.features, geometry, attributes;
            for(var i=0; i<features.length; i++)
            {
                geometry = features[i].geometry;
                attributes = features[i].attributes;
                for(var j=0; j<geometry.length; j++)
                {                
                    var latLong = geometry[j].getLatLng();
                    //var latLong = geometry[j].getBounds();
                    selBounds.extend(latLong); //added
                    //gmap.addOverlay(latLong);                    
                }
            }
            gmap.setZoom(gmap.getBoundsZoomLevel(selBounds));//added
            gmap.setCenter(selBounds.getCenter());//added
    //        var html = "<b>Name: </b><a href=" + attributes["WEB_SITE"] + " target=_blank ;'>" + attributes["NAME"] + "</a><br/><b>Address:</b> " + attributes["ADDRESS"] + "<br/><b>Phone:</b> " + attributes["PHONE"] + "<br/><b>Type:</b> " + attributes["BIZ_TYPE"];
            var strWebsite = "";
            
            if(obj.id==ddlRestaurantUniqueID || obj.id==ddlRetailUniqueID)
            {
                var strHref = fncAdjustHref(attributes["WEB_SITE"], attributes["NAME"]);
                html = "<b>Name: </b>" + strHref + "<br/><b>Address:</b> " + attributes["ADDRESS"] + "<br/><b>Phone:</b> " + attributes["PHONE"] + "<br/><b>Type:</b> " + attributes["BIZ_TYPE"];
                gmap.openInfoWindowHtml(latLong,html);
            }
            else if(obj.id==ddlHisSiteUniqueID || obj.id==ddlArtUniqueID)
            {
                var strHref = fncAdjustHref(attributes["WEBSITE"], attributes["NAME"]);
                html = "<b>Name: </b>" + strHref + "<br/><b>Address:</b> " + attributes["ADDRESS"] + "<br/><b>Info:</b> " + attributes["INFO"];
                gmap.openInfoWindowHtml(latLong,html,{maxWidth:70, maxHeight:135, autoScroll:true});
            }
    //        gmap.openInfoWindowHtml(latLong,html);//added
            
        }); //end of select
    }//end of obj.selectedIndex
}//end of function select

function findPark(obj)
{
    mapExtension.removeFromMap(gOverlays);
    gmap.closeInfoWindow();
    params.searchText = obj.options[obj.selectedIndex].text;    
    findTask.execute(params,findCompleteCallback);    
}

function findCompleteCallback(response)
{    
    var park = response.findResults[0];
    var parkGeometry = park.feature.geometry[0];
    var polyBounds = parkGeometry.getBounds();
    var zoomLevel = gmap.getBoundsZoomLevel(polyBounds);
    var polyCenter = polyBounds.getCenter();
    gmap.setCenter(polyCenter,zoomLevel);
    //var infoWindow = {content: "<b>Name: </b><a href={URL} target=_blank ;'>{NAME}</a><br/><b>Address:</b> {ADDRESS}"};
    //gOverlays = mapExtension.addToMap(response,null,infoWindow);
    var html = "<b>Name: </b><a href=" + park.feature.attributes["URL"] + ">" + park.feature.attributes["NAME"]+ "</a><br/><b>Address:</b> " + park.feature.attributes["ADDRESS"];
    gmap.openInfoWindowHtml(polyCenter,html);
}
    
function createPoly(geom,layer,attributes)
{
    var poly = new GPolygon(geom);
    //poly.mylayer = layer;
    if(layer=="Parking")
    {
        GEvent.addListener(geom, "click", GEvent.callbackArgs(geom, onClickParkingFunc, attributes));
        GEvent.addListener(geom, "mouseout", onMouseOutFunc);
    }
    else
    {
        GEvent.addListener(geom, "click", GEvent.callbackArgs(geom, onClickParkFunc, attributes));
        GEvent.addListener(geom, "mouseout", onMouseOutParkFunc);
    }
    
    //gpolys.push(poly);
    //gmap.addOverlay(poly);
    return poly;      
}
	
function createMarker(latLong,markerIcon,attributes,layer)
{
    var marker = new GMarker(latLong,{icon:markerIcon});
    marker.mylayer = layer
    if(layer=="Art" || layer=="Historic" )
    {
        GEvent.addListener(marker, "mouseover", GEvent.callbackArgs(marker, onMouseOverArtFunc, attributes));
    }
    else
    {
        GEvent.addListener(marker, "mouseover", GEvent.callbackArgs(marker, onMouseOverRetailFunc, attributes));        
    }
    gmarkers.push(marker);
    gmap.addOverlay(marker);
    return marker;
}

function onClickCtrFunc()
{
    var polygon = this;
//    polygon.setFillStyle({color: "#FF6666"},{weight: 4},{opacity: 0.4}); //color, weight, opacity(0-1)
//    polygon.setStrokeStyle({color: "#FF6666"});
    var html = "<b>Name: </b><a href=http://www.cityoffullerton.com/visitors/downtown_fullerton/transportation_center.asp target=_blank ;'>" + "Transportation Center" + "</a><br/><b>Address:</b> 120 E Santa Fe Ave"; //+ "<br/><img src='tran_center_tracks.jpg'/>";
    gmap.openInfoWindowHtml(polygon.getBounds().getCenter(),html);
}

function onClickParkFunc(attributes)
{
    var polygon = this;
    //polygon.setFillStyle({color: "#FF6666"},{weight: 4},{opacity: 0.4}); //color, weight, opacity(0-1)
    //polygon.setStrokeStyle({color: "#FF6666"});
    var strHref = fncAdjustHref(attributes["URL"], attributes["NAME"]);
    
    var html = "<b>Name: </b>" + strHref + "<br/><b>Address:</b> " + attributes["ADDRESS"];
    gmap.openInfoWindowHtml(polygon.getBounds().getCenter(),html);
}

function onClickParkingFunc(attributes)
{
    var polygon = this;
    //polygon.setFillStyle({color: "#FF6666"},{weight: 4},{opacity: 0.4}); //color, weight, opacity(0-1)
    //polygon.setStrokeStyle({color: "#FF6666"});
    var parkingSpaces = attributes["Spaces"];
    if(parkingSpaces == -99)
    {
        parkingSpaces = '';
    }
    var html = "<b>Type:</b> " + attributes["Type"] + "<br/><b>Restrictions:</b> " + attributes["ParkingRes"] + "<br/><b>Spaces:</b> " + parkingSpaces + "<br/><b>Address:</b> " + attributes["Address"];
    gmap.openInfoWindowHtml(polygon.getBounds().getCenter(),html,{maxWidth:70, maxHeight:100, autoScroll:true});
    //gmap.getDragObject().setDraggableCursor("pointer");
}
    
function onMouseOverRetailFunc(attributes)
{
    var strHref = fncAdjustHref(attributes["WEB_SITE"], attributes["NAME"]);
    
    var html = "<b>Name: </b>" + strHref + "<br/><b>Address:</b> " + attributes["ADDRESS"] + "<br/><b>Phone:</b> " + attributes["PHONE"] + "<br/><b>Type:</b> " + attributes["BIZ_TYPE"];
    var point = this;
    gmap.openInfoWindowHtml(point.getPoint(),html);
}

function onMouseOverArtFunc(attributes)
{
    var strHref = fncAdjustHref(attributes["WEBSITE"], attributes["NAME"]);
    
    var html = "<b>Name: </b>" + strHref + "<br/><b>Address:</b> " + attributes["ADDRESS"] + "<br/><b>Info:</b> " + attributes["INFO"];
    var point = this;
    gmap.openInfoWindowHtml(point.getPoint(),html,{maxWidth:70, maxHeight:110, autoScroll:true});
}

function onMouseOutFunc()
{
    var polygon = this;
    polygon.setFillStyle({color: "#736AFF"}); //#0000FF
    polygon.setStrokeStyle({color: "#736AFF"}); //#0000FF
    //gmap.closeInfoWindow();
}

function onMouseOutParkFunc()
{
    var polygon = this;
    polygon.setFillStyle({color: "#006633"}); //#0000FF
    polygon.setStrokeStyle({color: "#006633"}); //#0000FF
    //gmap.closeInfoWindow();
}

function onMouseOutTransFunc()
{
    var polygon = this;
    polygon.setFillStyle({color: "#f33f00"}); //#0000FF
    polygon.setStrokeStyle({color: "#ff0000"}); //#0000FF
    //gmap.closeInfoWindow();
}

function show(layer)
{
    if (layer=="Parking" || layer=="Park")
    {
        for(var j=0; j<gpolys.length; j++)
        {                     
            if(gpolys[j].mylayer==layer)
            {
                gpolys[j].show();
            }
        }
    }
    else
    {
        for(var i=0; i<gmarkers.length; i++)
        {
            if (gmarkers[i].mylayer==layer)
            {
                gmarkers[i].show();
            }
        }
    }
    document.getElementById("ckb"+layer).checked=true;
}

function hide(layer)
{
    if (layer=="Parking" || layer=="Park")
    {
        for(var j=0; j<gpolys.length;j++)
        {
            if (gpolys[j].mylayer==layer)
            {
                gpolys[j].hide();
            }
        }
    }
    else
    {
        for(var i=0; i<gmarkers.length; i++)
        {
            if (gmarkers[i].mylayer==layer)
            {
                gmarkers[i].hide();
            }
        }
    }
    document.getElementById("ckb"+layer).checked=false;
    gmap.closeInfoWindow();
}

function boxClick(box,layer)
{
    if(box.checked)
    {
        show(layer);
    }
    else
    {
        hide(layer);
    }
}

function boxClickAllRest(box)
{
    if(box.checked)
    {
        show("Bar");
        show("Restaurant");
        show("Cafe");
    }
    else
    {
        hide("Bar");
        hide("Restaurant");
        hide("Cafe");
    }
}

function boxClickAllRetail(box)
{
    if(box.checked)
    {
        show("Antique");
        show("Apparel");
        show("ArtRetail");
        show("Collectable");
        show("Florist");
        show("Food");
        show("Furniture");
        show("General");
        show("Misc");
        show("Shoe");
    }
    else
    {
        hide("Antique");
        hide("Apparel");
        hide("ArtRetail");
        hide("Collectable");
        hide("Florist");
        hide("Food");
        hide("Furniture");
        hide("General");
        hide("Misc");
        hide("Shoe");
    }
}


//CC Added
function fncAdjustHref(strURL, strTitle)
{
    var strHref = strTitle;
    var itemHrefStart = '';
    var itemHrefEnd = '';
    if(strURL == '' || strURL == null || strURL == 'Null' || strURL == undefined)
    {
        strHref = strTitle;
    }
    else if((strURL.indexOf("http") > 0 || strURL.indexOf("www.") > 0) && strURL.indexOf("www.cityoffullerton.com") < 0)
    {
        strHref = '<a href="' + strURL + '" target="_blank">' + strTitle + '</a>';
    }
    else
    {
        strHref = '<a href="' + strURL + '">' + strTitle + '</a>';
    }
    
    return strHref;
}