/* top menu */
function navMenu()
{
document.write('<table width="100%" border="1" cellspacing="0" cellpadding="1" bgcolor="#333366" style="border-color:#FFFFFF;"><tr align="center" valign="middle">');
document.write('<td height="18"><font size="1" face="Arial"><b><a href="http://www.vikingsoft.com/"><font face="Tahoma,Arial, Helvetica, sans-serif" color="#FFFFFF">Home</font></a><font face="Tahoma,Arial, Helvetica, sans-serif"></font></b></font></td>');
document.write('<td nowrap><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/aboutus.htm"><font color="#FFFFFF">About Us</font></a></font></b></font></td>');
document.write('<td><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/products.htm"><font color="#FFFFFF">Products</font></a></font></b></font></td>');
document.write('<td nowrap><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/support.htm"><font color="#FFFFFF">Viking Tech Support</font></a></font></b></font></td>');
document.write('<td nowrap><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/lifetime/main.htm"><font color="#FFFFFF">LifeTime Tech Support</font></a></font></b></font></td>');
document.write('<td><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/pages/pages.htm" target="_blank"><font color="#FFFFFF">Previews</font></a></font></b></font></td>');
document.write('<td><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/news.htm"><font color="#FFFFFF">News</font></a></font></b></font></td>');
document.write('<td><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/resources.htm"><font color="#FFFFFF">Resources</font></a></font></b></font></td>');
document.write('<td nowrap><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/custcare.htm"><font color="#FFFFFF">Customer Care</font></a> </font></b></font></td>');
document.write('<td nowrap><font size="1" face="Arial"><b><font face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/contact.htm"><font color="#FFFFFF">Contact Us</font></a></font></b></font></td>');
document.write('<td nowrap><strong><font size="1" face="Tahoma,Arial, Helvetica, sans-serif"><a href="http://www.vikingsoft.com/international.htm"><font color="#FFFFFF">International</font></a></font></strong></td></tr></table>');
}

/* Masthead */
function getMasthead()
{
document.write('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>');
document.write('<td background="http://www.vikingsoft.com/images/viking_masthead_02.gif" colspan="4" height="10"><img src="http://www.vikingsoft.com/images/viking_masthead_01.gif" width=591 height=76 align="left"></td>');
document.write('<td style="background-image:url(http://www.vikingsoft.com/images/viking_masthead_02.gif);">&nbsp;</td></tr></table>');
}

/* Footer */
/* Used only by the error pages */
function getFooter()
{
var current_date = new Date();
year_value = current_date.getFullYear();

document.write('<p align="center"><font size="1" face="Arial"><b><a href="http://www.vikingsoft.com/">Home</a>&nbsp;| ');
document.write('<a href="http://www.vikingsoft.com/aboutus.htm">About Us</a> | <a href="http://www.vikingsoft.com/products.htm">Products</a> | '); 
document.write('<a href="http://www.vikingsoft.com/support.htm">Viking Tech Support</a> | '); 
document.write('<a href="http://www.vikingsoft.com/lifetime/main.htm">LifeTime Tech Support</a> | '); 
document.write('<a href="http://www.vikingsoft.com/pages/pages.htm" target="_blank">Previews</a> | <a href="http://www.vikingsoft.com/news.htm">News</a> | '); 
document.write('<a href="http://www.vikingsoft.com/resources.htm">Resources</a> | <a href="http://www.vikingsoft.com/custcare.htm">Customer Care</a> | ');
document.write('<a href="http://www.vikingsoft.com/contact.htm">Contact Us</a> | '); 
document.write('<a href="http://www.vikingsoft.com/international.htm">International</a></b></font></p>');
document.write("<p align=\"center\"><font color=\"#808080\" size=\"1\" face=\"Arial\"><em><br></em></font><font size=\"1\" color=\"#333366\" face=\"Tahoma, Arial, sans-serif\"><b>&copy; "  + year_value +  " Viking Software Solutions</b></font></p>");
document.write('<p align=\"center\"><font size=\"1\" face=\"Arial\"><strong><a href="http://vikingsoft.com/trademarks.htm">Trademarks and registered trademarks</a> are properties of their respective owners.<strong></p>');
document.write('<p align="CENTER"><font size="1" face="Arial, Helvetica, sans-serif">6804 South Canton Avenue, Suite 900, Tulsa, OK&nbsp; 74136-3424 | ');
document.write('<b><font face="Tahoma,Arial, Helvetica, sans-serif">Phone</font></b> (918) 491-6144 | ');
document.write('<b><font face="Tahoma,Arial, Helvetica, sans-serif">Fax</font></b> (918) 494-2701</font></p>');
}

