// custom functions

function init(){  
	ja_rollover_preload("/images/","navvet_home","navvet_lab","navvet_community","navvet_library","navvet_learning","navvet_reminder","navvet_supplies","navvet_account","navvet_services","navvet_help","settingnav_clinic","settingnav_inbox","settingnav_setup","navremind_reminder","navremind_birthday","navremind_newsletter","navremind_email","navremind_hosting","navremind_directmail","navremind_calendars","navremind_ncoa","navremind_hpu");
	loaded = true;
}

// FUNCTION ja_rollover_preload
// loads on and off states
function ja_rollover_preload(){
  
  //if ((rolloverArray) && (imageArray)){
  
	var imagePath = arguments[0];
	
    for ( i=1; i<arguments.length; i++ ){
	
	  var imageName = arguments[i];
	  
	  // create off state image
	  rolloverArray[imageName+"_off"] = new Image();
	  rolloverArray[imageName+"_off"].src = imagePath + imageName + "_off.gif";
		  
	  // create on state image
	  rolloverArray[imageName+"_on"]  = new Image();
	  rolloverArray[imageName+"_on"].src  = imagePath + imageName + "_on.gif";
	  
	}
	
	return true;
	  
 /* } else {
		
	alert("There was a problem preloading the rollover images");
    return false;
		
  } */

}

var save_mag_image;

function getText(object) {
  return escape(object.value)
}

function StringArray (n) {
  this.length = n;
  for (var i =1; i <= n; i++) {
    this[i] = ' '

  }
}

//***Add new magazine cover images here***
//   increment img_array_size and add filename to image array
//
var img_array_size = 7;

image = new StringArray(img_array_size);
image[0] = '/site_images/mag_cover_garfield.jpg'
image[1] = '/site_images/mag_cover_dayna04.jpg'
image[2] = '/site_images/mag_cover_charisma04.jpg'
image[3] = '/site_images/mag_cover_ireland04.jpg'
image[4] = '/site_images/mag_cover_paula.jpg'
image[5] = '/site_images/mag_cover_melinda.jpg'
image[6] = '/site_images/mag_cover_leeza.jpg'

function ranimage() {
  //currentdate = new Date()
  //core = currentdate.getSeconds()
  //core = Math.floor(core/ran)
   var ran_number=Math.round(Math.random() * (img_array_size));
   if(ran_number < img_array_size) {
	return(image[ran_number]);
   }
   else { return(image[0]); }
}

function showimage(place,imagename) {
	document[place].src  = imagename;
	save_mag_image = imagename;
}

function magwindow(url) {
   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=270,width=251");
}

function preview(type) {

   var Tmpaddress1 = document.samples.haddress.value;
   var haddress1 = Tmpaddress1.replace('#','No. ');

   var Tmpaddress2 = document.samples.haddress2.value;
   var haddress2 = Tmpaddress2.replace('#','No. ');

   var url = '/cgi-bin/sample-previews.pl?hname=' + document.samples.hname.value + '&' + 'petname=' + document.samples.petname.value + '&' + 'cname=' + document.samples.cname.value + '&' + 'haddress=' + haddress1 + '&' + 'haddress2=' + haddress2 + '&' + 'phone=' + document.samples.phone.value + '&' + 'city=' + document.samples.city.value + '&' + 'state=' + document.samples.state.value + '&' + 'zip=' + document.samples.zip.value + '&' + 'type=' + type + '&' + type + '.x=1';

   if(type == 'mkt') {
	   win = window.open(url,"","status=no,scrollbars=yes,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=630,width=482");
   }
   if(type == 'rem') {
	   win = window.open(url,"","status=no,scrollbars=yes,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=630,width=482");
   }
   if(type == 'card') {
	   win = window.open(url,"","status=no,scrollbars=yes,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=480,width=680");
   }

	
   //default window size
   //win = window.open(url,"","status=no,scrollbars=yes,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=617,width=470");

}

