//<![CDATA[

function _mapLoad() { alert('mapload'); }


var clickCurrentFunc  = '';

var currentMarker     = '';

var currentPolyline   = '';

var currentPostId     = '';

var newPath           = new Array();
var newPathPolyline;
var newPathMarkers    = new Array();



if (!GBrowserIsCompatible()) {
   document.location.href = WWWROOT+'/browser_non_compatibile.php';
}


function changeClickCurrentFunc(newfunc) {
   clickCurrentFunc = newfunc;
   $('tools_panel_current_func_'+newfunc).click();
}

function changeCursor() {

   if (!document.styleSheets) return;
   var theRules = new Array();
   if (document.styleSheets[0].cssRules)
      theRules = document.styleSheets[0].cssRules
   else if (document.styleSheets[0].rules)
      theRules = document.styleSheets[0].rules
   else return;
   theRules[0].style.cursor = 'crosshair';

}



function addPointToPath(lat,lon) {

   // aggiungo il punto cliccato all'array newPath (globale)
   var pathPoint = new Array(lat,lon);
   newPath.push(pathPoint);

   // aggiungo un'icona nel punto cliccato
   var point = new GLatLng(lat,lon);
   var icon = new GIcon();
   icon.image = WWWROOT+'/shared/img/icons/path_point_icon.png';
   icon.iconSize = new GSize(28, 36);
   icon.iconAnchor = new GPoint(14, 34);

   var mark = new GMarker(point, {icon:icon});
   newPathMarkers.push(mark)

   map.addOverlay(mark);

   // se non è il primo punto, traccio il polyline
   if (newPath.length > 1) {

      // rimuovo il polyLine attuale se c'è
      //if (newPathPolyline != undefined) {
         map.removeOverlay(newPathPolyline);
      //}

      // renderizzo il polyLine
      pathPoints = new Array();
      for (var i = 0, len = newPath.length; i < len; ++i) {
         pathPoints.push(new GLatLng(newPath[i][0],newPath[i][1]));
      }
      newPathPolyline = new GPolyline(pathPoints);
      map.addOverlay(newPathPolyline);

   }

}


function clearNewPath() {
   map.removeOverlay(newPathPolyline);

   if (newPath.length > 1) {
      for (var i = 0; i < newPath.length; i++) {
         map.removeOverlay(newPathMarkers[i]);
      }
   }
   newPath.clear();
   newPathMarkers.clear();
   map.closeInfoWindow();
}


// -----------------------------------------------------------------------
//   GOOGLE MAPS
// -----------------------------------------------------------------------

function mapLoad (lat, lon, zoomLevel, mapControls) {

   if(!zoomLevel) {
      zoomLevel = 12;
   }

   if(!mapControls) {
      mapControls = 'Y';
   }

   if (mapControls == 'Y') {
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
   }

   map.setCenter(new GLatLng(lat, lon), zoomLevel);

   GEvent.addListener(map, "click", function(marker, point) {

      if (point) {

         // funzione attiva corrente

         if (clickCurrentFunc == 'add_post') {
           var lat = point.y;
           var lon = point.x;
           var html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="'+WWWROOT+'/shared/img/pushpin_mini.gif" border="0" width="16" height="16"></td><td>'+
                      '<a class="add_post" href="javascript:;" onclick="addPostAtLatLon(\''+lat+'\', \''+lon+'\',\'\')">Aggiungi un post qui</a>'+
                      '</td></tr></table>';
           map.openInfoWindowHtml(point, html);
         }

         if (clickCurrentFunc == 'add_path') {
            var lat = point.y;
            var lon = point.x;
            var html = '<table border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td><img src="'+WWWROOT+'/shared/img/path_mini.gif" border="0" width="16" height="16"></td><td>'+
                      'Per proseguire il percorso,<br>clicca sul punto successivo.<br><br>'+
                      '<img src="'+WWWROOT+'/shared/img/li.gif" align="absmiddle"> <a href="javascript:void(0);" onclick="addPostAtPath();">termina e salva il percorso</a><br><br>'+
                      '<img src="'+WWWROOT+'/shared/img/li.gif" align="absmiddle"> <a href="javascript:void(0);" onclick="clearNewPath();">annulla il percorso</a>'+
                      '</td></tr></table>';
            //html += newPath.inspect();
            map.openInfoWindowHtml(point, html);

            addPointToPath(lat,lon);

         }

         if (clickCurrentFunc == 'move_post') {

           var lat = point.y;
           var lon = point.x;

           movePostAtLatLon(currentPostId,lat,lon);
         }

     }

   });

}

