var whitespace = " \t\n\r";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var digitsInUSPhoneNumber = 10;
var ZIPCodeDelimiters = "-";
var ZIPCodeDelimeters = "-";
var validZIPCodeChars = digits + ZIPCodeDelimiters;
var digitsInZIPCode1 = 5;
var digitsInZIPCode2 = 9;

function isWhitespace (s)
{   
    var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}
function isEmpty(s)
{   
  return ((s == null) || (s.length == 0))
}

function checkString (theField)
{   
    if (isEmpty(theField)) 
    {
        return false;
    }
    else if (isWhitespace(theField)) 
    {
       return false;
    }
    else 
    {
      return true;
    }
}

function checkFName (s)
{   
    var i;
    if (isEmpty(s)) return false;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) != -1) return true;
    }
    return false;
}

function reformat (s)
{   var arg;
    var sPos = 0;
    var resultString = "";
    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}
function isDigit (c)
{   
	return ((c >= "0") && (c <= "9"));
}
function isInteger (s)
{   var i;
    if (isEmpty(s)) 
    {
      return false;
	}
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}
function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function reformatUSPhone (USPhone)
{
 return (reformat (USPhone, "(", 3, ") ", 3, "-", 4));
}

function isUSPhoneNumber (s)
{   
	if (isEmpty(s))
    {
       return false;
    }
	return (isInteger(s) && s.length == digitsInUSPhoneNumber);
}

function checkUSPhone (theField)
{ 
    var normalizedPhone = stripCharsInBag(theField, phoneNumberDelimiters);
    if(normalizedPhone.charAt(0) == '1') {
   	normalizedPhone = normalizedPhone.substring(1);
    }
	if (!isUSPhoneNumber(normalizedPhone)) 
	{
       return false;
	}
    else 
    {  
       theField = reformatUSPhone(normalizedPhone);
       return true;
    }
}
function isZIPCode (s)
{  
    var t = stripCharsInBag(s, ZIPCodeDelimiters);
	
	if (isEmpty(t)) 
    {
       return false;
	}
   return (isInteger(t) && ((t.length == digitsInZIPCode1) || (t.length == digitsInZIPCode2)))
}

function isEmail (s)
{   
    if (isEmpty(s)) 
    {
      return false;
    }
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
	{
	 return false;
	}
    else
	{
	 return true;
	}
}

function displayLearningCenter(proId)
{
    AjaxRequest.get(
      {
        'url':'/process/displayLearning.php?proid='+proId 
        ,'onSuccess': function(req) { handledisplayLearningCenter(req); }
      });
}

function handledisplayLearningCenter(req) { 
  html = req.responseText;
  document.getElementById('learning').innerHTML= html;
}

function askQuestion()
{
  if(document.getElementById('nerfquestion').innerHTML == "COMING SOON!")
  {
    alert("This category is coming soon!");
    return false;
	}

	var errorstr = "";
  var lst = document.getElementById('questioncategoryid');
  var idx = document.getElementById('questioncategoryid').selectedIndex;
  var catpro = lst.options[idx].value+'';
  var name = document.getElementById('name').value;
  var email = document.getElementById('email').value;
  var phone = document.getElementById('phone').value;
  var qtitle = document.getElementById('qtitle').value;
  var question = document.getElementById('questiont').value;
  var future = 'N';

  if(idx == 0)
  {
	errorstr += "Please choose a category.\n";
  }
  if(!document.getElementById('terms').checked)
  {  
	errorstr += "Please read our terms and conditions.\n";
  }

  if (!checkString(name))
  { 
    errorstr += "Name required\n";
  }

  if (!checkString(qtitle))
  { 
    errorstr += "Question title required\n";
  }

  if (!checkString(question))
  { 
    errorstr += "Question required\n";
  }

  if (!isEmail(email))
  { 
    errorstr += "Invalid e-mail address- e.g. name@domain.com\n";
  }

//  if (!checkUSPhone(phone))
//  {
//    errorstr += "Ten number with area code- e.g. (555) 555-5555\n";
//  }
  
  if(document.getElementById('future').checked)
  {  
    future = 'Y';
  }

  if(errorstr != "")
  {
    alert(errorstr);
	return false;
  }
  else
  {
    document.getElementById('question').innerHTML= "Emailing...";
	AjaxRequest.get(
      { 'url':'/process/askQuestion.php?catpro='+catpro+'&name='+name+'&email='+email+'&phone='+phone+'&qtitle='+qtitle+'&question='+question+'&future='+future 
        ,'onSuccess': function(req) { handleaskQuestion(req); }
      });
  }
}

