// NETSCAPE RESIZE BUG FIX

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);

// OPEN BROWSER FUNCTION
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// POP-UP FUNCTION
function MM_popupMsg(msg) { //v1.0
  alert(msg);
}

// JUMP MENU FUNCTION
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// TOOLTIP FUNCTIONS
var tipTimer;
function locateObject(n, d) { //v3.0
  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=locateObject(n,d.layers[i].document); return x;
}

function hideTooltip(object)
{
if (document.all)
{
	locateObject(object).style.visibility="hidden"
	locateObject(object).style.left = 1;
	locateObject(object).style.top = 1;
return false
}
else if (document.layers)
{
	locateObject(object).visibility="hide"
	locateObject(object).left = 1;
	locateObject(object).top = 1;
	return false
}
else
	return true
}

function showTooltip(object,e, tipContent, backcolor, bordercolor, textcolor, displaytime)
{
	window.clearTimeout(tipTimer)	
	if (document.all)
		{
			locateObject(object).style.top=document.body.scrollTop+event.clientY+20			
			locateObject(object).innerHTML='<table style="font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border: '+bordercolor+'; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: '+backcolor+'" width="10" border="0" cellspacing="1" cellpadding="1"><tr><td nowrap><font style="font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table> '
			if ((e.x + locateObject(object).clientWidth) > (document.body.clientWidth + document.body.scrollLeft))
				{	
					locateObject(object).style.left = (document.body.clientWidth + document.body.scrollLeft) - locateObject(object).clientWidth-10;
				}
			else
			{
			locateObject(object).style.left=document.body.scrollLeft+event.clientX
			}
		locateObject(object).style.visibility="visible"
		tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
		return true;
		}
	else if (document.layers)
		{
		locateObject(object).document.write('<table width="10" border="0" cellspacing="1" cellpadding="1"><tr bgcolor="'+bordercolor+'"><td><table width="10" border="0" cellspacing="0" cellpadding="2"><tr bgcolor="'+backcolor+'"><td nowrap><font style="font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table></td></tr></table>')
		locateObject(object).document.close()
		locateObject(object).top=e.y+20
		if ((e.x + locateObject(object).clip.width) > (window.pageXOffset + window.innerWidth))
			{
				locateObject(object).left = window.innerWidth - locateObject(object).clip.width-10;
			}
		else
			{
			locateObject(object).left=e.x;
			}
		locateObject(object).visibility="show"
		tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
		return true;
	}
	else
	{
		return true;
	}
}

// PRELOAD IMAGE FUNCTION
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) { //v3.0
  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); return x;
}

/* Functions that swaps images. */
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_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;
}

// CROSS=BROWSER PRINT FUNCTION
function custom_print() {
    if (document.all) {
        if (navigator.appVersion.indexOf("5.0") == -1) {
            var OLECMDID_PRINT = 6;
            var OLECMDEXECOPT_DONTPROMPTUSER = 2;
            var OLECMDEXECOPT_PROMPTUSER = 1;
            var WebBrowser = "<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
            document.body.insertAdjacentHTML("beforeEnd", WebBrowser);
            WebBrowser1.ExecWB(6, 2);
            WebBrowser1.outerHTML = "";
        } else {
            self.print();
        }
    } else {
        self.print();
    }
}

// VALIDATE FORM FUNCTION
function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

