function countWords (val,maxWC)
 {
 var char_count = val.length;
 var fullStr = val + " ";
 var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
 var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
 var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
 var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
 var splitString = cleanedStr.split(" ");
 var word_count = splitString.length -1;
 if (fullStr.length <2 ) { word_count = 0; }
 if (word_count>maxWC) { alert ("Word Count: "+word_count+" words!\n\nPlease limit your description to 180 words or less."); }
 }

function billSame(cbox)
 {
 if (cbox.checked == true)
  {
  document.signupform.x_Last_Name.value=document.signupform.name.value;
  document.signupform.x_Address.value=document.signupform.address.value;
  document.signupform.x_City.value=document.signupform.city.value;
  document.signupform.x_Zip.value=document.signupform.zip.value;
  document.signupform.x_State.value=document.signupform.state.value;
  document.signupform.x_Country.value=document.signupform.country.value;
  document.signupform.x_Email.value=document.signupform.email.value;
  }
 else
  {
  document.signupform.x_Last_Name.value='';
  document.signupform.x_Address.value='';
  document.signupform.x_City.value='';
  document.signupform.x_Zip.value='';
  document.signupform.x_State.value='';
  document.signupform.x_Country.value='';
  document.signupform.x_Email.value='';
  }
 }

function validateForm ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.signupform;
 var i=0;
 var specs = false;
 if (!ff.clinic.value) { err[i++] = "Clinic Name is a required field."; ff.clinic.style.background='#fcc'; }
 if (!ff.name.value) { err[i++] = "Your Name is a required field."; ff.name.style.background='#fcc'; }
 if (!ff.name2.value) { err[i++] = "Other Name is a required field."; ff.name2.style.background='#fcc'; }
 if (!ff.address.value) { err[i++] = "Clinic Address is a required field."; ff.address.style.background='#fcc'; }
 if (!ff.city.value) { err[i++] = "Clinic City is a required field."; ff.city.style.background='#fcc'; }
 if (!ff.phone.value) { err[i++] = "Clinic Phone Number is a required field."; ff.phone.style.background='#fcc'; }
 if (!ff.description.value) { err[i++] = "A Clinic Description is required."; ff.description.style.background='#fcc'; }
 if (!ff.email.value) { err[i++] = "Your E-mail Address is a required field."; ff.email.style.background='#fcc'; }
 if (!ff.pwd.value.length>12 || ff.pwd.value.length<5) { err[i++] = "Password must be between 5 and 12 characters."; ff.pwd.style.background='#fcc'; }
 if (!ff.pwd2.value.length>12 || ff.pwd2.value.length<5) { err[i++] = "Confirm Password must be between 5 and 12 characters."; ff.pwd2.style.background='#fcc'; }
 if (!ff.pwd.value) { err[i++] = "Password is a required field."; ff.pwd.style.background='#fcc'; }
 if (!ff.pwd2.value) { err[i++] = "Confirm Password is a required field."; ff.pwd2.style.background='#fcc'; }
 if (ff.pwd.value != ff.pwd2.value) { err[i++] = "Password and Confirm Password fields do not match."; ff.pwd.style.background='#fcc'; ff.pwd2.style.background='#fcc'; }
 if (!ff.x_Last_Name.value) { err[i++] = "Name on Credit Card is a required field."; ff.x_Last_Name.style.background='#fcc'; }
 if (!ff.x_Card_Num.value) { err[i++] = "Credit Card Number is a required field."; ff.x_Card_Num.style.background='#fcc'; }
 if (!ff.x_Card_Code.value) { err[i++] = "Credit Card CVV is a required field."; ff.x_Card_Code.style.background='#fcc'; }
 if (!ff.x_Exp_Date.value) { err[i++] = "Credit Card Expiration Date is a required field."; ff.x_Exp_Date.style.background='#fcc'; }
 if (!ff.x_Address.value) { err[i++] = "Billing Address is a required field."; ff.x_Address.style.background='#fcc'; }
 if (!ff.x_City.value) { err[i++] = "Billing City is a required field."; ff.x_City.style.background='#fcc'; }
 if (!ff.x_Country.value) { err[i++] = "Billing Country is a required field."; ff.x_Country.style.background='#fcc'; }
 for (var s=0; s<count; s++)
  {
  if (document.getElementById('s'+s).checked == true) { specs = true; break; }
  }
 if (specs == false) { err[i++] = "You must select at least one Specialty."; document.getElementById('specTbl').style.border='1px solid red'; }
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function validatePayform ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.payform;
 var i=0;
 if (!ff.x_Last_Name.value) { err[i++] = "Name on Credit Card is a required field."; ff.x_Last_Name.style.background='#fcc'; }
 if (!ff.x_Card_Num.value) { err[i++] = "Credit Card Number is a required field."; ff.x_Card_Num.style.background='#fcc'; }
 if (!ff.x_Card_Code.value) { err[i++] = "Credit Card CVV is a required field."; ff.x_Card_Code.style.background='#fcc'; }
 if (!ff.x_Exp_Date.value) { err[i++] = "Credit Card Expiration Date is a required field."; ff.x_Exp_Date.style.background='#fcc'; }
 if (!ff.x_Address.value) { err[i++] = "Billing Address is a required field."; ff.x_Address.style.background='#fcc'; }
 if (!ff.x_City.value) { err[i++] = "Billing City is a required field."; ff.x_City.style.background='#fcc'; }
 if (!ff.x_Country.value) { err[i++] = "Billing Country is a required field."; ff.x_Country.style.background='#fcc'; }
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function validatePhotoform ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.photoform;
 var i=0;
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function validateInfoform ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.infoform;
 var i=0;
 var specs = false;
 if (!ff.clinic.value) { err[i++] = "Clinic Name is a required field."; ff.clinic.style.background='#fcc'; }
 if (!ff.name.value) { err[i++] = "Your Name is a required field."; ff.name.style.background='#fcc'; }
 if (!ff.name2.value) { err[i++] = "Other Name is a required field."; ff.name2.style.background='#fcc'; }
 if (!ff.address.value) { err[i++] = "Clinic Address is a required field."; ff.address.style.background='#fcc'; }
 if (!ff.city.value) { err[i++] = "Clinic City is a required field."; ff.city.style.background='#fcc'; }
 if (!ff.phone.value) { err[i++] = "Clinic Phone Number is a required field."; ff.phone.style.background='#fcc'; }
 if (!ff.description.value) { err[i++] = "A Clinic Description is required."; ff.description.style.background='#fcc'; }
 if (!ff.email.value) { err[i++] = "Your E-mail Address is a required field."; ff.email.style.background='#fcc'; }
 for (var s=0; s<count; s++)
  {
  if (document.getElementById('s'+s).checked == true) { specs = true; break; }
  }
 if (specs == false) { err[i++] = "You must select at least one Specialty."; document.getElementById('specTbl').style.border='1px solid red'; }
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function validateLogin ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.loginform;
 var i=0;
 if (!ff.email.value) { err[i++] = "Please enter your E-mail Address."; ff.email.style.background='#fcc'; }
 if (!ff.pwd.value.length>12 || ff.pwd.value.length<5) { err[i++] = "Please enter your passwordl."; ff.pwd.style.background='#fcc'; }
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function validatePWform ()
 {
 var err = new Array();
 var errAlert = "The following error(s) were detected:\n";
 var ff = document.pwform;
 var i=0;
 if (!ff.pwd0.value) { err[i++] = "You must provide your old password."; ff.pwd0.style.background='#fcc'; }
 if (!ff.pwd.value.length>12 || ff.pwd.value.length<5) { err[i++] = "New Password must be between 5 and 12 characters."; ff.pwd.style.background='#fcc'; }
 if (!ff.pwd2.value.length>12 || ff.pwd2.value.length<5) { err[i++] = "Confirm New Password must be between 5 and 12 characters."; ff.pwd2.style.background='#fcc'; }
 if (!ff.pwd.value) { err[i++] = "New Password is a required field."; ff.pwd.style.background='#fcc'; }
 if (!ff.pwd2.value) { err[i++] = "Confirm New Password is a required field."; ff.pwd2.style.background='#fcc'; }
 if (ff.pwd.value != ff.pwd2.value) { err[i++] = "Your New Password and Confirm New Password fields do not match."; ff.pwd.style.background='#fcc'; ff.pwd2.style.background='#fcc'; }
 if (err.length < 1) { return true; }
 for (var r=0; r<err.length; r++)
  {
  errAlert += "\n"+err[r];
  }
 alert (errAlert);
 return false;
 }