function preview2(type) {

   var Tmpaddress1 = document.samples.haddress.value;
   var haddress1 = Tmpaddress1.replace('#','No. ');

   var Tmpaddress2 = document.samples.haddress2.value;
   var haddress2 = Tmpaddress2.replace('#','No. ');

   var url = '/cgi-bin/sample-previews2.pl?hname=' + document.samples.hname.value + '&' + 'petname=' + document.samples.petname.value + '&' + 'cname=' + document.samples.cname.value + '&' + 'haddress=' + haddress1 + '&' + 'haddress2=' + haddress2 + '&' + 'phone=' + document.samples.phone.value + '&' + 'city=' + document.samples.city.value + '&' + 'state=' + document.samples.state.value + '&' + 'zip=' + document.samples.zip.value + '&' + 'type=' + type + '&' + type + '.x=1';

   if(type == 'mkt') {
	   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=660,width=482");
   }
   if(type == 'rem') {
	   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=660,width=482");
   }
   if(type == 'static') {
	   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=530,width=680");
   }
   if(type == 'variable') {
	   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=530,width=680");
   }

}

function showdemo() {

   var url = '/cgi-bin/demo-cost-analysis.pl?rate=' + document.demo.rate.value + '&' + 'hours=' + document.demo.hours.value + '&' + 'count=' + document.demo.count.value + '&' + 'submit' + '.x=1';

   win = window.open(url,"","status=no,scrollbars=no,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=640,width=500");
}

function show_html_demo() {

   var url = '/demo-html';

   win = window.open(url,"","status=no,scrollbars=yes,resizable=no,menubar=no,location=no,directories=no,toolbar=no,addressbar=no,height=610,width=780");
}

var rolloverArray = new Array();

var nav_selected = false;
var nav_array = new Array();
nav_array[0]='nav_about';
nav_array[1]='nav_demo';
nav_array[2]='nav_industry';
nav_array[3]='nav_interactive';
nav_array[4]='nav_quotes';
nav_array[5]='nav_software';

function selectnav(place,imagename) {
	nav_selected = place;
	document[place].src  = imagename;
	for( i=0; i<nav_array.length; i++) {
		var tmp_image = nav_array[i];
		if(tmp_image != place) {
			imageRestore(tmp_image);
		}
	}
}

function showmagwindow(magimage) {
	if(save_mag_image) {
		//magwindow(save_mag_image);
	}
	// default mag image
	else { 
		//magwindow('site_images/mag_cover_dayna04.jpg'); 
	}
}



/*

BROWSER DETECTION

*/


/******
FUNCTION BrowserDetector()
ARGUMENTS: none
RETURNS: none

This function actually defines a new class (of type BroswerDetector)
whose members contain information about the user's browser, including:
-browser
-platform
-full version
-major version
-minor version

USAGE: var bd = new BrowserDetector();
*******/

