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_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_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 writeExCtrl(id) {
    if(document.getElementById && document.getElementById(id) && document.getElementById(id).innerHTML) {
        document.write(document.getElementById(id).innerHTML.replace(/&gt;/gi,'>').replace(/&lt;/gi, '<'));
    }
}

function n_win(link)
    {
        var n=window.open(link, "new", "left="+(screen.width/2-330)+", top="+(screen.height/2-298)+", height=415, width=775, status=no, toolbar=no, menubar=no, location=no");
}

/*
 * switch 5-digit USA zip and two 3-digit canadian zip
 *
 */
function CountryZipSelection( country ){
		
		if ( country == 'USA' ) {
			document.getElementById('can_zip1').style.visibility = 'hidden';
			document.getElementById('can_zip2').style.visibility = 'hidden';
			document.getElementById('usa_zip').style.display  = 'inline';
		
		} else {
			
			document.getElementById('can_zip1').style.visibility = 'visible';
			document.getElementById('can_zip2').style.visibility = 'visible';
			document.getElementById('usa_zip').style.display  = 'none';
		
		}
}
	
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) {

		
		var keyCode = (isNN) ? e.which : e.keyCode; 
		var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
		
		if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
		}
		
		function containsElement(arr, ele) {
			var found = false, index = 0;
			while(!found && index < arr.length)
			if(arr[index] == ele)
			found = true;
			else
			index++;
			return found;
		}
			
		function getIndex(input) {
			var index = -1, i = 0, found = false;
			while (i < input.form.length && index == -1)
			if (input.form[i] == input)index = i;
			else i++;
			return index;
		}
		
		return true;
	}
	
	function OnlyNumeral(num,e, type )
    {
		
		//alert('q');
			// Make sure to use event.charCode if available
			var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);

			// Ignore special keys 1102
			if ((e.ctrlKey || e.altKey || key > 57 || key < 48) && e.keyCode!=8){
				return false;
			}
			
			//alert(document.getElementById('cc_'+num).value.length);
			
			if ( num<3 && document.getElementById(type+num).value.length>=3 && e.keyCode!=8){
				num++;
				name_field = type+num;
				document.getElementById(name_field).focus();
			}
			
			if ( num>1 && document.getElementById(type+num).value.length==0 && e.keyCode==8){
					num--;
				name_field = type+num;
				//alert(name_field);
				document.getElementById(name_field).focus();
			}
		}