	var parseCookies = function() {
/*        var cookieList = {};
        for each (var cookie in document.cookie.split(/;/)) {
        	  var fields = cookie.split(/=/);
        	  cookieList[fields[0]] = fields[1];
        }
        return cookieList;
*/
        var cookieList = {};
		var cookie;
		var fields;
	    for (var i=0; i<document.cookie.length; i++) {
     		  cookie = document.cookie.split(';')[i];
			  if (cookie != null)
			  {
        	  fields = cookie.split('=');
        	  cookieList[fields[0]] = fields[1];
			  }
        }
        return cookieList;

    };

    var parseParams = function() {
/*        var params = {};
        var query = window.location.search;
        if (query != "") {
	        query = query.slice(1);
	        for each (var term in query.split(/&/)) {
	            var value = term.split(/=/);
	            params[value[0]] = decodeURIComponent(value[1]);
	        }
        }
        return params;
		*/
        var params = {};
		var term;
		var value;
        var query = window.location.search;
        if (query != "") {
	        query = query.slice(1);
		    for (var i=0; i<query.length; i++) {
			    term = query.split('&')[i];
				if(term != null)
				{
	            value = term.split('=');
	            params[value[0]] = decodeURIComponent(value[1]);
				}
	        }
        }
        return params;
		

    };

    var addParam = function(input, name, value) {
        var param = name + "=" + encodeURIComponent(value);
        if (input.value.indexOf("?") == -1) {
          input.value = input.value + "?" + param; 
        } else {
          input.value = input.value + "&" + param;
        }
      };

    var show = function(id) {
        document.getElementById(id).style.display = 'block';
    }

    window.onload = function() {
        var cookies = parseCookies();
        var params = parseParams();
        var form = document.forms.login_form;


        if (params.error !== undefined && cookies.CASTGC !== undefined) {
            params.error = undefined;
            cookies.CASTGC = undefined;
        }

        if (params.service !== undefined) {
            form.elements.service.value = params.service;
            addParam(form.elements.errorRedirect, "service", params.service);
            addParam(form.elements.passwordChangeRedirect, "service", params.service);
        }

        if (params.error !== undefined) {
			var id;
			document.getElementById("login-errors").style.display = 'block';
//			for each (var id = params.error.split(',')) {
		    for (var i=0; i<params.error.length; i++) {
                id = params.error.split(',')[i];
				if (id != null)
				{
                show(id);
				}
            }
        }

        if (params.user !== undefined) {
            form.elements.username.value = params.user;
        }

        if (cookies.CASTGC === undefined) {
            show("login");
            form.onsubmit = function () {
                var username = form.elements.username.value;
                if (username.length > 0) {
                  addParam(form.elements.errorRedirect, "user", username);
                  addParam(form.elements.passwordChangeRedirect, "user", username);
                }
                return true;
            };
        } else {
            form.elements.username.value = "";
            form.elements.password.value = "";
            if (params.service === undefined) {
                show("loggedIn");
            	  document.getElementById("toMMMLink").onclick = function () {
            		  loginForm.submit();
              	  return false;
            	  };
            } else {
                loginForm.submit();
            }
        }
    }