// Pass in a query string variable and it returns the value. 
function queryString(keyName) { 
    var keyValue = "";
    keyName = keyName.toUpperCase() + "="; 

    var queryString = location.search;
    if (location.search.indexOf("?") != -1) { 
        queryString = location.search.substring(1, queryString.length); 
        var searchString = queryString.toUpperCase(); 
        if (searchString.indexOf(keyName) != -1) { 
            var keyValueStart = parseInt(searchString.indexOf(keyName)) + keyName.length; 
            var keyValueEnd = searchString.indexOf("&", keyValueStart); 
            var keyValueEnd = (keyValueEnd != -1) ? keyValueEnd : searchString.length; 
            keyValue = queryString.substring(keyValueStart,keyValueEnd); 
        }

        var plusPos = keyValue.indexOf('+');
        while (plusPos != -1) {
            keyValue = keyValue.substring(0, plusPos) + " " + keyValue.substring(plusPos + 1, keyValue.length);
            plusPos = keyValue.indexOf('+');
        }
    } 

    return unescape(keyValue); 
} 

/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
    Enhanced by Dennis Pierce to allow multiple names in the querystring. 
*/
function QueryString(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=QueryString_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
        // If the name already exists, then we need to make the values into
        // an array. 
        if (this.params[name] == undefined) {
          this.params[name] = new Array(value);
        } else {
          this.params[name].push(value);
        }
        
	}
}

function QueryString_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}

// Retrieves an emailed url and redirects the browser to that page.
function gotoEmailedUrl() {
  var cook = new Cookie("sessionDataHolder");
  var destUrl = cook.emailedUrl;
  if (cook.emailOverrideUrl != undefined && cook.emailOverrideUrl != null) {
    destUrl = cook.emailOverrideUrl;
  }
  cook.remove();
  if (destUrl) {
    location.href = destUrl;
  }
  
}

// Trims space from the left side of a string. 
function LTrim(txt) {
    return txt.replace(/^[\s]+/g, "");
}


// Returns true if letter is alphanumeric; otherwise false. 
function isAlphaNumeric(letter) {
  var re = new RegExp();
  re = /[a-zA-Z0-9]/;
  if (letter.match(re) != null) {
    return true;
  } else {
    return false;
  }
}
// Returns true if letter is alpha; otherwise false. 
function isAlpha(letter) {
  var re = new RegExp();
  re = /[a-zA-Z]/;
  if (letter.match(re) != null) {
    return true;
  } else {
    return false;
  }
}

// Log in functions
function isLoggedIn() {
        var cookie_name="amg_user";
        var nameEQ = cookie_name + "=";
        var ca = document.cookie.split(';');
        for (var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return true;
        }
        return false;
    }

    function username(){
        var name="amg_user_info";
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            // max of 25 chars in username. 
            if (c.indexOf(nameEQ) == 0) {
              // check length. 
              var nameLen = c.substring(nameEQ.length,c.length).length;
              if (nameLen>25) {
                return c.substring(nameEQ.length,nameEQ.length+22)+ "...";
              } else {
                return c.substring(nameEQ.length,nameEQ.length+25);
              }
            }
        }
        return null;
    }

