$(document).ready(function () {
   $("#q").focus(function() {
      $("#q").val('');
   });
   
   $("#n").focus(function() {
      $("#n").val('');
   });

   setTimeout("$(\"#message_bar\").slideUp(500);", 5000);

   //$("#navigator_bar").scrollFollow( { speed: 200 } );

   $("#list_order").bind("change", function() {
      var tmp = location.href.split('?');
      location.href = tmp[0] + '?o=' + $("#list_order").val();
   });

   $("#q_submit").bind("click", function() {
      if (!$("#q").val()) alert ('Inserire almeno un termine di ricerca.');
   	else location.href = String2Pagename($("#q").val()) + '.html';
   });

   $("#q").bind("keypress", function(e) {
      if (e.which == 13) {
         if (!$("#q").val()) alert ('Inserire almeno un termine di ricerca.');
         else location.href = String2Pagename($("#q").val()) + '.html';
      }
   });

});

function ZoomImage(url, x, y) {
	zoom = window.open(url, "open", "width="+x+", height="+y+", toolbar=no, resizable=no, scrollbars=no");
}

function String2Pagename(string)
{
   var out = '/search/';

	var t = string.split(' ');
	for (key in t) {
	   out = out + t[key] + '_';
   }

   return (out.substring(0, out.length - 1));
}


function Form2Array(formid) {
   var raw = $("#" + formid + " input");
   for (var k in raw) {
      var out = out + k + " > " + raw[k] + "\n";
   }
   alert (out);
}

function checkBrowser(list) {
   for ( var browser in list )
   {
      if (jQuery.browser[browser] && jQuery.browser.versionX >= list[browser]) return true;
   }

   return false;
}

var Content;

var Flag = 0;
var Ani = 50;
var oldpath;
var Path;
var Hash;
var oldHash;
var Opening;
var Flag2 = false;
var PostData;

$.history.callback = function ( reinstate, cursor ) {

   if (jQuery.browser.msie) {
      Flag2 = true;
      openLocation(reinstate.url, reinstate.path);
   }

}

function hashPolling() {

   Hash = window.location.hash.slice(1);

   if (Hash != oldHash) {
      if (Opening != Hash) {
         openLocation(Hash, '');
      }
   }
   oldHash = Hash;
   setTimeout('hashPolling();', 100);

}

function setPath(path) {
   Path = path;
}

function setContentNoPath(responseText, textStatus, XMLHttpRequest) {

   Flag = 0;
   $("#progress").stop();
   $("#progress").css('visibility', 'hidden');
   $("#progress").css('left', '-50px');
   Ani = 50;

   $("#content").html(responseText);

   path = $("#path").val();

   var expath = path.split('/');
   var level = expath.length;
   var id = expath[level - 1];

   $(".menu_level1").hide();
   $(".menu_level2").hide();

   for (n = 0; n < level; n++) {
      $("#child_" + expath[n]).show();
   }

   oldpath = expath;

   for (n = 1; n <= 3; n++) {
      $(".menu_i" + n).attr('src', '/images/menu/b' + n + 'u-mask.png');
   }

   $("#" + id + "_mask").attr('src', '/images/menu/b' + level + 'c-mask.png');

}

function setContent(responseText, textStatus, XMLHttpRequest) {

   Flag = 0;
   $("#progress").stop();
   $("#progress").css('visibility', 'hidden');
   $("#progress").css('left', '-50px');
   Ani = 50;

   $("#content").html(responseText);

}

function openLocation(url, path) {

   Opening = url;
   
   if (jQuery.browser.msie) {
      if (!Flag2) $.history( { 'url' : url, 'oldpath' : path } );
      else window.location.hash = url;
   }

   Flag2 = false;

   window.scrollTo(0,0);

   if (!path) {
      if (Path) path = Path;
      Path = '';
   }

   if (url.search('\\\?') != -1) url = url + "&w2";
   else url = url + "?w2";

   if (!path) {

      if (PostData) {
         jQuery.post(url, PostData, function (responseText, textStatus, XMLHttpRequest) { setContentNoPath(responseText, textStatus, XMLHttpRequest); }, 'html');
         PostData = null;
      } else {
         jQuery.get(url, '', function (responseText, textStatus, XMLHttpRequest) { setContentNoPath(responseText, textStatus, XMLHttpRequest); }, 'html');
      }
   } else {

      var expath = path.split('/');
      var level = expath.length;
      var id = expath[level - 1];

      if (!in_array(id, oldpath)) {
         if (!oldpath) {
            $(".menu_level1").hide();
            $(".menu_level2").hide();
            for (n = 0; n < level; n++) {
               $("#child_" + expath[n]).show();
            }
         } else {
            $(".menu_level" + level).slideUp(500);
            if (level == 1) $(".menu_level2").slideUp(500);
            $("#child_" + id).slideDown(500);
         }
      } else {
         if (level == 1) $(".menu_level2").slideUp(500);
      }

      oldpath = expath;

      for (n = 1; n <= 3; n++) {
         $(".menu_i" + n).attr('src', '/images/menu/b' + n + 'u-mask.png');
      }

      $("#" + id + "_mask").attr('src', '/images/menu/b' + level + 'c-mask.png');

      if (PostData) {
         jQuery.post(url, PostData, function (responseText, textStatus, XMLHttpRequest) { setContent(responseText, textStatus, XMLHttpRequest); }, 'html');
         PostData = null;
      } else {
         jQuery.get(url, '', function (responseText, textStatus, XMLHttpRequest) { setContent(responseText, textStatus, XMLHttpRequest); }, 'html');
      }
   }

   Flag = 1;

   loadingBar();

}

function loadingBar() {

   $("#progress").css('visibility', 'visible');
   if (Flag == 1) {
      $("#progress").animate( { left : Ani + 'px' }, 1000, '', function() { loadingBar() } );
      Ani = (Ani == 50 ? -50 : 50);
   }

}