function handleaskQuestion(req) { 
  var html = req.responseText;
  document.getElementById('question').innerHTML= html;
  Nifty("div#nerfszz","small");
}


function anotherQuestion() { 
    document.getElementById('question').innerHTML= "Resetting...";
	AjaxRequest.get(
      {'url':'/process/anotherQuestion.php'
        ,'onSuccess': function(req) { handleanotherQuestion(req); }
      });
  }

function handleanotherQuestion(req)
{
  var html = req.responseText;
  document.getElementById('question').innerHTML= html;
  Nifty("div#nerfs","small");
}

function displayFAQ(dm_id,dp_id,seq)
{
    document.getElementById('showfaq').style.display = 'inline';
    
    document.getElementById('faqcontent').innerHTML= "Loading FAQ-"+seq+"...";
	AjaxRequest.get(
      {'url':'/process/getfaq.php?m='+dm_id+'&p='+dp_id+'&s='+seq
        ,'onSuccess': function(req) { handledisplayFAQ(req); }
      });

}

function handledisplayFAQ(req)
{
  var html = req.responseText;
  document.getElementById('faqcontent').innerHTML= html;
}

function displayTopics(dm_id,dp_id,seq)
{
		document.getElementById('showtopicsdiv').style.display = 'inline';
		document.getElementById('topiccontent').innerHTML= "Loading Topic-"+seq+"...";
	AjaxRequest.get(
      {'url':'/process/gettopics.php?m='+dm_id+'&p='+dp_id+'&s='+seq
        ,'onSuccess': function(req) { handledisplayTopics(req); }
      });

}

function handledisplayTopics(req)
{
  var html = req.responseText;
  document.getElementById('topiccontent').innerHTML= html;
}

//////////////////////////////////////////////////////
function askQuestionbig()
{
  var errorstr = "";
  var name = document.getElementById('namebig').value;
  var email = document.getElementById('emailbig').value;
  var phone = document.getElementById('phonebig').value;
  var qtitle = document.getElementById('qtitlebig').value;
  var question = document.getElementById('questiontbig').value;
  var pro = document.getElementById('hiddencat').value;
  var future = 'N';

  if(!document.getElementById('termsbig').checked)
  {  
	errorstr += "Please read our terms and conditions.\n";
  }

  if (!checkString(name))
  { 
    errorstr += "Name required\n";
  }

  if (!checkString(qtitle))
  { 
    errorstr += "Question title required\n";
  }

  if (!checkString(question))
  { 
    errorstr += "Question required\n";
  }

  if (!isEmail(email))
  { 
    errorstr += "Invalid e-mail address- e.g. name@domain.com\n";
  }

 // if (!checkUSPhone(phone))
 // {
 //   errorstr += "Ten digit number including area code- e.g. 555 555-5555\n";
 // }
  
  if(document.getElementById('futurebig').checked)
  {  
    future = 'Y';
  }

  if(errorstr != "")
  {
    alert(errorstr);
	return false;
  }
  else
  {
    document.getElementById('questionbig').innerHTML= "Emailing...";
	AjaxRequest.get(
      { 'url':'/process/askQuestionbig.php?pro='+pro+'&name='+name+'&email='+email+'&phone='+phone+'&qtitle='+qtitle+'&question='+question+'&future='+future 
        ,'onSuccess': function(req) { handleaskQuestionbig(req); }
      });
  }
}

function handleaskQuestionbig(req) { 
  var html = req.responseText;
  document.getElementById('questionbig').innerHTML= html;
  Nifty("div#nerfszx","small");
}


function anotherQuestionbig() { 
    document.getElementById('questionbig').innerHTML= "Resetting...";
	AjaxRequest.get(
      {'url':'/process/anotherQuestionbig.php'
        ,'onSuccess': function(req) { handleanotherQuestionbig(req); }
      });
  }

