  function popup(mylink) {
    if (! window.focus) return true;
    var href;
    if (typeof(mylink) == 'string')
       href = mylink;
    else
       href=mylink.href;
    var win = window.open(href, href, 'width=600,height=400,scrollbars=yes');
    win.focus();
    return false;
  }

function emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
	    domArr[domArr.length-1].length>4) {
		return false
	}
	if (len<2) {
		return false
	}
	return true;
}


function gup(name) {
   name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
   var regexS = "[\\?&]"+name+"=([^&#]*)";
   var regex = new RegExp(regexS);
   var results = regex.exec(window.location.href);
   if (results == null)
      return '';
   else
      return results[1];
}

   String.prototype.count = function(char) {
      return this.split(char).length - 1;
   }

   var show_count = []; 
   var start = [];
   var url_suffix = [];
   var global_id;

   function show_next_prev_cb(responseText, textStatus, XMLHttpRequest) {
      if (textStatus != 'success') {
         return;
      }
      show_next_prev(global_id, responseText);
   }

   function show_next_prev(id, text) {
      if (start[id] == 0) {
        $('#' + id + '-prev').hide();
      } else {
        $('#' + id + '-prev').show();
      }
      if (text.toLowerCase().count('<tr>') < show_count[id] + 1) {
        $('#' + id + '-next').hide();
      } else {
        $('#' + id + '-next').show();
      }
   }

   function set_show_count(id, n) {
      start[id]      = 0;
      show_count[id] = n;
      $(document).ready(function() {
         show_next_prev(id, $('#' + id).html());
      });
   }

   function set_url_suffix(id, suffix) {
      url_suffix[id] = suffix;
   }

   function load_content(id) {
      var user_id = gup('user_id');
      if (start[id] < 0) {
         start[id] = 0;
      }
      var url = "table.htm?user_id=" + user_id + "&count=" + show_count[id] + "&query_name=" + id + "&start=" + start[id];
      if (url_suffix[id] != undefined) {
         url = url + url_suffix[id];
      }
      global_id = id;
      $('#' + global_id + ' tbody').load(url, '', show_next_prev_cb);
   }
   
   function show_next(id) {
      if (isNaN(start[id])) {
         start[id] = 0;
      }
      start[id] += show_count[id];
      load_content(id);
      return false;
   }

   function show_prev(id) {
      start[id] -= show_count[id];
      if (start[id] < 0) {
         start[id] = 0;
      }
      load_content(id);
      return false;
   }