function BrowserDetector() {

  var ua = navigator.userAgent;
  
  // Defaults
  this.browser = "Unknown";
  this.platform = "Unknown";
  this.version = "";
  this.majorver = "";
  this.minorver = "";

  uaLen = ua.length;

  // ##### Split into stuff before parens and stuff in parens
  var preparens = "";
  var parenthesized = "";

  i = ua.indexOf("(");
  if (i >= 0) {
    preparens = Trim(ua.substring(0,i));
        parenthesized = ua.substring(i+1, uaLen);
        j = parenthesized.indexOf(")");
        if (j >= 0) {
          parenthesized = parenthesized.substring(0, j);
        }
  }
  else {
    preparens = ua;
  }
  
  

  // ##### First assume browser and version are in preparens
  // ##### override later if we find them in the parenthesized stuff
  var browVer = preparens;

  var tokens = parenthesized.split(";");
  var token = "";
  
  // # Now go through parenthesized tokens
  for (var i=0; i < tokens.length; i++) {
    token = Trim(tokens[i]);
        //## compatible - might want to reset from Netscape
        if (token == "compatible") {
          //## One might want to reset browVer to a null string
          //## here, but instead, we'll assume that if we don't
          //## find out otherwise, then it really is Mozilla
          //## (or whatever showed up before the parens).
        //## browser - try for Opera or IE
    }
        else if (token.indexOf("MSIE") >= 0) {
      browVer = token;
    }
    else if (token.indexOf("Opera") >= 0) {
      browVer = token;
    }
        //'## platform - try for X11, SunOS, Win, Mac, PPC
    else if ((token.indexOf("X11") >= 0) || (token.indexOf("SunOS") >= 0) || (token.indexOf("Linux") >= 0)) {
      this.platform = "Unix";
    }
	
    else if (token.indexOf("Win") >= 0) {
      this.platform = token;
    }
	
    else if ((token.indexOf("Mac") >= 0) || (token.indexOf("PPC") >= 0) || (token.indexOf("Mac_PowerPC") >= 0)) {
      this.platform = token;
    }
  }

  var msieIndex = browVer.indexOf("MSIE");
  if (msieIndex >= 0) {
    browVer = browVer.substring(msieIndex, browVer.length);
  }

  var leftover = "";
  if (browVer.substring(0, "Mozilla".length) == "Mozilla") {
    this.browser = "Netscape";
    leftover = browVer.substring("Mozilla".length+1, browVer.length);
  }

  else if (browVer.substring(0, "Lynx".length) == "Lynx") {
    this.browser = "Lynx";
	leftover = browVer.substring("Lynx".length+1, browVer.length);
  }
  else if (browVer.substring(0, "MSIE".length) == "MSIE") {
    this.browser = "IE";
    leftover = browVer.substring("MSIE".length+1, browVer.length);
  }
  else if (browVer.substring(0, "Microsoft Internet Explorer".length) == "Microsoft Internet Explorer") {
    this.browser = "IE";
	leftover = browVer.substring("Microsoft Internet Explorer".length+1, browVer.length);
  }
  else if (browVer.substring(0, "Opera".length) == "Opera") {
    this.browser = "Opera"
    leftover = browVer.substring("Opera".length+1, browVer.length);
  }

  leftover = Trim(leftover);
  
  
  // # Try to get version info out of leftover stuff
  i = leftover.indexOf(" ");
  if (i >= 0) {
    this.version = leftover.substring(0, i);
  }
  else
  {
    this.version = leftover;
  }
  j = this.version.indexOf(".");
  if (j >= 0) {
    this.majorver = this.version.substring(0,j);
    this.minorver = this.version.substring(j+1, this.version.length);
  }
  else {
    this.majorver = this.version;
  }



}




/***************************************************************************

  ROLLOVER SCRIPTS

***************************************************************************/

// takes name of image, returns reference to that image
//  searches one layer deep
function getImageRef(index) {
	
	if (bd.browser=="Netscape") {
		var docRef = document;
		if (docRef.images[index] == null) {
			for(var i=0; i < document.layers.length; i++) {
				if (docRef.layers[i].document.images[index] != null) {
					docRef = docRef.layers[i].document;
					break;
				}
			}
			
		}
		
		return docRef.images[index];
		
	} else if (bd.browser=="IE") {
	  return document.images[index];	  
	}

}




function secRollover(imageRef){
  if (loaded){
    var evalString = "document." + imageRef + "_rollover.src=secNavRollover.src";
	eval(evalString );
	eval("document.rollover_tag.src=" + imageRef + "_tag.src");
  }
}


function secRestore(imageRef){
  if (loaded){
    var evalString = "document." + imageRef + "_rollover.src=" + imageRef + "_rollover_off.src"
    eval(evalString);
  }
}


function imageSwap(imageName){
  if (loaded){
    var imageRef = getImageRef(imageName);
	imageRef.src = rolloverArray[imageName + "_on"].src;
  }
}
	  
function imageRestore(imageName){
  if (loaded){
    var imageRef = getImageRef(imageName);
	imageRef.src = rolloverArray[imageName + "_off"].src;		  
  }
}

// FUNCTION ja_image_load
// creates array of image refs -- useful for images scattered over various layers
function ja_image_load(){

  var layerName = arguments[0];
	
  for ( i=1; i<arguments.length; i++ ){
  
    if (bd.browser=="Netscape"){
	  imageArray[arguments[i]] = document.layers[layerName].document.images[arguments[i]]
	} else if (bd.browser=="IE") {
	  imageArray[arguments[i]] = document.all[arguments[i]]
	}
  
  }

}