var geocoder = new GClientGeocoder();

function gmapIcon (myIcon) {
   var icon = new GIcon();
   icon.image = WWWROOT+'/maps/'+LOCAL_MAP+'/images/map_icons/'+myIcon+'.png';
   icon.iconSize = new GSize(40, 40);
   icon.iconAnchor = new GPoint(20, 20);
   icon.infoWindowAnchor = new GPoint(20, 1);
   return (icon);
}

// -----------------------------------------------------------------------
//   FINE GOOGLE MAPS
// -----------------------------------------------------------------------






// -----------------------------------------------------------------------
//   PANNELLI
// -----------------------------------------------------------------------

var openedPanels = new Array();
var loadedPanels = new Array();

function forcePanelReload(panelName) {

   //new Ajax.Updater(panelName+'_panel', WWWROOT+'/shared/panels/'+panelName+'.panel.php/'+Math.random(), { method:'post', evalScripts:true });
   var url = WWWROOT+'/shared/panels/'+panelName+'.panel.php/'+Math.random();
   var met = 'post';
   new Ajax.Request(url,
   {
    method: met,
    onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      $(panelName+'_panel').innerHTML=response;
    },
    onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

   if (!in_array(panelName, loadedPanels)) {
      loadedPanels.push(panelName);
   }
   // openPanel(panelName);
}



function loadPanelContent(panelName, url, met, vars) {

   // carica tramite AJAX il contenuto del pannello
   if (url == undefined) {
      var url = WWWROOT+'/shared/panels/'+panelName+'.panel.php';
   }

   if (met == undefined) {
      met = 'post';
   }

   if (vars == undefined) {
      vars = 'foo=bar';
   }

   // Ajax.Updater non sembra funzionare su Explorer!!!
   //new Ajax.Updater(panelName+'_panel', url, { method:'get', evalScripts:true });

   new Ajax.Request(url,
   {
    method: met,
    parameters: vars,
    onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      $(panelName+'_panel').innerHTML=response;
    },
    onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

   loadedPanels.push(panelName);

   if (!in_array(panelName, openedPanels)) {
      openPanel(panelName);
   }

}


function openPanel(panelName) {

   if (!in_array(panelName, openedPanels)) {

      // espande il pannello
      show(panelName+'_panel');//style.display  = 'block';
      hide(panelName+'_expand');//style.display = 'none';
      show(panelName+'_reduce');//style.display = 'block';

      openedPanels.push(panelName);

      // carica il contenuto di default del pannello
      if (!in_array(panelName, loadedPanels)) {
         loadPanelContent(panelName);
      }
   }

}

function closePanel(panelName) {

   // nasconde il pannello
   hide(panelName+'_panel');    //style.display = 'none';
   show(panelName+'_expand');   //style.display = 'block';
   hide(panelName+'_reduce');   //style.display = 'none';

   var tmpOpenedPanels = openedPanels;
   openedPanels = new Array;
   var ii = 0;
   for (var i = 0; i < openedPanels.length; i++) {
      if (tmpOpenedPanels[i] != panelName) {
         openedPanels[ii] = tmpOpenedPanels[i];
         ii += 1;
      }
   }
}


function removePanel(panelName) {
   hide(panelName+'_panel_wrapper');  //.style.display  = 'none';
   $(panelName+'_panel_wrapper').innerHTML = '';
   $('panel_wrapper').removeChild($(panelName+'_panel_wrapper'));

   var tmpOpenedPanels = openedPanels;
   openedPanels = new Array;
   var ii = 0;
   for (var i = 0; i < openedPanels.length; i++) {
      if (tmpOpenedPanels[i] != panelName) {
         openedPanels[ii] = tmpOpenedPanels[i];
         ii += 1;
      }
   }

   var tmpOpenedPanels = loadedPanels;
   loadedPanels = new Array;
   var ii = 0;
   for (var i = 0; i < loadedPanels.length; i++) {
      if (tmpOpenedPanels[i] != panelName) {
         loadedPanels[ii] = tmpOpenedPanels[i];
         ii += 1;
      }
   }
}


//
// crea il pannello vuoto
//
function addPanel (panelName, panelTitle, bgColor) {

   if ($(panelName+'_panel_wrapper')) {
      return (true);
   }

   // crea il pannello

   $('panel_wrapper').innerHTML = $('panel_wrapper').innerHTML +"\n"+
      '<div class="panel" id="'+panelName+'_panel_wrapper">'+"\n"+
       '<a title="espandi" href="javascript:;" onclick="openPanel(\''+panelName+'\')" class="expand_panel" id="'+panelName+'_expand"></a>'+"\n"+
       '<a title="riduci" href="javascript:;" onclick="closePanel(\''+panelName+'\')" class="reduce_panel" id="'+panelName+'_reduce"></a>'+"\n"+
       '<span class="panel_title" id="'+panelName+'_panel_title">'+panelTitle+'</span>'+"\n"+
       '<div id="'+panelName+'_panel" class="panel_content"></div>'+"\n"+
      '</div>'+"\n";

   if (bgColor) {
      $(panelName+'_panel_wrapper').style.backgroundColor = bgColor;
   }

   closePanel(panelName);

}

// -----------------------------------------------------------------------
//   FINE PANNELLI
// -----------------------------------------------------------------------






// -----------------------------------------------------------------------
//   WINDOWS
// -----------------------------------------------------------------------


function showDialog (type, content) {
   var msg = '<img src="'+WWWROOT+'/shared/img/dialogs/'+type+'.gif" style="float: left;"><div style="margin-left: 70px; text-align:left">'+content+'</div>';
   Dialog.alert(msg, {windowParameters: {className: "alphacube", width:250, height:150}, okLabel: "Close"});
}

function loadWindow (windowTitle, bgColor, width, height, url, met, vars) {

   if (windowTitle == undefined) {
      showDialog('error', 'Undefined windowTitle');
   }

   if (url == undefined) {
      showDialog('error', 'Undefined url');
   }

   if(!$('cmwindow')) {
      win = new Window('cmwindow', {className: "alphacube", title: windowTitle, width:width, height:height});
   }
   else {
      Windows.getFocusedWindow().setTitle(windowTitle);
   }

   if (met == undefined) {
      met = 'post';
   }

   if (vars == undefined) {
      vars = 'foo=bar';
   }

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,
      onSuccess: function(transport) {
         var response = transport.responseText || "no response text";
         win.getContent().update('<div style="padding: 10px">'+response+'</div>');
      },
      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

   win.setDestroyOnClose();
   win.showCenter();

}

function closeWindow () {
   Windows.getFocusedWindow().destroy();
}

// -----------------------------------------------------------------------
//   FINE WINDOWS
// -----------------------------------------------------------------------





// -----------------------------------------------------------------------
//   AJAX
// -----------------------------------------------------------------------


Ajax.Responders.register({
   onCreate: function(){
      $('loading').innerHTML = 'loading...';
      show('loading');
   },
   onComplete: function(){
      $('loading').innerHTML = '';
      hide('loading');
   }
});


// -----------------------------------------------------------------------
//   FINE AJAX
// -----------------------------------------------------------------------






// -----------------------------------------------------------------------
//   FUNZIONI DI UTILITA' COMUNE
// -----------------------------------------------------------------------

function in_array(the_needle, the_haystack) {
   for (var i = 0; i < the_haystack.length; i++) {
      if (the_haystack[i] == the_needle) {
         return (true);
      }
   }
   return (false);
}


function addslashes(str) {
   str=str.replace(/\'/g,'\\\'');
   str=str.replace(/\"/g,'\\"');
   //str=str.replace(/\\/g,'\\\\');
   //str=str.replace(/\0/g,'\\0');
   return str;
}

function stripslashes(str) {
   str=str.replace(/\\'/g,'\'');
   str=str.replace(/\\"/g,'"');
   //str=str.replace(/\\\\/g,'\\');
   //str=str.replace(/\\0/g,'\0');
   return str;
}


function show(objName) {
   $(objName).style.display = 'block';
}

function hide(objName) {
   $(objName).style.display = 'none';
}

function getCheckedValue(radioObj) {
   if(!radioObj)
      return "";
   var radioLength = radioObj.length;
   if(radioLength == undefined)
      if(radioObj.checked)
         return radioObj.value;
      else
         return "";
   for(var i = 0; i < radioLength; i++) {
      if(radioObj[i].checked) {
         return radioObj[i].value;
      }
   }
   return "";
}




document.onmousemove = getMouseXY;
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)

var MouseX = 0;
var MouseY = 0;

function getMouseXY(e) {
   if (IE) { // grab the x-y pos.s if browser is IE
      MouseX = event.clientX + document.body.scrollLeft;
      MouseY = event.clientY + document.body.scrollTop;
   }
   else {  // grab the x-y pos.s if browser is NS
      MouseX = e.pageX;
      MouseY = e.pageY;
   }
   if (MouseX < 0) {
      MouseX = 0;
   }
   if (MouseY < 0){
      MouseY = 0;
   }


   return true;
}

// -----------------------------------------------------------------------
//   FINE FUNZIONI DI UTILITA' COMUNE
// -----------------------------------------------------------------------



// SEARCH ADDRESS RESULTS
function searchAddressResultsGetBalloonHtml (lat, lon, addr) {

   var html =  ''+
               addr+'<br><br>'+
               '<table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="'+WWWROOT+'/shared/img/pushpin_mini.gif" border="0" width="16" height="16"></td><td>'+
               '<a class="add_post" href="javascript:;" onclick="addPostAtLatLon(\''+lat+'\', \''+lon+'\',\''+addslashes(addr)+'\')">Aggiungi un post qui</a>'+
               '</td></tr></table>';

   return html;

}

// SEARCH ADDRESS RESULTS (utente non loggato)
function searchAddressResultsGetBalloonHtmlUnregistered (lat, lon, addr) {

   var html =  ''+
               addr+'<br><br>'+
               '<table border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td><img src="'+WWWROOT+'/shared/img/pushpin_mini.gif" border="0" width="16" height="16"></td><td>'+
               '<a class="add_post" href="javascript:;" onclick="openPanel(\'login\');">Puoi aggiungere un post qui se effettui prima il log-in<br>(Pannello \'log-in\' nel menu di sinistra)</a><br><br>Se non sei un utente registrato, devi prima <a href="../../registrati.php" onclick="window.open(this.href);return false;">registrarti</a>'+
               '</td></tr></table>';

   return html;

}




// -----------------------------------------------------------------------
//   POST
// -----------------------------------------------------------------------

function addPostAtLatLon (lat, lon, addr) {

   loadWindow ('NUOVO POST', '#9AA3D3', 480, 400, WWWROOT+'/shared/windows/post_form.window.php', 'POST', 'm=I&post_lat='+lat+'&post_lon='+lon+'&post_addr='+escape(addr));

}

function addPostAtPath() {

   // ottengo una rappresentazione come stringa dell'array globale newPath
   var points = new Array();
   for (var i = 0, len = newPath.length; i < len; ++i) {
      points.push(newPath[i][0]+','+newPath[i][1]);
   }
   var newPathStr = points.join('|');

   // svuoto l'array globale newPath
   // newPath.clear();
   // newPathPolyline = undefined;

   loadWindow ('NUOVO POST', '#9AA3D3', 480, 400, WWWROOT+'/shared/windows/post_form.window.php', 'POST', 'm=I&post_path='+newPathStr);
}

function showPostContent (post_id, force_reload) {

   var url  = WWWROOT+'/shared/ajax/show_post_content.php';
   if (force_reload == 'Y') {
     url += '/' + Math.random();
   }
   var vars = 'i='+post_id;
   var met  = 'post';

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

}



function showPostIcon (post_id, centermap, auto_open) {

   if(!centermap) {
   	  centermap = 'Y';
   }

   if(!auto_open) {
      auto_open = 'Y';
   }

   var url  = WWWROOT+'/shared/ajax/show_post_icon.php';
   var vars = 'i='+post_id+'&centermap='+centermap+'&auto_open='+auto_open;
   var met  = 'post';

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

}



function showAllPostInCurrentMap () {

   //alert(map.getBounds());

   map.clearOverlays();

   var currentMapBounds = map.getBounds();
   var NorthEast = currentMapBounds.getNorthEast();
   var SouthWest = currentMapBounds.getSouthWest();

   var currentMaxLat = NorthEast.lat();
   var currentMinLat = SouthWest.lat();

   var currentMaxLon = NorthEast.lng();
   var currentMinLon = SouthWest.lng();

   //alert ('currentMinLat:'+currentMinLat+' | currentMaxLat:'+currentMaxLat);
   //alert ('currentMinLon:'+currentMinLon+' | currentMaxLon:'+currentMaxLon);

   var url  = WWWROOT+'/shared/ajax/show_all_posts_in_current_map.php';
   var vars = 'min_lat='+currentMinLat+'&max_lat='+currentMaxLat+'&min_lon='+currentMinLon+'&max_lon='+currentMaxLon;
   var met  = 'post';

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

}






function openPostInNewWindow (post_id) {
   window.open(WWWROOT+'/'+LOCAL_MAP+'/post.php?i='+post_id);
}



function savePost () {

   var url = WWWROOT+'/shared/ajax/add_post.php';
   var met = 'post';
   var vars = $('post_form').serialize();

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

}

function editPost (howmanyPostFiles) {

   var postForm   = document.forms['post_form'];
   var post_delete_files = '';
   for (var i = 0; i < howmanyPostFiles; i++) {
      fieldName = 'cancellafile_'+i;
      post_delete_files += escape(postForm[fieldName].value)+'|';
   }

   var url  = WWWROOT+'/shared/ajax/edit_post.php';
   var met  = 'post';
   var vars = $('post_form').serialize();
   vars += '&post_delete_files='+post_delete_files;

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });
}


function spostaPost (post_id) {

   showDialog('info','Clicca sul punto della mappa in cui vuoi spostare il post');
   map.clearOverlays();
   clickCurrentFunc  = 'move_post';

   currentPostId     = post_id;

}


function modificaTracciatoPost (post_id) {

   showDialog('info','Trascina le icone per spostare i punti del tracciato');
   map.clearOverlays();

   var url  = WWWROOT+'/shared/ajax/show_path_icons.php';
   var met  = 'post';
   var vars = 'i='+post_id;

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

}


function aggiornaPolyline (points,poly) {
   var polylinepoints = new Array();
   for (var i = 0; i < points.length; i++) {
      polylinepoints[i] = new GLatLng(points[i]['lat'], points[i]['lon']);
   }

   //var polyline = new GPolyline(polylinepoints);
   map.removeOverlay(currentPolyline);
   currentPolyline = new GPolyline(polylinepoints);
   map.addOverlay(currentPolyline);
}


function salvaModificheTracciato (post_id, points) {
   var howmany_points = currentPolyline.getVertexCount();
   var vars = 'post_id='+post_id+'&points='+howmany_points;
   var points = new Array();
   for (var i = 0; i < howmany_points; i++) {
      vars += '&point_'+i+'='+currentPolyline.getVertex(i).lat()+'|'+currentPolyline.getVertex(i).lng();
   }

   var url = WWWROOT+'/shared/ajax/edit_post_path.php';
   var met = 'post';

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });
}


