var Descartes = new Object();

Descartes.FEATUREINFO_SERVER = "getFeatureInfo";
Descartes.FEATURE_SERVER = "getFeature";
Descartes.TOOLTIP_SERVER = "getToolTipFeatureInfo";
Descartes.EXPORT_PNG_SERVER = "exportPNG";
Descartes.EXPORT_PDF_SERVER = "exportPDF";

Descartes.VERSION_NUMBER="$Revision: 1.5 $";

Descartes.IMG_LOCATION = "descartes/img/";

Descartes.INFO_WINDOW = null;
Descartes.EXPORT_WINDOW = null;

Descartes._scriptName = ( 
    typeof(_DESCARTES_SFL_) == "undefined" ? "descartes.js" 
                                            : "descartes.js" );

Descartes._getScriptLocation = function () {
    var scriptLocation = "";
    var SCRIPT_NAME = Descartes._scriptName;
    var scripts = document.getElementsByTagName('script');
    for (var i = 0; i < scripts.length; i++) {
        var src = scripts[i].getAttribute('src');
        if (src) {
        	if (src.indexOf(";jsessionid")) {
        		src = src.split(";jsessionid")[0];
        	}
            var index = src.lastIndexOf(SCRIPT_NAME); 
            // is it found, at the end of the URL?
            if ((index > -1) && (index + SCRIPT_NAME.length == src.length)) {  
                scriptLocation = src.slice(0, -SCRIPT_NAME.length);
                break;
            }
        }
    }
    return scriptLocation;
}


if (typeof(_DESCARTES_SFL_) == "undefined") {
    (function() {
	var jsfiles=new Array(
		"Prototype/prototype_1_6_0_1.js",
		"Rico/Accordion.js",
		"Scriptaculous/effects.js",
		"Scriptaculous/controls.js",
		"Scriptaculous/slider.js",
		"Descartes/BookmarksManager.js",
		"Descartes/Button.js",
		"Descartes/Gazetter.js",
		"Descartes/GroupsList.js",
		"Descartes/InfosControls.js",
		"Descartes/Layer.js",
		"Descartes/LayerControl.js",
		"Descartes/LayersGroup.js",
		"Descartes/LegendControl.js",
		"Descartes/Request.js",
		"Descartes/ToolBar.js",
		"Descartes/Url.js",
		"Descartes/Utils.js",
		"Descartes/Control/ScaleBar.js",
		"Descartes/Control/SizeSelector.js",
		"Descartes/Control/ScaleSelector.js",
		"Descartes/Control/ToolTip.js",
		"Descartes/Control/LocalizedMousePosition.js",
		"Descartes/Button/ExportPDF.js",
		"Descartes/Button/ExportPNG.js",
		"Descartes/Button/GetFeatureInfo.js",
		"Descartes/Button/MeasureTools.js",
		"Descartes/Button/PolygonSelection.js",
		"Descartes/Button/InitialZoom.js"
		);
	
	var allScriptTags = "";
	var host = Descartes._getScriptLocation();
	for (var i = 0; i < jsfiles.length; i++) {
		if (/MSIE/.test(navigator.userAgent) || /Safari/.test(navigator.userAgent)) {
			var currentScriptTag = "<script src='" + host + jsfiles[i] + "'></script>"; 
			allScriptTags += currentScriptTag;
		} else {
			var s = document.createElement("script");
			s.src = host + jsfiles[i];
			var h = document.getElementsByTagName("head").length ? 
					document.getElementsByTagName("head")[0] : 
					document.body;
			h.appendChild(s);
		}
	}
	if (allScriptTags) document.write(allScriptTags);
    })();
}