// FORM VALIDATION FOR JSP PAGES
function check()
		{
	        if(document.form.firstname.value == "")
	        {
	        	alert("Please enter First Name");
	        	document.form.firstname.focus();
	        	return false;
	        }
	        if(document.form.lastname.value == "")
	        {
	        	alert("Please enter Last Name");
	        	document.form.lastname.focus();
	        	return false;
	        }
	        if(document.form.company.value == "")
	        {
	        	alert("Please enter Company Name");
	        	document.form.company.focus();
	        	return false;
	        }
	        if(document.form.title.value == "")
	        {
	        	alert("Please enter Title");
	        	document.form.title.focus();
	        	return false;
	        }
	        if(document.form.address.value == "")
	        {
	        	alert("Please enter Address");
	        	document.form.address.focus();
	        	return false;
	        }
	        if(document.form.city.value == "")
	        {
	        	alert("Please enter City");
	        	document.form.city.focus();
	        	return false;
	        }
	        if ((document.form.state.options[document.form.state.selectedIndex].value=="") && (document.form.country.options[document.form.country.selectedIndex].value=='USA'))
	        {
	        	alert("Please select a State");
	        	document.form.state.focus();
	        	return false;
	        }
	        if ((document.form.state.options[document.form.state.selectedIndex].value=="") && (document.form.country.options[document.form.country.selectedIndex].value=='Canada'))
	        {
	        	alert("Please select a Province");
	        	document.form.state.focus();
	        	return false;
	        }
	        if(document.form.zipcode.value == "")
	        {
	        	alert("Please enter Zip or Postal Code");
	        	document.form.zipcode.focus();
	        	return false;
	        }
	        if(document.form.country.options[document.form.country.selectedIndex].value == "")
	        {
	        	alert("Please select a Country");
	        	document.form.country.focus();
	        	return false;
	        }
	        if(document.form.phone.value == "")
	        {
	        	alert("Please enter Phone Number");
	        	document.form.phone.focus();
	        	return false;
	        }
	        if(document.form.email.value.indexOf('@', 0) == -1)
	    	{
	     		alert("Please enter an E-mail Address");
	     		document.form.email.focus();
	     		return false;
	    	}
	        if(document.form.email.value.indexOf('.', 0) == -1)
	    	{
	     		alert("Please enter an E-mail Address");
	     		document.form.email.focus();
	     		return false;
	    	}
}

// PRODUCT NAME ARRAY
function populateproduct(inForm,selected) {
var productArray =  new Array("('--------------------------------------------------','',true,true)",
"('Integrity Server')",
"('Integrity Manager')",
"('Source Integrity Enterprise Edition')",
"('VSky Solution')",
"('VSky Software Manager')",
"('VSky Collaboration Manager')",
"('VSky Content Manager')",
"('Source Integrity')",
"('Source Integrity Select')",
"('Source Integrity Professional Edition')",
"('CodeRover')",
"('Discover')",
"('Web Integrity')",
"('Implementer')",
"('Extract DB')",
"('Project Master')",
"('Design Tracker')",
"('Other','other')");

for (var i=0; i < productArray.length; i++) {
eval("inForm.product.options[i]=" + "new Option" + productArray[i]);
}
}

// PRODUCT VERSION ARRAY
function populateversion(inForm,selected) {
var versionArray =  new Array("('--------------------','',true,true)",
"('2.0')",
"('3.0')",
"('3.0SP2')",
"('3.0a')",
"('3.2')",
"('3.2a')",
"('3.3')",
"('4.0')",
"('4.0a')",
"('4.1')",
"('4.1a')",
"('4.1aSP2')",
"('4.2')",
"('4.3')",
"('4.5')",
"('5.0')",
"('5.1')",
"('5.2')",
"('5.2 SP1')",
"('6.1a')",
"('6.2')",
"('6.2a')",
"('7.2')",
"('7.3e')",
"('7.4')",
"('7.5')",
"('7.5a')",
"('7.5b')",
"('8.0')",
"('8.0a')",
"('8.0aSP1')",
"('8.0aSP2')",
"('8.1')",
"('10.1')");

for (var i=0; i < versionArray.length; i++) {
eval("inForm.productver.options[i]=" + "new Option" + versionArray[i]);
}
}

// OPERATING SYSTEM ARRAY
function populateos(inForm,selected) {
var osArray =  new Array("('----------------------------------------','',true,true)",
"('Windows NT')",
"('Windows 2000')",
"('Windows ME')",
"('Windows 98')",
"('Windows 95')",
"('Solaris 2.5.1+')",
"('Solaris 2.4+')",
"('Solaris 7')",
"('Solaris 8')",
"('Sun OS 4.x')",
"('HP/UX 10 and 11')",
"('AIX 4.2 and 4.3')",
"('AIX 4.3.3')",
"('DEC Digital UNIX v3.2')",
"('DG/UX 5.4R3.10')",
"('SINIX 5.4')",
"('SCO Unixware 2')",
"('SCO Openserver 5')",
"('Linux 2.0')",
"('SGI 5.3')",
"('iSeries 400')",
"('Other','other')");

for (var i=0; i < osArray.length; i++) {
eval("inForm.os.options[i]=" + "new Option" + osArray[i]);
}
}