function saveComment () {
   var url  = WWWROOT+'/shared/ajax/add_comment.php';
   var met  = 'post';
   var vars = $('add_comment_form').serialize();

   new Ajax.Request(url,
   {
      method: met,
      parameters: vars,

      onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });
}



function show_file_preview (filePreviewName) {
   if (filePreviewName != '') {
      obj = $('file_preview');

      prvhtml = '<img src="'+WWWROOT+'/maps/'+LOCAL_MAP+'/upload/'+filePreviewName+'" border="0" style="margin: 0; padding: 0; border: 2px solid #000000">';
      if (obj.innerHTML != prvhtml) {
         obj.innerHTML = prvhtml;
      }

      obj.style.top  = (MouseY+10)+'px';
      obj.style.left = (MouseX+10)+'px';
      show('file_preview');
   }
}


function hide_file_preview () {
   $('file_preview').innerHTML = '';
   hide('file_preview');
   return true;
}

function addCommentToPost(post_id) {
   loadWindow ('nuovo commento', '#9AA3D3', 480, 400, WWWROOT+'/shared/windows/add_comment.window.php', 'POST', 'post_id='+post_id);
}

function cancellaPost(post_id) {
   if(confirm('Sei sicuro di voler cancellare questo post?')) {
      var url  = WWWROOT+'/shared/ajax/del_post.php';
      var met  = 'post'
      var vars = 'i='+post_id;

      new Ajax.Request(url,
      {
         method: met,
         parameters: vars,

         onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
      });
   }
}