//For index.htm
function randomImage()
{
var mypic_array = new Array("vde","imagentry","vde+");
var myurl_array = new Array("vde","imagentry","vdeimages");
var imageNumber=Math.round(Math.random()*2);
var myPic = "http://www.vikingsoft.com/images/banners/" + mypic_array[imageNumber] + "_banner.gif";
var myURL = "http://www.vikingsoft.com/" + myurl_array[imageNumber] + ".htm";

document.write("<a href=" + myURL + "><img src=" + myPic + " border='0' vspace='0' hspace='5'></a>");

}

// For support.htm form
// Make sure all required data is filled in; if not, display appropriate message. 
// Used with emailCheck()
function checkForm()
{
 	if (document.support_form.Product.value == "Please choose one")
	{
		alert('Please select a product.');
		return false;
	}
	else if (document.support_form.Name.value == "")
	{
		alert('Please fill in your name.');
		return false;
	}
	else if (document.support_form.Company.value == "")
	{
		alert('Please fill in the name of your company.');
		return false;
	}
	else if (document.support_form.Country.value == "")
	{
		alert('Please fill in your country.');
		return false;
	}
	else if (document.support_form.email.value == "")
	{
		alert('Please fill in your email address.');
		return false;
	}
	else if (document.support_form.Comments.value.length == 0)
	{
		alert('Please describe the problem or request.');
		return false;
	}
    else if (document.support_form.Comments.value.length > 800)
	{
        alert("Description is too long. It must be 800 characters or less.");
        return false;
    }
    return true;
}

// Cookie for leads from Capterra
function recordCapterra()
{
document.cookie = 'capcookie=capterra; path=/'
}

// For checking email address: demo.php, support.htm
function emailCheck (emailStr) {
/* Verifies that the entered email address follows
   the user@domain format and separates the user name 
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* Pattern for matching all special characters.  
   Special characters are not allowed in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* Limits the range of characters allowed in a 
   user name or domain name by defining which ones are not allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes); e.g., "jiminy cricket"@disney.com
   is a legal email address. */
var quotedUser="(\"[^\"]*\")"
/* The following applies to IP addresses as domains
   such as joe@[123.124.233.4]. (The square brackets are required.) */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following represents one word in a typical user name;
   for example, in john.doe@somewhere.com, john and doe are words.
   A word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern defines the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern defines the structure of a standard symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
/* Determine whether the supplied address is valid. */
/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s, for example; this address doesn't even
     match the general format of a valid email address. */
	alert("Please check your email address.")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]
// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert("The email user name may not be valid.")
    return false
}
/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("The destination IP address in your email address is invalid.")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name in your email address may not be valid.")
    return false
}
/* domain name seems valid, but make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */
/* Break up the domain to get a count of how many atoms it consists of. */
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>3) {
   // the address must end in a two letter or three letter word.
   alert("Your email address must end in a three-letter domain type or two letter country.")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="Email address is missing a hostname."
   alert(errStr)
   return false
}
// If we've gotten this far, everything's valid!
return true;
}


//validate form entries on trial.htm; obsolete?
function checkrequired(which) 
{
  var pass=true;
  if (document.images) 
  {
    for (i=0;i<which.length;i++) 
   {
      var tempobj=which.elements[i];
      if (tempobj.name.substring(0,8)=="required") 
	  {
        if (((tempobj.type=="text"||tempobj.type=="textarea")&&
              tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
              tempobj.selectedIndex==0)) 
		{
          pass=false;
          break;
        }
      }
   }
}

if (!pass) 
{
  shortFieldName=tempobj.name.substring(8,30).toUpperCase();
  alert("Please fill in the "+shortFieldName+" field.");
  return false;
}
else
  return true;
}

//email to support@vikingsoft.com on FTPLogin.htm, Upload.htm
function suppemail(subj)
{
part1 = "support";
part2 = "vikingsoft";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
document.write('<a href=\"mailto:' + part + '?SUBJECT=' + subj + '\">');
document.write('email' + '</a>');
}

//email to support@vikingsoft.com on trial.htm
function supptemail()
{
part1 = "support";
part2 = "vikingsoft";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
document.write('<a href=\"mailto:' + part + '\">');
document.write('email</a>');
}

//submit email to support@vikingsoft.com, etc. on trial.htm; check; may be obsolete
function trialSubmit()
{
//FOR TESTING and PRODUCTION
var part = "phoenixsoftware";
var p_end = "com";
var part11 = "contracts";
var part12 = "";
var part1 = part11 + part12 + "@" + part + "." + p_end;
var part21 = "sales";
var part22 = "vikingsoft";
var part2 = part21 + part22 + "@" + part + "." + p_end;
var part31 = "web";
var part32 = "master";
var part3 = part31 + part32 + "@" + part + "." + p_end;
//FOR TESTING
//document.write("<input type=\"hidden\" name=\"submit_to\" value=\"" + part1 + "," + part3 + "\">");
//FOR PRODUCTION
document.write("<input type=\"hidden\" name=\"submit_to\" value=\"" + part1 + "," + part2 + "," + part3 + "\">");
}

