function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function javascript_popup(url,name,toolbar,location,directories,status,menubar,scrollbars,resizable,width,height) 
	{
			var strWin;
			
			strWin = 'toolbar=' + toolbar;
			strWin = strWin + 'location=' + location + ',';
			strWin = strWin + 'directories=' + directories + ',';
			strWin = strWin + 'status=' + status + ',';
			strWin = strWin + 'menubar=' + menubar + ',';
			strWin = strWin + 'scrollbars=' + scrollbars + ',';
			strWin = strWin + 'resizable=' + resizable + ',';
			strWin = strWin + 'width=' + width + ',';
			strWin = strWin + 'height=' + height;
			
			sealWin=window.open(url,'_blank',strWin);
			
        self.name = "mainWin"; 
    }
  
var mainmessage=' and then press the Subscribe button.';

function NLecheck(str) {
                // Function to validate e-mail address to the following format:
		// name@domain.domaintype
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		var message='Invalid Email address. \n\nPlease enter a valid E-mail address' + mainmessage;
		if (str.indexOf(at)==-1){
		   alert(message)
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert(message)
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert(message)
		    return false
		}
      	        if (str.indexOf(at,(lat+1))!=-1){
		    alert(message)
		    return false
		}
      	        if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert(message)
		    return false
		}
 	        if (str.indexOf(dot,(lat+2))==-1){
		    alert(message)
		    return false
 	        } 
		if (str.indexOf(" ")!=-1){
		    alert(message)
		    return false
		}
		return true					
	}

function NLValidateForm(){
        var clientName   = document.NewsletterForm.name
        var clientEmail  = document.NewsletterForm.email
 

        if ((clientName.value==null)||(clientName.value=="")){
		alert('Please enter your name' + mainmessage)
		clientName.focus()
		return false 
	}
	if ((clientEmail.value==null)||(clientEmail.value=="")){
		alert('Please enter your E-mail address' + mainmessage);
		clientEmail.focus()
		return false
	}
	if (NLecheck(clientEmail.value)==false){
		clientEmail.focus()
		return false
	}
        return true;
 }

function NLSubmit()
{
  if (NLValidateForm()==true)
  {
    document.NewsletterForm.submit();
  }
}

function displaySort()
{
  document.getElementById("SortOrder").style.visibility="visible";
}

function hideSort()
{
  frmSearch.SortOrder.options[0].selected=true; 
  document.getElementById("SortOrder").style.visibility="hidden";
}

function showBookmark()
{
var myDate2 = new Date();
myDate3=myDate2.getMonth() + "/" + myDate2.getDate() + "/" + myDate2.getYear();

if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) 
{
    myBookmark="<tr><td>";
    myBookmark=myBookmark + "<TABLE WIDTH='100%' BORDER='0' ALIGN='CENTER' CELLPADDING='3' CELLSPACING='0' bgcolor='E1FFDA' style='{border-style: solid; border-color:#A1A6B2; border-width:1px}'>";
    myBookmark=myBookmark + "<TR><TD VALIGN='center' align=middle bgcolor='#E3E7EE'>";
    myBookmark=myBookmark + '<A HREF="javascript:setCookie(\'ApexBookmarkDate\',\''+ myDate3 + '\');setCookie(\'ApexBookmark\',\'Yes\');window.external.AddFavorite(document.URL,document.title);" class=listing><b>Bookmark Us!</b></a><hr class=hrgray>';
    myBookmark=myBookmark + "<A HREF=javascript:setCookie('ApexBookmarkDate','" + myDate3 + "');setCookie('ApexBookmark','Yes'); onClick=style.behavior='url(#default#homepage)';setHomePage('http://www.apexpacific.com'); class=listing><b>Make us your Homepage!</b></a>";
    myBookmark=myBookmark + "</TD></TR>";   
    myBookmark=myBookmark + "</TABLE></td></tr>"; 
    displayed=true;
}
var value = /\/cgi\//ig;
var msg = 1;
if (document.URL.match(value)){msg = 0;}
if ((navigator.appName == "Netscape") && (msg == 1)){
 myBookmark="";
}
}

function PageQuery(q) {
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("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[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 false;
}
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 queryString(key){
var page = new PageQuery(window.location.search); 
return unescape(page.getValue(key)); 
}

function SetColor(Color,ObjColumn)
{
  ObjColumn.style.backgroundColor="#"+Color;
}

/**
 * Read the JavaScript cookies tutorial at:
 *   http://www.netspade.com/articles/javascript/cookies.xml
 */

/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, expires, path, domain, secure)
{
var myDate = new Date();
myNewDate=myDate.getMonth() + "/" + myDate.getDate() + "/" + parseInt(myDate.getYear()+2);

    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + myNewDate.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
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));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function moveLayers()
{
  var winW = 630, winH = 460;
  var iFactor;

  if (parseInt(navigator.appVersion)>3) {
   if (navigator.appName=="Netscape") {
    winW = window.innerWidth;
    winH = window.innerHeight;
   }
   if (navigator.appName.indexOf("Microsoft")!=-1) {
    winW = document.body.offsetWidth;
    winH = document.body.offsetHeight;
   }
   }
   document.getElementById("Links").style.left=parseInt((winW/2)-400)-10+504-1;
}

function SetColor(Color,ObjColumn)
{
  ObjColumn.style.backgroundColor="#"+Color;
}




