function pviiClassNew(obj, new_style) { 
  obj.className=new_style;
}

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 P7_autoLayers() { //v1.4 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;a=parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc){p7c=new Array();document.p7setc=true;for(var u=0;u<10;u++){
 p7c[u]=new Array();}}for(k=0;k<p7c[a].length;k++){if((g=MM_findObj(p7c[a][k]))!=null){
 b=(document.layers)?g:g.style;b.visibility="hidden";}}for(k=1;k<args.length;k++){
 if((g=MM_findObj(args[k]))!=null){b=(document.layers)?g:g.style;b.visibility="visible";f=false;
 for(var j=0;j<p7c[a].length;j++){if(args[k]==p7c[a][j]) {f=true;}}
 if(!f){p7c[a][p7c[a].length++]=args[k];}}}
}

function P7_Snap() { //v2.64 by PVII
 var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,tw,q0,xx,yy,w1,pa='px',args=P7_Snap.arguments;a=parseInt(a);
 if(document.layers||window.opera){pa='';}for(k=0;k<(args.length);k+=4){
 if((g=MM_findObj(args[k]))!=null){if((el=MM_findObj(args[k+1]))!=null){
 a=parseInt(args[k+2]);b=parseInt(args[k+3]);x=0;y=0;ox=0;oy=0;p="";tx=1;
 da="document.all['"+args[k]+"']";if(document.getElementById){
 d="document.getElementsByName('"+args[k]+"')[0]";if(!eval(d)){
 d="document.getElementById('"+args[k]+"')";if(!eval(d)){d=da;}}
 }else if(document.all){d=da;}if(document.all||document.getElementById){while(tx==1){
 p+=".offsetParent";if(eval(d+p)){x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
 }else{tx=0;}}ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);tw=x+ox+y+oy;
 if(tw==0||(navigator.appVersion.indexOf("MSIE 4")>-1&&navigator.appVersion.indexOf("Mac")>-1)){
  ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);}else{
  w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
  x=document.body.scrollLeft+event.clientX+bx;y=document.body.scrollTop+event.clientY;}}
 }else if(document.layers){x=g.x;y=g.y;q0=document.layers,dd="";for(var s=0;s<q0.length;s++){
  dd='document.'+q0[s].name;if(eval(dd+'.document.'+args[k])){x+=eval(dd+'.left');y+=eval(dd+'.top');
  break;}}}e=(document.layers)?el:el.style;xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
 if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
  xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);}
 e.left=xx+pa;e.top=yy+pa;}}}
}
		
function TM_UpperCase(strInput,words){
    var theString = strInput.value;
    var strOutput = "";// Our temporary string used to build the function's output
    var sp = " ";
    var small = false;
    var smallWords = words.split(",") //words that shouldn't be  capitalized
    theString = theString.replace(/(\s*)([^\s])/,"$2")//remove leading spaces
    theString = theString.toLowerCase();  
    var inputArray = theString.split(sp);
    strOutput = inputArray[0].slice(0,1).toUpperCase()+inputArray[0].slice(1);
    for (i = 1; i < inputArray.length; i++){ 
        small=false;
        for (ii=0;ii<smallWords.length;ii++){
           if(inputArray[i] == smallWords[ii]) small = true;
           }
        if(!small) inputArray[i] = inputArray[i].slice(0,1).toUpperCase()+inputArray[i].slice(1);
        strOutput = strOutput + sp + inputArray[i];  
        }
    strInput.value = strOutput;
}

var nums=new Array('document.forms[0].contactphone');
function doThis(){
var re= /\D/;
// test for this format: (xxx)xxx-xxxx
// var re2 = /^\({1}\d{2}\)\d{4}-\d{4}/; 
// test for this format: xxx-xxx-xxxx
var re2 = /^\d{2}-\d{4} \d{4}/;
for (i=0; i<nums.length;i++){
var num=eval(nums[i]+'.value');
var newNum;
 if (num != "" && re2.test(num)!=true){
   if (num != ""){
     while (re.test(num)){
     num = num.replace(re,"");
     }
   }
  if (num.length != 10){
    alert('Please enter a 10 digit phone number');
    eval(nums[i]).select();
    break;
    }
   else {
     // for format (xxx)xxx-xxxx
     // newNum = '(' + num.substring(0,2) + ')' + num.substring(2,6) + '-' + num.substring(6,10);
     // for format (xx) xxxx xxxx
     newNum = '(' + num.substring(0,2) + ') ' + num.substring(2,6) + ' ' + num.substring(6,10);
     eval(nums[i]).value=newNum;
     }
   }
  }
}

// the validateForm() function is the brain of the form-validation
// code; you'll have to customize it to fit your form-field needs!
function validateForm(contact)  {
  // validate First & Last Name field
  // begin by stripping leading/trailing blanks
  document.contact.name.value = stripLeadingTrailingBlanks(document.contact.name.value);
  if (isBlank(document.contact.name.value))
    {    alert("Please enter your First & Last Name.");
   document.contact.name.focus();
    return false;    }

  // validate Address field
  // begin by stripping leading/trailing blanks
  document.contact.address1.value = stripLeadingTrailingBlanks(document.contact.address1.value);
  if (isBlank(document.contact.address1.value))
    {    alert("Please enter an address that accepts mail.");
   document.contact.address1.focus();
    return false;    }

  // validate City field
  // begin by stripping leading/trailing blanks
  document.contact.city.value = stripLeadingTrailingBlanks(document.contact.city.value);
  if (isBlank(document.contact.city.value))
    {    alert("Please enter your city or town.");
   document.contact.city.focus();
    return false;    }

  // validate State field
  // begin by stripping leading/trailing blanks
  document.contact.state.value = stripLeadingTrailingBlanks(document.contact.state.value);
  if (isBlank(document.contact.state.value))
    {    alert("Please enter your State.");
   document.contact.state.focus();
    return false;    }

  // validate Postcode field
  // begin by stripping leading/trailing blanks
  document.contact.postcode.value = stripLeadingTrailingBlanks(document.contact.postcode.value);
  if (isBlank(document.contact.postcode.value))
    {    alert("Please enter your Postcode.");
   document.contact.postcode.focus();
    return false;    }

  // validate Country field
  // begin by stripping leading/trailing blanks
  document.contact.country.value = stripLeadingTrailingBlanks(document.contact.country.value);
  if (isBlank(document.contact.country.value))
    {    alert("Please enter your Country.");
   document.contact.country.focus();
    return false;    }

  // validate Email field ( the exclamation means "not" )
  // begin by stripping leading/trailing blanks
  document.contact.email.value = stripLeadingTrailingBlanks(document.contact.email.value);
  if(!isEmail(document.contact.email.value))
  	  {	  alert("Invalid email detected.");
      document.contact.email.focus();
  		 // if the browser is Netscape 6 or IE
  if(document.all || document.getElementByID)
  	  {  // change the color of text field
	  document.contact.email.style.background = "#02409C";	
	  document.contact.email.style.color = "#FFFFFF";	  }  
	  // make sure the form is not submitted
  	  return false;	  }	

 // validate Phone field
 // begin by stripping leading/trailing blanks	
document.contact.contactphone.value = stripLeadingTrailingBlanks(document.contact.contactphone.value);
  if (isBlank(document.contact.contactphone.value))
    {
    alert("Please enter a 10 digit phone number  - xx xxxx xxxx.");
   document.contact.contactphone.focus();
    return false;
    }	
  return true;   }		

function toForm() {
document.contact.name.focus();
}