// JavaScript Document

function toCurrency(num) {
	num = Math.round(num*100)/100;
	var currstring = num.toString();
	if (currstring.match(/\./)) {
		var curr = currstring.split('.');
	} else {
		var curr = [currstring, "00"];
	}
	curr[1] += "00";
	curr[2] = "";
	var returnval = "";
	var length = curr[0].length;
	
	// add 0 to decimal if necessary
	for (var i = 0; i < 2; i++) 
		curr[2] += curr[1].substr(i, 1);

	// insert commas for readability
	for (i = length; (i - 3) > 0; i = i - 3) {
		returnval = "," + curr[0].substr(i - 3, 3) + returnval;
	}
	returnval = curr[0].substr(0, i) + returnval + "." + curr[2];
	return(returnval);
}

function isNumberString (i) {
var InString = "X";
var RefString="1234567890";
if(InString.length > 0) {
  for (Count=0; Count < InString.length; Count++) {
  TempChar= InString.substring (Count, Count+1);
  if (RefString.indexOf (TempChar, 0)==-1) {
       alert ("Quantity must be a number - Please Fix");
       }
    }
}
}

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 YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];

    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
   
  if (s!=''){
    alert('The required information is incomplete:\t\t\t\t\t\n\n'+s)
    return true;
  }
  return false; // no error
}

// Calculate total cost:
    
function calcTotal(type) {
   var totalcost = 0;
   var price_sem = 0;
   var price_web = 0;
   var totalwebs = 0;
   var totalsems = 0;
   
   var sem = false;
   var web = false;
   
   var Prices = [65,65,65];
 
 box=document.orderform.elements['Courses_Selected[]'];
 for (i = 0; i<box.length; i++) {
  if (box[i].checked) {
    /* this is a webinar */
	  price_web += Prices[i];
	  totalwebs++;  
	  web=true;
    } // box checked
   } // end for loop 

totalcost = price_web + price_sem;
document.orderform.amount.value = toCurrency(totalcost); 
document.orderform.courses.value = "";
if (sem)
 document.orderform.courses.value = totalsems + " Seminar(s)";
if (sem && web) 
  document.orderform.courses.value += " and " + totalwebs + " Webinar(s)";
else if (web)
   document.orderform.courses.value = totalwebs + " Webinar(s)";
 
  /* Could display a breakdown by seminar and webinar cost:
  document.orderform.courses.value += ". Seminar total=
  */

var stat = 0;            
var err = 0;

if (type == "SUBMIT") {
  err = YY_checkform('orderform','Role[0]','#q','2','Your role (VMD,DVM, etc.) is required.','firstname','#q','0','Your first name is required.','lastname','#q','0','Your last name is required.','email','#S','2','Your email is invalid.','street_address','#q','0','Your address is required.','city','#q','0','Your city is required.','state','#q','0','Your state or province is required.','zip','#q','0','Your zip or postal code is required.','country','#q','0','Your country is required.','Payment_Type[0]','#q','2','Please select the method of payment.'); 
 
   if (!err) { 
   // Other checks - 
   // Home OR Office phone: 
    if (document.orderform.home_phone.value == "" && document.orderform.office_phone.value == "" ) {
	      alert ("Please enter either your home or office phone number.");
		  document.orderform.office_phone.focus();
	      return false;  
	}
   
    // at least one course selected?
    box=document.orderform.elements['Courses_Selected[]'];
    for (i = 0; i<box.length; i++) {
    if (box[i].checked) {
     stat=1;
	 break;
     }
   } // end for loop 
   
    if (!stat) {
	alert ("You forgot to select at least one course.");
	//document.MM_returnValue=false;
	return false;  
    }
	
   
   //Checks passed - SUBMIT THE FORM:
    document.orderform.submit();

   }
}

} // end calctotal