function handleanotherQuestionbig(req)
{
  var html = req.responseText;
  document.getElementById('questionbig').innerHTML= html;
  Nifty("div#nerfszy","small");
}

function verifyProForm(frm)
{
  	var err = '';
	
	if(frm.user_name.value == '') err += 'You need to include your name.\n';
	if(frm.user_position.value == '') err += 'You need to include your position.\n';
	if(frm.user_company.value == '') err += 'You need to include your company.\n';
	if(frm.user_website.value == '') err += 'You need to include your website.\n';
	if(frm.user_address1.value == '') err += 'You need to include your address.\n';
	if(frm.user_cityzip.value == '') err += 'You need to include your City/Province/Postal Code.\n';
	if(frm.user_phone.value == '') err += 'You need to include your phone number.\n';
	if(frm.user_email.value == '') err += 'You need to include your email address.\n';
	
	if(err != '')
	{
		alert('There were some errors\n\n'+err);
		return false;
	}
	
	return true;
}

function termsPopup(){
	
	var terms = window.open('templates/termsup.php', 'terms', 'width=900,height=900,scrollbars=yes,resize=yes');
  terms.moveTo(50,25);
}

function popgoogle(addr){
	var http = 'http://maps.google.com/maps?near=';
	var google = window.open(http+addr, 'mapit', 'width=1000,height=800,scrollbars=yes,resize=yes,toolbar=no,location=no,menubar=no,directories=no');
  google.moveTo(50,25);
}

var vaddr;
function countWeb(addr){
vaddr = addr;
	AjaxRequest.get({'url':'/process/countWeb.php'
    ,'onSuccess': function(req) { handlecountWeb(req); } });
}

function handlecountWeb(req)
{
  var h = req.responseText;
  var win = window.open(vaddr, 'mapit','width=1000,height=1000,scrollbars=yes,resize=yes,toolbar=yes,location=yes,menubar=yes,directories=yes');
  if(!win) 
  {
    alert("This link has been blocked by your popup blocker.\nPlease change your browser settings to allow \npopups for www.myhealthandwellness.com.");
    return false;
  }
}

// JavaScript Document
function validateForm(frm)
{
	for(var i=0; i<frm.elements.length; i++)
	{
		if(frm[i].value == "")
		{
			//break;
			window.alert('Some required fields were left blank. Please review your entries and fill in all required fields.');
			
			return false;
		}
	}
	
	return true;
}

function gohome(lk)
{
  window.location.href = lk;
  return true;
}

function dispalylinks(dc_id)
{
    document.getElementById('tlinks').innerHTML= "Searching...";
	AjaxRequest.get(
      { 'url':'/process/getlinks.php?dc_id='+dc_id 
        ,'onSuccess': function(req) { handledisplaylinks(req); }
      });
}

function handledisplaylinks(req) { 
  var html = req.responseText;
  document.getElementById('tlinks').innerHTML= html;
}

function checkdemo()
{
//alert("chg");
	var lst = document.getElementById('questioncategoryid');
  var idx = document.getElementById('questioncategoryid').selectedIndex;
  var catpro = lst.options[idx].value+'';
  AjaxRequest.get(
      { 'url':'/process/checkdemo.php?catpro='+catpro 
        ,'onSuccess': function(req) { handlecheckdemo(req); }
      });
}

function handlecheckdemo(req) { 
  var d = req.responseText;
	if(d == "1")  // is a demo dude
  {
    document.getElementById('nerfquestion').innerHTML = "COMING SOON!";
    document.getElementById('nerfquestion').disabled = true;
    document.getElementById('name').disabled = true;
    document.getElementById('phone').disabled = true;
    document.getElementById('qtitle').disabled = true;
    document.getElementById('questiont').disabled = true;
  }
  else if (d == "0") // is not a demo dude
  {
    document.getElementById('nerfquestion').innerHTML = "Ask Your Question";
    document.getElementById('nerfquestion').disabled = false;
    document.getElementById('name').disabled = false;
    document.getElementById('phone').disabled = false;
    document.getElementById('qtitle').disabled = false;
    document.getElementById('questiont').disabled = false;
	}
  else  
	{
    return true;
  }
}
