var actionAction = new Array();
var actionOp = new Array();
var actionTarget = new Array();
var ATR = new Array(); // actionTypeRefresh
var actionCursor = new Array();
var actionCursorDown = new Array();

/** SI POSSONO GENERARE DINAMICAMENTE IN FASE DI COMPILAZIONE ? */

/* refresh */
actionAction["refresh"] = "Default";
actionOp["refresh"] = "refresh";
actionTarget["refresh"] = "loadImageFrame";
ATR["refresh"] = "image";

/* pandir */
actionAction["pandir"] = "Default";
actionOp["pandir"] = "pandir";
actionTarget["pandir"] = "loadImageFrame";
ATR["pandir"] = "image";

/* locator */
actionAction["locator"] = "Default";
actionOp["locator"] = "locator";
actionTarget["locator"] = "loadImageFrame";
ATR["locator"] = "image";

/* cambiavista con ricaricamento dell'intera pagina */
actionAction["cambiavista"] = "Start";
actionOp["cambiavista"] = "cambiavista";
actionTarget["cambiavista"] = "";
ATR["cambiavista"] = "image";

/* cambiavista con ricaricamento dinamico */
actionAction["cambiavistaDyn"] = "CambiaVistaDHTML";
actionOp["cambiavistaDyn"] = "CambiaVistaDHTML";
actionTarget["cambiavistaDyn"] = "loadImageFrame";
ATR["cambiavistaDyn"] = "image";

/* infozoom */
actionAction["infozoom"] = "InfoZoom"; // DC 20061031 handler dedicato
actionOp["infozoom"] = "infozoom";
actionTarget["infozoom"] = "loadImageFrame";
ATR["infozoom"] = "image";

/* info
actionAction["info"] = "Info";
actionOp["info"] = "info";
actionTarget["info"] = "IdentifyWin";
ATR["info"] = "zxnccvxcvb"; */

/* bookmark */
actionAction["bookmark"] = "Default";
actionOp["bookmark"] = "bookmark";
actionTarget["bookmark"] = "loadImageFrame";
ATR["bookmark"] = "image";

/* bussola */
actionAction["bussola"] = "Goniometro";
actionOp["bussola"] = "bussola";
actionTarget["bussola"] = "loadImageFrame";
ATR["bussola"] = "iwuqriqueowrq";

/* scala */
actionAction["scala"] = "Default";
actionOp["scala"] = "scala";
actionTarget["scala"] = "loadImageFrame";
ATR["scala"] = "image";

/* selbyreg */
actionAction["selbyreg"] = "SelectAndSave";
actionOp["selbyreg"] = "selbyreg";
actionTarget["selbyreg"] = "loadImageFrame";
ATR["selbyreg"] = "image";

/* selbyattr_save */
actionAction["selbyattr_save"] = "SelectAndSave";
actionOp["selbyattr_save"] = "selbyattr_save";
actionTarget["selbyattr_save"] = "loadImageFrame";
ATR["selbyattr_save"] = "image";


/* SelezioneReport */
actionAction["SelezioneReport"] = "SelezioneReport";
actionOp["SelezioneReport"] = "SelezioneReport";
actionTarget["SelezioneReport"] = "SelezioneReportWindows";
ATR["SelezioneReport"] = "zxcxzczxxczcxzxc";

/* selezione_saveforsnap */
actionAction["selezione_saveforsnap"] = "selezione_saveforsnap";
actionOp["selezione_saveforsnap"] = "selezione_saveforsnap";
actionTarget["selezione_saveforsnap"] = "loadImageFrame";// per debug usa: "selezione_saveforsnap_win";
ATR["selezione_saveforsnap"] = "zxcxzczxxczcxzxc";


/* selezione_copy_to_layer */
actionAction["selezione_copy_to_layer"] = "selezione_copy_to_layer";
actionOp["selezione_copy_to_layer"] = "selezione_copy_to_layer";
actionTarget["selezione_copy_to_layer"] = "selezione_copy_to_layer_win";
ATR["selezione_copy_to_layer"] = "zxcxzczxxczcxzxc";

/* selezione_download */
actionAction["selezione_download"] = "selezione_download";
actionOp["selezione_download"] = "selezione_download";
actionTarget["selezione_download"] = "selezione_download_win";
ATR["selezione_download"] = "zxcxzczxxczcxzxc";