// FUNCTION ja_rollover_preload
// loads on and off states
function ja_rollover_preload_jpg(){
  
  //if ((rolloverArray) && (imageArray)){
  
	var imagePath = arguments[0];
	
    for ( i=1; i<arguments.length; i++ ){
	
	  var imageName = arguments[i];
	  
	  // create off state image
	  rolloverArray[imageName+"_off"] = new Image();
	  rolloverArray[imageName+"_off"].src = imagePath + imageName + "_off.jpg";
		  
	  // create on state image
	  rolloverArray[imageName+"_on"]  = new Image();
	  rolloverArray[imageName+"_on"].src  = imagePath + imageName + "_on.jpg";
	  
	}
	
	return true;
	  
 /* } else {
		
	alert("There was a problem preloading the rollover images");
    return false;
		
  } */

}

// FUNCTION ja_rollover_preload
// loads on and off states
function ja_rollover_preload_gif(){
  
  //if ((rolloverArray) && (imageArray)){
  
	var imagePath = arguments[0];
	
    for ( i=1; i<arguments.length; i++ ){
	
	  var imageName = arguments[i];

	  // create off state image
	  rolloverArray[imageName+"_off"] = new Image();
	  rolloverArray[imageName+"_off"].src = imagePath + imageName + "_off.gif";
		  
	  // create on state image
	  rolloverArray[imageName+"_on"]  = new Image();
	  rolloverArray[imageName+"_on"].src  = imagePath + imageName + "_on.gif";
	  
	}
	
	return true;
	  
 /* } else {
		
	alert("There was a problem preloading the rollover images");
    return false;
		
  } */

}


/*

UTILITY FUNCTIONS

*/

/******
FUNCTION netscapeResize()
ARGUMENTS: none
RETURNS: none

If browser is netscape, check if browser
*******/

var initWidth  = window.innerWidth;
var initHeight = window.innerHeight;

function netscapeResize(){
  if (navigator.appName == 'Netscape'){
	if ((window.innerWidth != initWidth) || (window.innerHeight != initHeight)){
	  location.reload();
	}
  }
}

/******
FUNCTION Trim()
ARGUMENTS: string inString
RETURNS: string

This function trim spaces from both ends of a string
*******/

function Trim(inString) {
  var retVal = "";
  var start = 0;
  while ((start < inString.length) && (inString.charAt(start) == ' ')) {
    ++start;
  }
  var end = inString.length;
  while ((end > 0) && (inString.charAt(end - 1) == ' ')) {
    --end;
  }
  retVal = inString.substring(start, end);
  return retVal;
}



/*

  LAYER MANIPULATION

*/

function ja_getLayerRef(layerName){

  var ref
  if (bd.browser=="Netscape" && bd.majorver == "5"){
    ref = document.getElementById(layerName);
  } else {    
	ref = (bd.browser=='Netscape') ? document.layers[layerName] : document.all[layerName];
  }
  return ref;

}

function ja_showHideLayers(){
  // args will be passed in - layer, layer, layer, ..., visibility
    
    var args = ja_showHideLayers.arguments;
	var argVal = "";
	var endLyr = "";
	
	for (index=0; index < args.length; index++){
	
	  var layerString = "";
			
	  do {
	  
	    argVal = args[index];
	  
	    if ( argVal != 'visible' && argVal != 'hidden'){
		  
		  if (document.layers){
		  
		    layerString += "document.layers['" + argVal + "'].";
		  
		  } else if (document.all) {
		  
		    layerString = "document.all." + argVal + ".style.";
		  		   
	      }
		
		  index++;
		  
		  endLyr = argVal;  
		
	    }
	  	  	  
	  } while ( argVal != 'visible' && argVal != 'hidden');
	  
	  
	  if (bd.browser=="Netscape" && bd.majorver=="5") {
		var ns6Lyr = ja_getLayerRef(endLyr);
		ns6Lyr.style.visibility = argVal;
		ns6Lyr.style.display = (argVal=="visible") ? "" : "none";
	  } else {  
	    eval(layerString + "visibility = '" + argVal + "'");	  
	  }

	  
	  
	}
	
}

  
  
  function openLabAlert(url){
  // sized for lab alert window
  
    window.open(url,'child_labAlert','width=339,height=199,scrollbars=no');
  
  
  }
  
  