function nav (activeDiv)
 {
 document.getElementById('webpage').style.display='none';
 document.getElementById('payment').style.display='none';
 document.getElementById('photos').style.display='none';
 document.getElementById('pwd').style.display='none';
 document.getElementById(activeDiv).style.display='block';
 if (activeDiv == 'webpage') { document.getElementById('pTitle').innerHTML = 'Manage Your Webpage'; }
 if (activeDiv == 'photos') { document.getElementById('pTitle').innerHTML = 'Upload or Update Photos'; }
 if (activeDiv == 'payment') { document.getElementById('pTitle').innerHTML = 'Update Your Payment Information'; }
 if (activeDiv == 'pwd') { document.getElementById('pTitle').innerHTML = 'Update Your Password'; }
 }

 // Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}
// Example:
// alert( readCookie("myCookie") );

function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}

function adjustIFrameSize(id) {
    var myIframe = document.getElementById(id);
    if (myIframe) {
        if (myIframe .contentDocument && myIframe.contentDocument.body.offsetHeight) {
            // W3C DOM (and Mozilla) syntax
            myIframe.height = myIframe.contentDocument.body.offsetHeight+20;    
        } else if (myIframe.Document && myIframe.Document.body.scrollHeight) {
            // IE DOM syntax
            myIframe.height = myIframe.Document.body.scrollHeight+20;
        }
    }
}

function adjustIFrameSize(id) {
    var myIframe = document.getElementById(id);
    if (myIframe) {
        if (myIframe.contentDocument && myIframe.contentDocument.body.offsetHeight) {
            // W3C DOM (and Mozilla) syntax
            myIframe.height = myIframe.contentDocument.body.offsetHeight+20;    
        } else if (myIframe.Document && myIframe.Document.body.scrollHeight) {
            // IE DOM syntax
            myIframe.height = myIframe.Document.body.scrollHeight+20;
        }
        // bind onload events to iframe
        if (myIframe.addEventListener) {
            myIframe.addEventListener("load", resizeIframe, false);
        } else {
            myIframe.attachEvent("onload", resizeIframe);
        }
   }
}

function resizeIframe(evt) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    // take care of W3C event processing from iframe's root document
    if (target.nodeType == 9) {
      if (evt.currentTarget && evt.currentTarget.tagName.toLowerCase() == "iframe") {
            target = evt.currentTarget;    
        }
    }
    if (target) {
        adjustIFrameSize(target.id);
    }
}

