// Do not forget to add new webapps to ROBOTS.TXT

var COOKIE_PREFIX = 'MNAccountCookie';
var LAST_SERVER_COOKIE = 'LastMNServer';
var MAX_COOKIES = 10;

function getLoginUrl(server) {
	if (server == 'general') {
		return 'http://app.metricnews.com/metricnews/admin/index.jsp';
	} else if (server == 'harris') {
		return 'http://harris.metricnews.com/HarrisNews/admin/index.jsp';
	} else if (server == 'hstx') {
		return 'http://enews.harrisstratex.com/hstx/admin/index.jsp';
	} else if (server == 'demo') {
		return 'http://app.metricnews.com/metricnews-demo/admin/index.jsp';
	} else {
		return '';
	}
}

function metricLogin() {
	with(document.metricLoginForm) {
		var serverV = serverList.value.toLowerCase();
		if(serverV == 'other') {
			serverV = server.value.toLowerCase();
		}
		action = getLoginUrl(serverV);
		if (!action) {
			alert("Unknown Server!");
		} else {
			setSimpleCookie(LAST_SERVER_COOKIE, serverV);
			for(i = 0; i < MAX_COOKIES; i++) {
				var serverInCookie = getCookie(COOKIE_PREFIX + i);
				if(!serverInCookie || serverInCookie.length == 0) {
					setSimpleCookie(COOKIE_PREFIX + i, serverV);
					break;
				} else if(serverInCookie == serverV) {
					break;
				}
			}
			if(NOPRESERVEUsername.value.length > 0) { // && NOPRESERVEPassword.value.length > 0) {
				submit();
				return true;
			}
		}
		return false;
	}
}

function login() {
	if (document.metricLoginForm.terms.checked == true) {
		return metricLogin();
	}
	else {
		alert("Please read and confirm that you agree with MetricNews Terms of Use and Anti-Spam Policy.");
		return false;
	}
}

function submitLoginOnReturnKeyPress(event)
{
	if((document.layers ? event.which : event.keyCode)==13) {
    	return login();
    }
}

// Unused fonction ?
function submitFormOnReturnKeyPress(form, event) {
	if((document.layers ? event.which : event.keyCode)==13) {
		form.submit();
	}
}

function setSimpleCookie(id, value) {
	var oneYearFromNow = new Date();
	oneYearFromNow.setTime(oneYearFromNow.getTime() + 365 * 24 * 60 * 60 * 1000);
	setCookie(id, value, oneYearFromNow);							
}

// 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;
}


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));
}