/* email to tech@vikingsoft.com on support.htm */
function techMail(text,subject)
{
part1 = "tech";
part2 = "vikingsoft";
part3 = "com";
part4 = "Contact Viking Software Tech Support";
document.write('<a href=\"mailto:' + part1 + '@' + part2 + "." + part3 + '?SUBJECT=' + subject + '\"><strong>' + text + '<\/strong><\/a>');
}

//email to sales@vikingsoft.com on download.htm
function salesemail()
{
part1 = "sales";
part2 = "vikingsoft";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
document.write('<a href=\"mailto:' + part + '\">');
document.write('Email Us</a>');
}

//email to sales@vikingsoft.com on faq.htm, iefaq.htm
function fsalesemail()
{
part1 = "sales";
part2 = "vikingsoft";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
document.write('<a href=\"mailto:' + part + '\">');
document.write('contact us</a>');
}

/* For v500.htm error message */
function webContact()
{
             part1 = "webmaster";
             part3 = "vikingsoft";
             part4 = ".com";
			 subject = "Error 500";
             document.write('<a href=\"mailto:' + part1 + '@' + part3 + part4 + '?SUBJECT=' + subject + '\">');
             document.write('webmaster<\/a>');
}

//email to Sherrill on international.htm
function shrlemail()
{
part1 = "sherrill";
part2 = "vikingsoft";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
document.write('<a href=\"mailto:' + part + '\">');
document.write('Sherrill Lindsay</a>');
}

//email addresses for ScanOptics personnel on ScanOpticsNews.htm

function scanoptmail()
{
part1 = "agordon";
part2 = "scanoptics";
part3 = "com";
part = part1 + "@" + part2 + "." + part3;
subject = "";

partb1 = "slucek";
partb = partb1 + "@" + part2 + "." + part3;

document.write('<a href=\"mailto:' + part + '\">');
document.write('Annmarie Gordon' + '</a> (860) 645-7878<br>');

document.write('<a href=\"mailto:' + partb + '\">');
document.write('Susan Lucek' + '</a> (860) 645-7878');
}

/* For FTP Login page login procedure */
function enter(user,pass)
{
   user = document.frm.user.value;
   pass = document.frm.pwd.value;
   window.location.href = "ftp://"+user+":"+pass+"@vikingsoft.com/";
}

/* For FTP Login page support email address */
function contact()
{
user = "support";
site = "vikingsoft.com";
subject = "File Upload page error for private directory";
document.write('<a href=\"mailto:' + user + '@' + site + '?SUBJECT=' + subject + '\">');
document.write('Tech Support' + '<\/a>');
}

/*  For trial_success.htm */
function getParams() {
var idx = document.URL.indexOf('?');
var params = new Array();
if (idx != -1) {
var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
for (var i=0; i<pairs.length; i++) {
nameVal = pairs[i].split('=');
params[nameVal[0]] = nameVal[1];
   }
}
return params;
}

/* Popup window used on numerous pages */
function popWindow(url,params){
myWin=window.open(url,params,true)
;
myWin.focus();
}

var popWin = null    // use this when referring to pop-up window
var winCount = 0
var winName = "popWin"
function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, winTop){
  var d_winLeft = 20  // default, pixels from screen left to window left
  var d_winTop = 20   // default, pixels from screen top to window top
  winName = "popWin" + winCount++ //unique name for each pop-up window
  closePopWin()           // close any previously opened pop-up window
  if (openPopWin.arguments.length >= 4)  // any additional features? 
    winFeatures = "," + winFeatures
  else 
    winFeatures = "" 
  if (openPopWin.arguments.length == 6)  // location specified
    winFeatures += getLocation(winWidth, winHeight, winLeft, winTop)
  else
    winFeatures += getLocation(winWidth, winHeight, d_winLeft, d_winTop)
  popWin = window.open(winURL, winName, "width=" + winWidth 
           + ",height=" + winHeight + winFeatures)
  }
function closePopWin(){    // close pop-up window if it is open 
  if (navigator.appName != "Microsoft Internet Explorer" 
      || parseInt(navigator.appVersion) >=4) //do not close if early IE
    if(popWin != null) if(!popWin.closed) popWin.close() 
  }
function getLocation(winWidth, winHeight, winLeft, winTop){
  return ""
  }
  