function modificaPost(post_id) {
   loadWindow ('modifica post', '#9AA3D3', 480, 400, WWWROOT+'/shared/windows/post_form.window.php', 'POST', 'm=U&post_id='+post_id);
}

function movePostAtLatLon(post_id,lat,lon) {

  var url  = WWWROOT+'/shared/ajax/move_post.php';
  var met  = 'post'
  var vars = 'i='+post_id+'&lat='+lat+'&lon='+lon;

  new Ajax.Request(url,
  {
     method: met,
     parameters: vars,

     onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
  });
}


// -----------------------------------------------------------------------
//   FINE POST
// -----------------------------------------------------------------------




























// -----------------------------------------------------------------------
//   LOGIN
// -----------------------------------------------------------------------

function try_login() {


   new Ajax.Updater('login_panel', WWWROOT+'/shared/panels/login.panel.php',
   {
      method:      'post',
      parameters:  { email:$F('login_username'), password:$F('login_password') },
      evalScripts: true,
      onFailure:   function() { showDialog('error', 'Something went wrong...') }
   });

/*
   var url = WWWROOT+'/shared/panels/login.panel.php';
   var met = 'post';
   var vars = 'email='+$F('login_username')+'&password='+$F('login_password');
   new Ajax.Request(url,
   {
    method: met,
    parameters: vars,
    onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      $('login_panel').innerHTML=response;
    },
    onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });
*/
}

