var markerSet;


$(document).ready(function() {
	initialize();
    initializeTrails();
});




function createElement(element) {
    if (typeof document.createElementNS != 'undefined') {
        return document.createElementNS('http://www.w3.org/1999/xhtml', element);
    }
    if (typeof document.createElement != 'undefined') {
        return document.createElement(element);
    }
    return false;
}

function initializeTrails() {
    var map = thismap();
    var dtrailset = new DTrailSet();
    var filename = "uploadedfiles/Design_trail_xml/DesignTrailsData.xml";
    var xmlDoc1 = loadXML(filename);
    var xmlDoc;
    if (window.DOMParser) {
        var str = (new XMLSerializer()).serializeToString(xmlDoc1);
        var oParser = new DOMParser();
        xmlDoc = oParser.parseFromString(str, "text/xml");
    } else if (window.ActiveXObject) {
        var string = xmlDoc1.xml;
        xmlDoc = new ActiveXObject("Microsoft.XmlDom");
        xmlDoc.loadXML(string);
    } else {
        alert("add a new built in xml parser for this browser or make your own");
    }
    if (xmlDoc) {
        var dtrails = xmlDoc.getElementsByTagName('DesignTrail');

        for (var x = 0; x < dtrails.length; x++) {

            //get coordinates
            var coordinates = (dtrails[x].getElementsByTagName('TrailCoordinates')[0].firstChild.nodeValue).split(",0");
            var dtrailname = dtrails[x].getElementsByTagName('TrailName')[0].firstChild.nodeValue;
            var dtrailcolor = dtrails[x].getElementsByTagName('TrailColor')[0].firstChild.nodeValue;
            var dtraildesc = dtrails[x].getElementsByTagName('TrailDescription')[0].firstChild.nodeValue;
            var dtrailID = dtrails[x].getElementsByTagName('TrailID')[0].firstChild.nodeValue;

            var gLatLngArr = new Array();
            for (var i = 0; i < coordinates.length - 1; i++) {
                xy = coordinates[i].split(",");
                var glatlng = new GLatLng(xy[1], xy[0]);
                gLatLngArr[i] = glatlng;
            }

            var markerArr = new Array();
            var markers = dtrails[x].getElementsByTagName('TrailMarker');
            for (var h = 0; h < markers.length; h++) {
                var markerid = markers[h].getElementsByTagName('MarkerID')[0].firstChild.nodeValue;
                var markertitle = markers[h].getElementsByTagName('MarkerName')[0].firstChild.nodeValue;
                var markertease = markers[h].getElementsByTagName('MarkerTease')[0].firstChild.nodeValue;
                var markerimagelink = markers[h].getElementsByTagName('MarkerImage')[0].firstChild.nodeValue;
                var markerdesc = markers[h].getElementsByTagName('MarkerDesc')[0].firstChild.nodeValue;
                var markercoord = (markers[h].getElementsByTagName('MarkerCoordinates')[0].firstChild.nodeValue).split(",");

                var marker = new ExMarker();
                var linkstr = "designtrailSummary.aspx?id=" + dtrailID;
                var gmarkerlink = "images/dtrailMarkers/gmarker" + markerid + ".png";
                marker.initExMarker(markercoord[1], markercoord[0], markertitle, markertease, markerid, linkstr, gmarkerlink);
                marker.setImage("images/dtrailMarkers/" + markerimagelink);
                marker.setFullDescription(markerdesc);
                markerArr[h] = marker;
            }


            var tr = new DTrail();
            tr.initDTrail(dtrailID, dtrailname, dtrailcolor, dtraildesc, gLatLngArr, markerArr);
            dtrailset.addDTrail(tr);
        }
        //dtrailset.getDTrails()[0].paint();
        //tr.paint();
    }    
    
}



function initialize() {
    var map = thismap();
    markerSet = new MarkerSet();
    markerSet.initMarkers();
    //"EventLoc.xml"
    var filename = "eventsXML.aspx";
    var xmlDoc1 = loadXML(filename);
    var error = "";

    var xmlDoc;

    if (window.DOMParser) {
        var str = (new XMLSerializer()).serializeToString(xmlDoc1);
        var oParser = new DOMParser();
        xmlDoc = oParser.parseFromString(str, "text/xml");
    } else if (window.ActiveXObject) {
        var string = xmlDoc1.xml;
        xmlDoc = new ActiveXObject("Microsoft.XmlDom");
        xmlDoc.loadXML(string);
    } else {
        alert("add a new built in xml parser for this browser or make your own");
    }

    if (xmlDoc) {
        var placemarks = xmlDoc.getElementsByTagName('Placemark');
		var pathname = window.location.pathname;

        //alert(placemarks.length);
        for (i = 0; i < placemarks.length; i++) {
            if (placemarks[i].getElementsByTagName('pointlat')[0].firstChild == null) {

            } else if (placemarks[i].getElementsByTagName('pointlong')[0].firstChild == null) {
            } else {
                var txt_title = placemarks[i].getElementsByTagName('title')[0].firstChild.nodeValue;
                var txt_id = placemarks[i].getElementsByTagName('id')[0].firstChild.nodeValue;
                var txt_tease = placemarks[i].getElementsByTagName('tease')[0].firstChild.nodeValue;

                var pointx = placemarks[i].getElementsByTagName('pointlat')[0].firstChild.nodeValue;
                var pointy = placemarks[i].getElementsByTagName('pointlong')[0].firstChild.nodeValue;

                var dateArr = placemarks[i].getElementsByTagName('datearr')[0].firstChild.nodeValue;

                var tagarr = new Array(6);
                tagarr[0] = placemarks[i].getElementsByTagName('exhibit')[0].firstChild.nodeValue;
                tagarr[1] = placemarks[i].getElementsByTagName('workshop')[0].firstChild.nodeValue;
                tagarr[2] = placemarks[i].getElementsByTagName('conference')[0].firstChild.nodeValue;
                tagarr[3] = placemarks[i].getElementsByTagName('talk')[0].firstChild.nodeValue;
                tagarr[4] = placemarks[i].getElementsByTagName('seminar')[0].firstChild.nodeValue;
                tagarr[5] = placemarks[i].getElementsByTagName('others')[0].firstChild.nodeValue;

                var marker1 = new ExMarker();
                var linkstr = "events.aspx?id=" + txt_id;

                marker1.initExMarker(pointx, pointy, txt_title, txt_tease, txt_id, linkstr, "images/gmarker.png");
                marker1.setTagArr(tagarr);
                if (dateArr == "Empty") {
                } else {
                    marker1.setDateArr(dateArr);
                }

				if (pathname.match("event")) {

						marker1.paintMarker();
				}
                markerSet.addMarker(marker1);

            }



        }

    }


}