var queryParameters = null;

function getQueryParameter(paramName) {
   var params = getQueryParameters();
   var upperParamName = paramName.toUpperCase();
   for (var i = 0; i < params.length; i++) {
      if (params[i].name.toUpperCase() == upperParamName) {
         return params[i].value;
      }
   }
   return null;
}

function getQueryParameters() {
   if (queryParameters == null) {
      queryParameters = new Array();
      var queryString = unescape(location.search);
      if (queryString != null && queryString != "") {
         queryString = queryString.slice(1);
         queryParameters = queryString.split("&");
         for (var i = 0; i < queryParameters.length; i++) {
            var pair = queryParameters[i].split("=");
            if (pair.length == 1) {
               queryParameters[i] = new queryParameter(pair[0], "");
            } else {
               queryParameters[i] =
                  new queryParameter(pair[0], pair.slice(1).join("="));
            }
         }
      }
   }
   return queryParameters;
}

function queryParameter(name, value) {
   this.name = name;
   this.value = value;
}

function getQueryParameter(paramName) {
   var params = getQueryParameters();
   var upperParamName = paramName.toUpperCase();
   for (var i = 0; i < params.length; i++) {
      if (params[i].name.toUpperCase() == upperParamName) {
         return params[i].value;
      }
   }
   return null;
}

function getQueryParameters() {
   if (queryParameters == null) {
      queryParameters = new Array();
      var queryString = unescape(location.search);
      if (queryString != null && queryString != "") {
         queryString = queryString.slice(1);
         queryParameters = queryString.split("&");
         for (var i = 0; i < queryParameters.length; i++) {
            var pair = queryParameters[i].split("=");
            if (pair.length == 1) {
               queryParameters[i] = new queryParameter(pair[0], "");
            } else {
               queryParameters[i] =
                  new queryParameter(pair[0], pair.slice(1).join("="));
            }
         }
      }
   }
   return queryParameters;
}

function decodeURL(url) {
	// decoding & = ? <space> characters
	url =  url.replace(/amper/g, "&");
	url =  url.replace(/equal/g, "=");
	url =  url.replace(/space/g, " ");
	url =  url.replace(/quest/g, "?");
	url =  url.replace(/query/g, "http://picasaweb.google.com/lh/searchbrowse?uname=psubabbler&q=");
	url =  url.replace(/random/g, "http://pchewy.thewarf.com/picaso/picsMain.htm?picStart=-1");
	url =  url.replace(/home/g, "http://pchewy.thewarf.com/picaso/picsMain.htm");
	
	url =  url.replace(/qalbum/g, "http://pchewy.thewarf.com/thumbnails.php?album=");

	url =  url.replace(/qfamilypics/g, "http://pchewy.thewarf.com/_family.htm");
	url =  url.replace(/qfamily/g, "http://pchewy.thewarf.com/_family.htm");

	url =  url.replace(/qfamilyvids/g, "http://pchewy.thewarf.com/vid/FamilyDetailedVideosListingPreview.xml");
	url =  url.replace(/qfamilyvid/g, "http://pchewy.thewarf.com/vid/FamilyDetailedVideosListingPreview.xml");

	url =  url.replace(/_/g, "%20");
	url =  url.replace(/underline/g, "_");

	url =  url.replace(/_/g, "%20");
	return url;
}

function encodeURL(url) {
	// encoding & = ? <space> characters
	url = url.replace(new RegExp("&", ["g"]), "amper");
	url = url.replace(new RegExp("=", ["g"]), "equal");
	url = url.replace(new RegExp(" ", ["g"]), "space");
	url = url.replace(new RegExp("?", ["g"]), "quest");
	url = url.replace(new RegExp("http://pchewy.thewarf.com/thumbnails.php?album=search&type=full&search=", ["g"]), "query");
	url = url.replace(new RegExp("http://pchewy.thewarf.com/thumbnails.php?album=", ["g"]), "qalbum");
	return url;
}

// Code below used to capture keys
function addEvent(obj, evType, fn, useCapture) {
    // ie and fx function to add an event listener
    // this is getting executed everytime if a key is hit and its is not in a from field
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, useCapture);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn);
        return r;
    } else {
        alert("handler could not be attached");
    }
}
 
function addKeyEvent() {
    var ev = (document.addEventListener) ? 'keypress' : 'keydown';
    addEvent(document, ev, checkKey, false);
    alert("addEvent"+checkKey);

}
 
// Trap ENTER so it only submits what we want it to
function checkKey(e) {
alert("e"+e);
	
	var key;
	if(window.event) key = window.event.keyCode;     //IE
     else key = e.which;     //firefox
	 
     if(key == 13) return processENTER();
     else return true;
}
 
function processENTER() {		// Used to allow the ENTER press to properly submit a form.

alert("g_sActiveForm"+g_sActiveForm);
	if(g_sActiveForm == "") return false;
	switch (g_sActiveForm) {
		case "login" : login("submit");break;
		case "teacher" : register("teacherSave");break;
		case "student" : register("studentSave");break;
	}
}

function RedirectTo(obj)
{  //redirect to object's value

	window.location.href= obj.value;
}

function mod(divisee,base) {
	
	return Math.round(divisee - (Math.floor(divisee/base)*base));
}