// PASSWORD REQUEST AND SHIPPING REQUEST MESSAGES
function passrequest(inForm,selected) {
	if (selected == 'Upgrade_Password_Request') {
	inForm.question.value = "Please enter a list of files for which you need passwords.";
	} else {
		if (selected == 'Upgrade_Shipping_Request') {
		inForm.question.value = "Please specify the product and version you would like shipped and give a complete shipping address.";
		} else {
	inForm.question.value = "";
	}
	}
	}
	
// OTHER PRODUCT SELECT DROP-DOWN
function otherproduct(inForm,selected) {	
	if (selected == 'other') {		
	inForm.other_product.focus()
//	inForm.other_product.style.background="#FFFFCC";	
	} 
/*	else {
	inForm.other_product.style.background="#CCCCCC";	
	}
*/
}	

// OTHER OS SELECT DROP-DOWN
function otheros(inForm,selected) {	
	if (selected == 'other') {		
	inForm.os_other.focus()
	} 
}

// CHOOSE A SUPPORT PACKAGE MESSAGE
function choosepackage(inForm,selected) {
	if (selected == 'essential') {	
	inForm.order_description.value = "The essential support services package includes: 1-800 Support, email support, product upgrades, automatic upgrade notifications via email, knowledgebase, and optional support reservation.";
	} else {
		if (selected == 'elite') {
		inForm.order_description.value = "The elite support services package includes essential support services plus: comprehensive 24 by 7 hours support, guaranteed 2-hour emergency response, user council membership, and a support advocate.";
		} else {
	inForm.order_description.value = defValue;
	}
	}
	}
	
// CHOOSE NO MORE THAN 5 CHECKBOXES COUNTER ONE
maxBoxes = 5;
boxesChecked = 0;
function checkIt(theBox) {
   if (boxesChecked+1 > maxBoxes) {
      alert('You can select no more than '+maxBoxes+' items.');
      return false;
   }
   boxesChecked++
   return true;
}

// CHOOSE NO MORE THAN 5 CHECKBOXES COUNTER TWO
maxBoxes2 = 5;
boxesChecked2 = 0;
function checkIt2(theBox) {
   if (boxesChecked2+1 > maxBoxes2) {
      alert('You can select no more than '+maxBoxes2+' items.');
      return false;
   }
   boxesChecked2++
   return true;
}

// REQUIRE A FIELD TO CONTAIN X DIGITS
function reqNumber(inForm,fieldName,numReq) {
	var stringName = fieldName.value; // PUT FIELD VALUE IN A VARIABLE CALLED STRINGNAME
	if (stringName == '') { // IF STRINGNAME IS NULL
		return true; // THEN PROCEED
		} else {
		if ((stringName == ''+parseInt(stringName)) && (stringName > 0)) { // IF STRINGNAME IS NOT NULL AND IS A NUMBER
			if (stringName.length == numReq) { // IF STRINGNAME IS NOT NULL AND IS A NUMBER X DIGITS LONG
				return true; // PROCEED
				} else {
				alert('Serial numbers must be at least X digits.'); // TELL USER TO INPUT AT LEAST X DIGITS
				fieldName.focus();
			}			
			} else {
			alert('Positive numbers only, please.'); // TELL USER TO ONLY ENTER NUMBERS
			fieldName.focus();
		}
	}
}