function logout() {

   var url = WWWROOT+'/shared/panels/login.panel.php';
   var met = 'post';
   var vars = 'mode=logout';
   new Ajax.Request(url,
   {
    method: met,
    parameters: vars,
    onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      $('login_panel').innerHTML=response;
    },
    onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });

   logged_in = 'N'
   removePanel('tools');
   $('navigation').innerHTML = '';


   url = WWWROOT+'/main_site/tpl/navigation.php';
   met = 'post';
   new Ajax.Request(url,
   {
    method: met,
    parameters: vars,
    onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      $('nav_wrapper').innerHTML=response;
    },
    onFailure: function() { showDialog('error', 'Error retriveing data from URL:'+url) }
   });
   //new Ajax.Updater($('nav_wrapper'), WWWROOT+'/main_site/tpl/navigation.php', {method: 'post'});

   /*
   new Ajax.Updater('login_panel', WWWROOT+'/shared/panels/login.panel.php',
   {
      method:      'post',
      parameters:  { mode:'logout' },
      evalScripts: true,
      onFailure:   function() { showDialog('error', 'Something went wrong...') }
   });
   */
}

// -----------------------------------------------------------------------
//   FINE LOGIN
// -----------------------------------------------------------------------




function showUserProfile(user_id, user_nickname) {
    var vars = 'user_id='+user_id;
    loadWindow ('Profilo personale di '+user_nickname, '#ffffff', 640, 450, WWWROOT+'/shared/windows/user_profile.php', 'post', vars);
}

function showAllTags() {
   loadWindow ('tutti i tag', '#ffffff', 500, 400, WWWROOT+'/shared/windows/tag_cloud.window.php', 'post');
}



function goto_citymap() {
   citymap = document.forms['choose_citymap'].citymap.value;
   if (citymap != '') {
     document.location.href = WWWROOT+'/'+citymap+'/';
   }
 }


function no_spam (user,domain) {
  locationstring = "mailto:" + user + "@" + domain;
  window.location = locationstring;
}

//]]>
