/* Copyright 2007-2008 SCube NewMedia. */

/** ============ CONFIGURAZIONE ============= */
/** Licenza del cliente */
var LICENSE = "63756c747572616c617a696f2e69743b63756c747572616c617a696f2e6c6f63616c3b63756c747572616c617a696f2e64656d6f7365727665722e6974-43756c747572614c617a696f206f6e206c696e65-1869f-132b531-7374616e64617264-0";
/** Progetto di appatenenza */
var PROGETTO = "CulturaLazio";
var ID_NOME_PROGETTO = PROGETTO + "_157";
/** true per collegarsi al servizio di pubblicazione, false in caso contrario */
var PUBLISHER = false;
/** Frontend di impaginazione dei dati */
var FRONTEND = null;
/** Lingua da utilizzare per accedere ai contenuti */
var LANGUAGE = null;
/** Macchina a cui connetersi per accedere ai contenuti */
var HOST = null;


/** ============ API ============= */
var key = "ABQIAAAAUFrppv2oMiwmfR8jhoAHFRQCecenUwhGiRVk6bsTp8zLS8a7BRQQ9NXNSf0cGXW3xhh7-hbVXQ6w9Q";
if (document.domain == "www.culturalazio.it") {
	key = "ABQIAAAABC8SCe9lvkf858krcc4S7BRL0dQQ6extHKQKuH0OPj-tnHp82BQcx3p9s6-VnjORD5htTSU6vDQPkg";
} else if (document.domain == "www.culturalazio.local") {
	key = "ABQIAAAABC8SCe9lvkf858krcc4S7BQ52Y6G5GkZIMYbn9fnTfaWeljB9RS2xJ_lBWKpD5m1TmAhTDARP3lcgw";
} else if (document.domain == "www.culturalazio.demoserver.it") {
	key = "ABQIAAAABC8SCe9lvkf858krcc4S7BQHSslkypobsOtU3W6WTSDiobxmLhQT7Mslg0jRFsJH9F8zjno1ZLy58A";
} else if (document.domain == "culturalazio.test.laitspa.it") {
	key = "ABQIAAAABC8SCe9lvkf858krcc4S7BS8-d5RUIXLpZSbvjS-812Ylx8GKxTcuAZg4dZ3RvCT6v3syrnfgjF83Q";
} else if (document.domain == "www.test.culturalazio.it") {
    key = "ABQIAAAABC8SCe9lvkf858krcc4S7BSK6R62I0NshY4nk6AvzwCvlpGnJRRYotixbBqEAbQ6ihIoVxi6H_77UQ";
}
document.write('<script src="http://web.geocms.it/a/' + ID_NOME_PROGETTO + '?file=api&amp;v=1.04&amp;license=' + LICENSE + '&amp;key=' + key + '"' +' type="text/javascript"></script>');

/** ============ COSTANTI ============= */

/** Livelli di progetto */
var LAYERS = {ATTRATTORE_POI:"attrattore_poi",POI:"poi",BOUNDARY:"BOUNDARY"};

/** Numero massimo di risultati prodotti dalla ricerca per vicinanza */
var NEAR_ADDRESS_MAX_RESULTS = 5;

/** Constanti per identificare errori sulla query */
var NO_QUERY = "";
/** Operatori per la gestione della query */
var OPERATOR_OR = " OR ";
var OPERATOR_AND = " AND ";
var QUERY_FAILURE = -1;
var QUERY_ABORT = -2;

/** Modalità di stampa */
var PRINT_DATA = "2";
var PRINT_DIRECTION = "1";
var PRINT_GRAPHIC = "0";
var PRINT_MODE = "m";

/** Parametri di stampa */
var PRINT_DIRECTION_START_ADDRESS = "saddr";
var PRINT_DIRECTION_END_ADDRESS = "daddr";
var PRINT_DIRECTION_TYPE = "t";

var PRINT_DATA_LAYER = "l";
var PRINT_DATA_QUERY = "q";

/** Suggerimenti per il calcolo itinerario qualora non sia possibile individuare le località specificate */
var ERROR_PATH = "Impossibile calcolare il percorso richiesto: da \"ERROR_PATH_FROM\" a \"ERROR_PATH_TO\".\nSuggerimenti:\n - Assicurati che tutti i nomi di strade e citta' siano stati digitati correttamente.\n - L'indirizzo deve comprendere una citta' e una provincia.\n - Prova a inserire un codice postale.";

/** Posizionamento della mappa */
var LATITUDINE = 41.881831;
var LONGITUDINE = 12.744141;
var ZOOM = 8;


/** ============ VARIABILI COMUNI ============= */
/** Gestore della mappa */
var Gmap = null;

/** Contiene i parametri ricevuti da URL */
var ParamByURL = {};


/** ============ FUNZIONI ============= */
/**
 * Gestione creazione mappa
 */
function initialize() {
	if (SValidateLicense() == true) {
		try {
			// GEO_LOG_ERROR, GEO_LOG_WARNING, GEO_LOG_MESSAGE, GEO_LOG_DEBUG_USER, GEO_LOG_DEBUG_EVENT, GEO_LOG_DEBUG_METHOD, GEO_LOG_DEBUG_ALL
			// GeoLog.enable(GEO_LOG_MESSAGE);

			// inizializzo la mappa
			Gmap = new GeoMap("map", "loading");

			// skip the first character, we are not interested in the "?"
			var query = location.search.substring(1);
			// split the rest at each "&" character to give a list of  "argname=value"  pairs
			var pairs = query.split("&");
			// cicliamo su tutti i parametri
			for (var i = 0; i < pairs.length; i++) {
				// break each pair at the first "=" to obtain the argname and value
				var pos = pairs[i].indexOf("=");
				if (pos > -1) {
					// var argname = pairs[i].substring(0, pos).toLowerCase();
					var argname = pairs[i].substring(0, pos);
					var value = pairs[i].substring(pos + 1);
					ParamByURL[argname] = decodeURIComponent(value);
				}
			};

			// gestione abilitazione logger
			var debug = ParamByURL["debug"];
			if (debug != null && debug.length > 0) {GeoLog.enable(debug);}

			// inizializzazione servizio remoto
			Gmap.initializeRemoteService(LICENSE, PROGETTO, PUBLISHER, FRONTEND, LANGUAGE, HOST);


		} catch(e) {
			toException(e);
		}
	}
}

/**
 * Gestisce l'errore nel caso in cui si verifica una eccezione.
 * @param e eccezione da gestire.
 */
function toException(e) {
	var msg = "An exception occurred in the script.\nError name: " + e.name 
	+ ".\nError message: " + e.message;
	if (e.fileName) {msg += ".\nFile name: " + e.fileName;}
	if (e.lineNumber) {msg += ".\nLine number: " + e.lineNumber;	}

	alert(msg);
}

