function getPage(pageCnt, dir, search, domain){
		var url= rootURL + "domains/ajax_return.asp";		
		url+="?dn="+domain+"&dir="+dir+"&s="+search;
		url+="&a="+Math.random();
		var xmlHttp = GetXmlHttpObject();
		if(xmlHttp!=null){
			xmlHttp.open("GET",url,true);
			if (search > ""){
				if(document.getElementById("paging_search")) document.getElementById("paging_search").style.display = "none";
				if(document.getElementById("load_img_search")) document.getElementById("load_img_search").style.display = "";}
			else{
				if(document.getElementById("paging")) document.getElementById("paging").style.display = "none";
				if(document.getElementById("load_img")) document.getElementById("load_img").style.display = "";		
			}
			xmlHttp.onreadystatechange=function(){
				if (xmlHttp.readyState==4){ 
					var result = xmlHttp.responseText;
					if (search > ""){
						pageNumSearch += dir;
						var total = resultset(result, "total", "|");
						if(parseInt(total) > 0){
							var firstDomain = resultset(result, "first", "|");
							var lastDomain = resultset(result, "last", "|");
							if(document.getElementById("searchlist")) document.getElementById("searchlist").innerHTML = resultset(result, "html", "|");
							if(document.getElementById("paging_search")) document.getElementById("paging_search").innerHTML = displayPages(pageNumSearch, pageCnt, total, search, firstDomain, lastDomain);
							if(document.getElementById("paging_search")) document.getElementById("paging_search").style.display = "";
							if(document.getElementById("load_img_search")) document.getElementById("load_img_search").style.display = "none";			
							getPrevious(resultset(result, "domains", "|"));
						}
						else{
							if(document.getElementById("searchlist")) document.getElementById("searchlist").innerHTML = "<br/>No domains found that match that search criteria.";
							if(document.getElementById("paging_search")) document.getElementById("paging_search").style.display = "none";
							if(document.getElementById("load_img_search")) document.getElementById("load_img_search").style.display = "none";			
						}
					}
					else{	
						pageNum += dir;
						if(document.getElementById("domainlist")) document.getElementById("domainlist").innerHTML = resultset(result, "html", "|");
						var total = resultset(result, "total", "|");
						var firstDomain = resultset(result, "first", "|");
						var lastDomain = resultset(result, "last", "|");
						getPrevious(resultset(result, "domains", "|"));
						if(document.getElementById("paging")) document.getElementById("paging").innerHTML = displayPages(pageNum, pageCnt, total, search, firstDomain, lastDomain);
						if(document.getElementById("paging")) document.getElementById("paging").style.display = "";
						if(document.getElementById("load_img")) document.getElementById("load_img").style.display = "none";			
					}						
				}
			}
			xmlHttp.send(null);
		}
}

function getPrevious(domainlist){
	var arrDomains = new Array();
	arrDomains = domainlist.split('~');
	for (i=0;i<arrDomains.length;i++){
		if(scDomainDic){
			if(scDomainDic.hasItem(arrDomains[i])){
				if(document.frmAdd["chk_" + arrDomains[i]]) document.frmAdd["chk_" + arrDomains[i]].checked=true;
				if(document.frmAddSearch["chk_" + arrDomains[i]])document.frmAddSearch["chk_" + arrDomains[i]].checked=true;
			}
		}
	}

}

function displayPages(page, pageCnt, total, search, firstDomain, lastDomain){
	var displayStr = "";
	var pageTotal = total/pageCnt;
	if (pageTotal > parseInt(pageTotal)) pageTotal = parseInt(pageTotal)+1;
	//build back button
	if (page > 1){
		displayStr += '<a href="javascript:getPage('+pageCnt+',-1, \'' + search + '\', \'' + firstDomain + '\');" style="text-decoration:none;color:#000000;">< </a>';
	}
	displayStr += "<b>" + page + "</b> of " + pageTotal;
	//build forward button
	if (page < pageTotal){
		displayStr += '<a href="javascript:getPage('+pageCnt+',1, \'' + search + '\', \'' + lastDomain + '\');" style="text-decoration:none;color:#000000;"> ></a>';
	}
	return displayStr;
}

function URLDecode(encoded){
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
};
function strQuery(q, del) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split(del).length; i++) {
			this.keyValuePairs[i] = this.q.split(del)[i];}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
			return this.keyValuePairs[j].split("=")[1];}
	return '';
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; } 
}
function resultset(result, key, del){
	var page = new strQuery(result, del); 	
	return URLDecode(page.getValue(key)); 
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // IE
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
  }
  return xmlHttp;
} 

function GDJSDictionary()
{
	this.length = 0;
	//array of all items in collection
	this.items = new Array();
	for (var i = 0; i < arguments.length; i += 2) {
		if (typeof(arguments[i + 1]) != 'undefined') {
			this.items[arguments[i]] = arguments[i + 1];
			this.length++;
		}
	}
  //remove item from collection 
	this.removeItem = function(in_key){
		var tmp_value;
		if (typeof(this.items[in_key]) != 'undefined') {
			this.length--;
			var tmp_value = this.items[in_key];
			delete this.items[in_key];
		}	   
		return tmp_value;
	}
	//get item value
	this.getItem = function(in_key) {
		return this.items[in_key];
	}
	//add item to collection
	this.addItem = function(in_key, in_value)	{
		if (typeof(in_value) != 'undefined') {
			if (typeof(this.items[in_key]) == 'undefined') {
				this.length++;
			}
			this.items[in_key] = in_value;
		}
		return in_value;
	}
	//check if item exists in collection
	this.hasItem = function(in_key){
		return typeof(this.items[in_key]) != 'undefined';
	}
}

