<!--


imgroll = new Array();
imgroll[0] = "";// ok to leave empty
imgroll[1] = "aboutus";
imgroll[2] = "services";
imgroll[3] = "products";
imgroll[4] = "contactus";
imgroll[5] = "careers";
imgroll[6] = "faqs";
imgroll[7] = "sub-dna-syn";
imgroll[8] = "sub-dan-seq";
imgroll[9] = "sub-rna-syn";
imgroll[10] = "sub-gene-syn";
imgroll[11] = "sub-histology";
imgroll[12] = "sub-products";


onimages = [];
offimages = [];
for(i=0; i < imgroll.length; i++){
	onimages[i] =  new Image();
	onimages[i].src = "/images/"+imgroll[i]+"-on.jpg";
	offimages[i] =  new Image();
	offimages[i].src = "/images/"+imgroll[i]+"-off.jpg";
}
function imgOn(imageName) {
	num = imageName.split("e");
	document[imageName].src = onimages[num[1]].src;  
}
function imgOff(imageName) {  
	num = imageName.split("e");
	document[imageName].src = offimages[num[1]].src;
}




function set_now(id){
	var today = new Date();
	var month = today.getMonth() + 1;
	var day = today.getDate();
	var year = today.getFullYear();
	var hour = today.getHours();
	var min  = today.getMinutes();
	var sec  = today.getSeconds();	

	var d1 = "-"
	var d2 = ":";
	var now =  year + d1 + month + d1 + day + " " + hour + d2 + min + d2 + sec;
	document.forms[0][id].value = now;

}

function copy_shipping2billing(form_name){
   var customer   = new Array(9)
      customer[0]='email';
      customer[1]='contact_name';
      customer[2]='institute';
      customer[3]='address1';
      customer[4]='city';
      customer[5]='state';
      customer[6]='zip';
      customer[7]='phone';
      customer[8]='fax';
   var i;
   for(i=0; i<9; i++){
      var cust = customer[i];
      if(form_name)
			document.forms[form_name]['billing_'+cust].value = document.forms[form_name]['shipping_'+cust].value;
		else
      	document.forms[0]['billing_'+cust].value = document.forms[0]['shipping_'+cust].value;
   }

}

<!--

// arguments
// first field: form_name
// rest: required fields
// e.g. check_required_fields('member_login','email','member_id')

function check_required_fields(){
   var argv = check_required_fields.arguments;
   var form_name = argv[0];
   for(i=1; i< argv.length; i++){
      if(document[form_name][argv[i]] && !document[form_name][argv[i]].value  ){
         alert("Required field: " + argv[i].replace(/_/,' ').replace(/_/,' ').replace(/_/,' ').toUpperCase());
         return false;
      }
   }
   return true;
}

function check_oligo_name(row_count){
	var oc = 0;
    var product = document['user_oligo_form']['product'].value;
	for(i=0; i<row_count; i++){
		var seq = document['user_oligo_form']['oligo_sequence'][i].value;
		if(seq){
			var j = i + 1;
            if(product == 'RNA' && !seq.match('r')){
                alert('Please convert the sequence of #' + j + ' to RNA');
                return false;
            }
			oc++;
			var oligo_name = document['user_oligo_form']['oligo_name'][i].value;
			if(!oligo_name){
				alert("Oligo name for #" + j + " is required");
				return false;
			}
		}
	}
	/* no oligo */
	if(!oc){
		alert("You did not order any oligo, please check oligo sequence field");
		return false;
	}
	return true;
}

// check purification limit
function check_scale(puri, id){
	var scale = document['user_oligo_form']['scale'][id].value;
	var oligo = document['user_oligo_form']['oligo_sequence'][id].value;
	var oligo_ns = oligo.replace(/\s+/g, '');
	if(puri && scale < 4 ){
		if(oligo_ns.length < 80){
			alert("Minimum scale is 0.1 umol if PAGE or HPLC are selected.  Base length is limited to 80");
			document['user_oligo_form']['scale'][id].value = 3;
		}else{
			alert("Minimal scale is 0.2 umol if choose HPLC/PAGE");
			document['user_oligo_form']['scale'][id].value = 4;
		}
	}
}


// submit form from javascript, like from drop downbox
function submit_form(form_name){
   if(form_name)
      document[form_name].submit();
   else
      document.forms[0].submit();
}

// change foo display properties like display or hide
// based on val, default criteria is 'other'

function change_display(val, foo, criteria){
   if (!criteria) criteria = 'other';
   if (val== criteria) {
      document.getElementById(foo).style.display = 'block';
   } else {
         document.getElementById(foo).style.display = 'none';
   }
}

function change_payment_input(foo1, foo2){
	document.getElementById(foo1).style.display = 'block';
   document.getElementById(foo2).style.display = 'none';
}



function check_password(form_name, pass1, pass2){
   if(!pass1) pass1 = 'password';
   if(!pass2) pass2 = 'password2';

	if(document[form_name][pass1] && !document[form_name][pass1].value){
      alert("Type your password, please!");
      return false;
   }

   if(document[form_name][pass1].value != document[form_name][pass2].value){
      alert("Passwords are not match");
      return false;
   }
   return true;
}



<!-- borrow some javascript for email check -->

<!-- Changes:  Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

/* 1.1.2: Fixed a bug where trailing . in e-mail address was passing
            (the bug is actually in the weak regexp engine of the browser; I
            simplified the regexps to make it work).
   1.1.1: Removed restriction that countries must be preceded by a domain,
            so abc@host.uk is now legal.  However, there's still the 
            restriction that an address must end in a two or three letter
            word.
     1.1: Rewrote most of the function to conform more closely to RFC 822.
     1.0: Original  */

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkEmail (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern 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 e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


/* Finally, let's start trying to figure out if 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 or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
	alert("Email address seems incorrect (check @ and .'s)")
	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 username doesn't seem to 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("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
    return false
}

/* domain name seems valid, but now 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. */

/* Now we need to 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("The address must end in a three-letter domain, or two letter country.")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   return false
}

// If we've gotten this far, everything's valid!
return true;
}

//-->