// SET COOKIE FUNCTION FOR MULTI-VALUE COOKIE
function setCookie(inForm) {
	if (inForm.store_cookie.checked) {
		var fname = inForm.fname.value;
		var lname = inForm.lname.value;
		var jtitle = inForm.jtitle.value;
		var company = inForm.company.value;
		var city = inForm.city.value;
		var state = inForm.state.value;
		var country = inForm.country.value;
		var email = inForm.email.value;
		// var country = inForm.country.options[document.inForm.country.selectedIndex].value
		var phone = inForm.phone.value;
		var email = inForm.email.value;
		// SYNTAX IS var the_cookie_data = "username:thau/age:older than the hills/phone:411";
		var the_cookie_data = "fname:" + fname + "|" + "lname:" + lname + "|" + "jtitle:" + jtitle + 
		"|" + "company:" + company + "|" + "city:" + city + "|" + "state:" + state + "|" + "country:" + 
		country + "|" + "phone:" + phone + "|" + "email:" + email;
		var the_date = new Date("December 31, 2023");
		var the_cookie_date = the_date.toGMTString();
		the_cookie = "mks_cookie=" + escape(the_cookie_data);
		the_cookie = the_cookie + ";expires=" + the_cookie_date + "path=/;";
		document.cookie = the_cookie;
		} else {
		var fname = inForm.fname.value;
		var lname = inForm.lname.value;
		var jtitle = inForm.jtitle.value;
		var company = inForm.company.value;
		var city = inForm.city.value;
		var state = inForm.state.value;
		var country = inForm.country.value;
		var email = inForm.email.value;
		// var country = inForm.country.options[document.inForm.country.selectedIndex].value
		var phone = inForm.phone.value;
		var email = inForm.email.value;
		// SYNTAX IS var the_cookie_data = "username:thau/age:older than the hills/phone:411";
		var the_cookie_data = "fname:" + fname + "|" + "lname:" + lname + "|" + "jtitle:" + jtitle + 
		"|" + "company:" + company + "|" + "city:" + city + "|" + "state:" + state + "|" + "country:" + 
		country + "|" + "phone:" + phone + "|" + "email:" + email;
		var the_date = new Date("December 31, 1971");
		var the_cookie_date = the_date.toGMTString();
		the_cookie = "mks_cookie=" + escape(the_cookie_data);
		the_cookie = the_cookie + ";expires=" + the_cookie_date + "path=/;";
		document.cookie = the_cookie;
		}
}

// DUMMY VARIABLE FOR NO COOKIE
var no_cookie = 0;

// READ COOKIE FUNCTION FOR MULTI-VALUE COOKIE
function readTheCookie(the_info) {
	// load the cookie into a variable and unescape it
	var the_cookie = document.cookie;		
	var the_cookie = the_cookie.split(";");
	var the_cookie = the_cookie[0];
	var the_cookie = unescape(the_cookie);
		
	// separate the values from the cookie name
	var broken_cookie = the_cookie.split("=");
	var the_values = broken_cookie[1];
		
	// break each name:value pair into an array
	var separated_values = the_values.split("|");
		
	// loop through the list of name:values and load
	// up the associate array
	var property_value = "";
	for (loop = 0; loop < separated_values.length; loop++) {
		property_value = separated_values[loop];
		var broken_info = property_value.split(":");
		var the_property = broken_info[0];
		var the_value = broken_info[1];
		the_info[the_property] = the_value;
		}	
}

// DATE FUNCTION
function thedate(inForm){
	var months=new Array(13);
	months[1]="January";
	months[2]="February";
	months[3]="March";
	months[4]="April";
	months[5]="May";
	months[6]="June";
	months[7]="July";
	months[8]="August";
	months[9]="September";
	months[10]="October";
	months[11]="November";
	months[12]="December";
	var time=new Date();
	var month=months[time.getMonth() + 1];
	var date=time.getDate();
	var year=time.getYear();
	if (navigator.appName == "Netscape") {
		year=time.getYear() + 1900;
		} else {
		year=time.getYear();
	}
	inForm.month.value = month;
	inForm.day.value = date;
	inForm.year.value = year;
}

// CHOOSE DESTINATION PAGE FOR /SUPPORT/DOWNLOADS/ORDER.SHTML
function chooseDestination(inForm) {
	if (inForm.sie.checked || inForm.iman.checked || inForm.order[0].checked) {
		inForm.url.value = '/support/downloads/order_thanks_x0b0.shtml';
		return true;
		} else {
		if (inForm.order[1].checked) {
			inForm.url.value = '/support/downloads/order_licenseonly_thanks.shtml';
			return true;			
			} else {
			alert('You must select at least one product.');
			inForm.url.value = '/support/error.shtml';
			return false;
		}
	}	
}

function chooseEvalDestination(inForm) {
	if (inForm.sie.checked || inForm.iman.checked) {
		inForm.url.value = '/support/downloads/evalrequest_thanks_x5g5.shtml';
		return true;
		} else {
		inForm.url.value = '/support/error.shtml';
		return false;
	}

}
