	function casLogin() {
		var service = document.frmLogin.service.value;
		casLoginUrl="/cas/login?ajaxlogin=true&renew=true&service=" + service;
		//alert("casLoginUrl=" + casLoginUrl);
		callAction(casLoginUrl, "submitLogin");
		return false;
	}

	function submitLogin(responseData) {
		var casParams = responseData.split(",");
		//alert(casParams);
		document.frmLogin.lt.value = trim(casParams[0]);
		document.frmLogin._currentStateId.value = trim(casParams[1]);
		
		//setto il cookie di ricorda username
		try {
			if (document.frmLogin.remember.checked) {
				var username = document.frmLogin.username.value;
				setUser(username);				
			} else {
				//rimuovo il cookie di ricorda username
				eraseCookie("username");
			}
		} catch (e) {
			// l'errore potrebbe verificarsi se il campo remember non è visibile
		}
		
		
		document.frmLogin.submit();
	}

	function trim(stringa){
		reTrim=/\s+$|^\s+/g;
   	return stringa.replace(reTrim,"");
  }

	var forgotPasswordWindow;
	function forgotPassword() {
	  try {
	  	if(forgotPasswordWindow){
	      forgotPasswordWindow.close();
	    }
	  } catch (e) {}
	  forgotPasswordWindow = window.open('/puma/generatepassword.po?embedded=true','forgotPassword','width=620,height=400,toolbar=no,scrollbars=no,resizable=yes'); 
	}

	
	/*
	JAVASCRIPT PER LA GESTIONE DEL RICORDA NOME UTENTE
   name - name of the cookie
   value - value of the cookie
   [expires] - expiration date of the cookie
     (defaults to end of current session)
   [path] - path for which the cookie is valid
     (defaults to path of calling document)
   [domain] - domain for which the cookie is valid
     (defaults to domain of calling document)
   [secure] - Boolean value indicating if the cookie transmission requires
     a secure transmission
   * an argument defaults when it is assigned null as a placeholder
   * a null placeholder is not required for trailing omitted arguments
	*/
	function setCookie(name, value, expires, path, domain, secure) {
	  var curCookie = name + "=" + escape(value) +
	      ((expires) ? "; expires=" + expires.toGMTString() : "") +
	      ((path) ? "; path=" + path : "") +
	      ((domain) ? "; domain=" + domain : "") +
	      ((secure) ? "; secure" : "");
	  document.cookie = curCookie;
	}
	
	/*
	  name - name of the desired cookie
	  return string containing value of specified cookie or null
	  if cookie does not exist
	*/
	function getCookie(name) {
	  var dc = document.cookie;
	  var prefix = name + "=";
	  var begin = dc.indexOf("; " + prefix);
	  if (begin == -1) {
	    begin = dc.indexOf(prefix);
	    if (begin != 0) return null;
	  } else
	    begin += 2;
	  var end = document.cookie.indexOf(";", begin);
	  if (end == -1)
	    end = dc.length;
	  return unescape(dc.substring(begin + prefix.length, end));
	}
	
	function eraseCookie(name) {
		setCookie("username", '');
	}

	// date - any instance of the Date object
	// * hand all instances of the Date object to this function for "repairs"
	function fixDate(date) {
	  var base = new Date(0);
	  var skew = base.getTime();
	  if (skew > 0)
	    date.setTime(date.getTime() - skew);
	}
	
	/*
	  Recupera il nome utente
	*/   
	function getUser() {
		return getCookie("username");
	}
	
	/*
	  Imposta l'utente in cookie
	*/  
	function setUser(user) {
		// create an instance of the Date object
		var now = new Date();
		// fix the bug in Navigator 2.0, Macintosh
		fixDate(now);
		/*
		cookie expires in one month (actually, 30 days)
		30 days in a year
		24 hours in a day
		60 minutes in an hour
		60 seconds in a minute
		1000 milliseconds in a second
		*/
		now.setTime(now.getTime() + 30 * 24 * 60 * 60 * 1000);
		setCookie("username", user, now);
	}
	