/* selbyatt */
actionAction["selbyatt"] = "SelectByAttributes";
actionOp["selbyatt"] = "selbyatt";
actionTarget["selbyatt"] = "selezione_selbyatt_win";
ATR["selbyatt"] = "qweqweqweqewselbyatt";

/* edit non usa per niente la form */
actionAction["edit"] = "Edit_UNUSED";
actionOp["edit"] = "edit";
actionTarget["edit"] = "loadImageFrame"; // usato da refresh
ATR["edit"] = "Edit_UNUSED";

/* selezione_lista */
actionAction["SelectionsList"] = "SelectionsList";
actionOp["SelectionsList"] = "SelectionsList";
actionTarget["SelectionsList"] = "selezione_win";
ATR["SelectionsList"] = "qweqweqweqewselbyatt";

/* selezione_lista_clear */
actionAction["selezione_lista_clear"] = "SelectionList";
actionOp["selezione_lista_clear"] = "selezione_lista_clear";
actionTarget["selezione_lista_clear"] = "selezione_win";
ATR["selezione_lista_clear"] = "qweqweqweqewselbyatt";

/* selezione_buffer */
actionAction["selezione_buffer"] = "SelectByBuffer";
actionOp["selezione_buffer"] = "selezione_buffer";
actionTarget["selezione_buffer"] = "selezione_win";
ATR["selezione_buffer"] = "qweqweqweqewselbyatt";

/* selezione_clear */
actionAction["selezione_clear"] = "SelezioneClear";
actionOp["selezione_clear"] = "selezione_clear";
actionTarget["selezione_clear"] = "loadImageFrame";
ATR["selezione_clear"] = "image";

/* selezione_clear */
actionAction["selezione_zoom"] = "Default";
actionOp["selezione_zoom"] = "selezione_zoom";
actionTarget["selezione_zoom"] = "loadImageFrame";
ATR["selezione_zoom"] = "image";

/* lista layers con scala */
actionAction["showlayersscales"] = "ShowLayersScales";
actionOp["showlayersscales"] = "ShowLayersScales";
actionTarget["showlayersscales"] = "ShowLayersScalesWin";
ATR["showlayersscales"] = "zzzzz";

/* refresh della legenda con scala */
actionAction["crealegenda"] = "Default";
actionOp["crealegenda"] = "crealegenda";
actionTarget["crealegenda"] = "loadImageFrame";
ATR["crealegenda"] = "image";


function form_setAction(action) {
  mapDebugMessage(action+","+actionAction[action]+","+actionTarget[action]+","+actionOp[action]+","+ATR[action]);
  //alert(jsessionurl);
  document.processa.action = actionAction[action]+".do"+jsessionurl;
  document.processa.target = actionTarget[action];
  document.processa.op.value = actionOp[action];
  document.processa.type_refresh.value = ATR[action];;
}

/**
 * Ritorna lo stato della form (action, op, target, typerefresh)
 */

function form_getStato() {
  return document.processa.action+"@"+document.processa.op.value+"@"+document.processa.target+"@"+document.processa.type_refresh.value;
}

/**
 * Rimette lo stato della form utilizzando un set precedentemente salvato con form_getStato
 */
function form_restoreStato(oldState) {
  var ppp = oldState.split("@");
  form_setStato(ppp[0], ppp[1], ppp[2], ppp[3]);
}

/**
 * In alcuni casi faccio il get in una funzione ed il restore in un'altra, per cui mi appoggio ad una variabile globale.
 * I casi tipici sono il campo input della scala (onfocus salvo e setto action="scala", onblur faccio il restore)
 * ed il caso del locator su onMouseOver e onMouseOut
 */
var g_FormStatus = "";

function form_SaveFormStatusInGlobalVar() {
  g_FormStatus = form_getStato();
}

function form_RestoreFormStatusFromGlobalVar() {
  form_restoreStato(g_FormStatus);
}

/**
 * Setta lo stato della form (action, op, target, typerefresh)
 */
function form_setStato(action, op, target, type_refresh) {
  document.processa.action = action;
  document.processa.op.value = op;
  document.processa.target = target;
  document.processa.type_refresh.value = type_refresh;
}


