
var error_flag=false;
var count = 0;

if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj, start) {
    for (var i = (start || 0); i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
  return -1;
  }
}

function loadvideo()
  {
  var so = new SWFObject("http://www.newincomenow.biz/videos/player.swf", "newincomenow", "450", "300", "9", "#ffffff");
  so.addVariable("quality", "high");
  so.addVariable("duration", "120");
  so.addVariable("bufferlength", "5");
  so.addVariable("fullscreen", "true");
  so.addVariable("screencolor", "#000000");
  so.addVariable("scale", "noscale");
  so.addVariable("file", "http://www.newincomenow.biz/videos/monavie-web-pitch.flv");
  //so.addVariable("image", "http://www.intimacyescapes.com/images/video-preview.png");
  so.addVariable("wmode", "transparent");
  so.addVariable("allowScriptAccess", "always");
  so.addVariable("type", "video");
  so.addVariable("stretching", "uniform");
  //so.addVariable("skin", "http://www.newincomenow.biz/videos/snel.swf");
  so.addVariable("pluginspage", "http://www.macromedia.com/go/getflashplayer");
  so.addVariable("autostart", "true");

  so.write("flashcontent");

  setTimeout("loadTestimoniesvideo(); ",120000);
  }
function loadTestimoniesvideo()
  {

  var so = new SWFObject("http://www.newincomenow.biz/videos/player.swf", "newincomenow", "450", "300", "9", "#ffffff");
  so.addVariable("quality", "high");
  so.addVariable("duration", "175");
  so.addVariable("bufferlength", "5");
  so.addVariable("fullscreen", "true");
  so.addVariable("screencolor", "#000000");
  so.addVariable("scale", "noscale");
  so.addVariable("file", "http://www.newincomenow.biz/videos/testimonies.flv");
  //so.addVariable("image", "http://www.intimacyescapes.com/images/video-preview.png");
  so.addVariable("wmode", "transparent");
  so.addVariable("allowScriptAccess", "always");
  so.addVariable("type", "video");
  so.addVariable("stretching", "uniform");
  //so.addVariable("skin", "http://www.newincomenow.biz/videos/snel.swf");
  so.addVariable("pluginspage", "http://www.macromedia.com/go/getflashplayer");
  so.addVariable("autostart", "true");
  so.write("flashcontent");
  }

function checkOptions(obj)
  {
  if(!document.getElementById("opt1"))
    return;

  var opt1 = document.getElementById("opt1");
  var opt2 = document.getElementById("opt2");
  var opt3 = document.getElementById("opt3");

  var elem1 = document.getElementById("choose_opt1");
  var elem2 = document.getElementById("choose_opt2");
  var elem3 = document.getElementById("choose_opt3");

  if(opt1.checked)
    {
    showElem(elem1);
    hideElem(elem2);
    hideElem(elem3);
    }
  else if(opt2.checked)
    {
    showElem(elem2);
    hideElem(elem1);
    hideElem(elem3);
    }
  else if(opt3.checked)
    {
    showElem(elem3);
    hideElem(elem2);
    hideElem(elem1);
    }
  }

function hideElem(obj)
  {
  obj.style.display="none";
  }
function showElem(obj)
  {
  obj.style.display="";
  }

function checkOptionsAvailable()
  {
  var max_allowed=0;
  count=0;

  if(document.getElementById("opt2").checked)
    max_allowed = 2;

  if(document.getElementById("opt3").checked)
    max_allowed = 3;

  var prefix = "opt"+max_allowed+"_";
  //check all available elements

  var options_array = new Array();
  options_array.push(prefix+"original");
  options_array.push(prefix+"active");
  options_array.push(prefix+"pulse");
  options_array.push(prefix+"kosher");
  options_array.push(prefix+"combo_org_active");
  options_array.push(prefix+"combo_pulse_active");
  options_array.push(prefix+"combo_kosher_active");
  options_array.push(prefix+"combo_all_four");

  if(max_allowed==3)
    options_array.push(prefix+"combo_kosher_original");

  else if(max_allowed==2)
    options_array.push(prefix+"combo_pulse_original");

  var case_array = new Array();
  for(var i=0; i<options_array.length; i++)
    {
    count += parseInt(document.getElementById(options_array[i]).value);
    if(parseInt(document.getElementById(options_array[i]).value) > 0)
      case_array.push(options_array[i]);
    }

  if(count == max_allowed)
    {
    //remove options from select tags
    for(var j=0; j<options_array.length; j++)
      {
      var sizeOfSelect = document.getElementById(options_array[j]).length;

      if(case_array.indexOf(options_array[j])== -1)
        {
        //alert(document.getElementById(options_array[j]).length)
        for(var k=(sizeOfSelect-1); k>0; k--)
          document.getElementById(options_array[j]).options[k]=null;
        }
      else
        {
        for(var k=(sizeOfSelect-1); k>document.getElementById(options_array[j]).value; k--)
          document.getElementById(options_array[j]).options[k]=null;
        }
      }
    }
  else if(count < max_allowed)
    {
    var new_max = (max_allowed - count);

    for(var j=0; j<options_array.length; j++)
      {
      var sizeOfSelect = document.getElementById(options_array[j]).length-1;

      if(case_array.indexOf(options_array[j])== -1)
        {
        document.getElementById(options_array[j]).options.length=0;
        //if size of select currently is less than can be alloted add new options
        for(var k=0; k<=new_max; k++)
          document.getElementById(options_array[j]).options[k]=new Option(k,k,false,false);
        }
      else
        {
        for(var k=max_allowed; k>new_max+1; k--)
          document.getElementById(options_array[j]).options[k]=null;
        }
      }
    }
  }

function clearChoices()
  {
  if(document.getElementById("opt2").checked)
    max_allowed = 2;

  if(document.getElementById("opt3").checked)
    max_allowed = 3;

  var prefix = "opt"+max_allowed+"_";
  //check all available elements

  var options_array = new Array();
  options_array.push(prefix+"original");
  options_array.push(prefix+"active");
  options_array.push(prefix+"pulse");
  options_array.push(prefix+"kosher");
  options_array.push(prefix+"combo_org_active");
  options_array.push(prefix+"combo_pulse_active");
  options_array.push(prefix+"combo_kosher_active");
  options_array.push(prefix+"combo_all_four");

  if(max_allowed==3)
    options_array.push(prefix+"combo_kosher_original");

  else if(max_allowed==2)
    options_array.push(prefix+"combo_pulse_original");

  for(i=0; i < options_array.length; i++)
    document.getElementById(options_array[i]).options[0].selected=true;

  checkOptionsAvailable();
  }

function showError(obj)
  {
  obj.style.backgroundColor="#de7c8a";
  error_flag=true;
  /*document.getElementById("sbmt").disabled=true;
  document.getElementById("sbmt").className="btn btn_error";
  document.getElementById("sbmt").value="ERRORS in form please go back and fix.";
  */
  }

function hideError(obj)
  {
  obj.style.backgroundColor="#ffffff";
  //document.getElementById("sbmt").disabled=false;

  /*if(errorCount == 0)
    {
    document.getElementById("sbmt").disabled=false;
    document.getElementById("sbmt").className="btn";
    document.getElementById("sbmt").value="Submit Enrollment";
    } */
  }

function isEmpty(obj,checkEmpty)
  {
  obj.value = trim(obj.value);

  if(checkEmpty == false)
    return false;

  //returns true if it is empty
  if(obj.value == "" || obj.value == null || obj.value.length == 0)
    return true;

  return false;
  }

function allAlpha(obj,checkEmpty)
  {
  //returns true
  if(checkEmpty!=false)
    checkEmpty=true;

  var pattern = /^[A-Za-z ]*$/;
  if(isEmpty(obj,checkEmpty) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Only Letters Accepted";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }

function alphaNumeric(obj,checkEmpty)
  {
  //returns true
  if(checkEmpty != false)
    checkEmpty=true;

  var pattern = /^[0-9A-Za-z ]*$/;
  if(isEmpty(obj,checkEmpty) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Letters and Numbers Only";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }


function checkEmail(obj)
  {
  //returns true if valid email
  var pattern = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  if(isEmpty(obj) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Invalid Email";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }

  }

function checkSameEmail()
  {
  var email1 = document.getElementById("email");
  var email2 = document.getElementById("re_enter_email");
  //returns true if emails are the same

  if(email1.value != email2.value)
    {
    showError(email2);
    document.getElementById(email2.id+"_err").innerHTML="Emails Do not match";
    }
  else
    {
    hideError(email2);
    document.getElementById(email2.id+"_err").innerHTML="";
    }
  }

function checkPhone(obj)
  {
  var pattern = /^(((\(\d{3}\))|(\d{3}))[- ]{0,1}\d{3}[- ]{0,1}\d{4})$/;
  if(isEmpty(obj) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Format (ddd) ddd-dddd or ddd ddd-dddd";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }

function checkSSN(obj)
  {
  var pattern = /^(\d{3}-\d{2}-\d{4})|(\d{9})$/;
  if(isEmpty(obj) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Format: xxx-xx-xxxx or xxxxxxxxx";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }

// trims all spaces at the front, end and multiple spaces in the center
function trim(s)
  {
	s = s.replace(/(^\s*)|(\s*$)/gi,"");
	s = s.replace(/[ ]{2,}/gi," ");
	s = s.replace(/\n /,"\n");
	return s;
  }

function checkAge()
  {
  var month = document.getElementById("month");
  var day = document.getElementById("day");
  var year = document.getElementById("year");
  var date_chosen = new Date();
  date_chosen.setFullYear(year.value,(parseInt(month.value)-1),day.value);

  var date = new Date();
  //get date you will be 18. 18years= 6570 days
  //date.setDate(date.getDate()-6570);
  cutoffMonth = date.getMonth()+1;
  cutoffDay = date.getDate();
  cutoffYear = date.getFullYear()-18;


  if(year.value == cutoffYear && month.value <= cutoffMonth && day.value < cutoffDay)
    {
    document.getElementById("current-age").innerHTML="You Are not old enough.";
    showError(month);
    showError(day);
    showError(year);
    return;
    }

  document.getElementById("current-age").innerHTML="";
  hideError(month);
  hideError(day);
  hideError(year);
  }

function checkZip(obj,checkEmpty)
  {
  var pattern = /^(\d{5}(-\d{4}){0,1}){0,1}$/;
  if(isEmpty(obj,checkEmpty) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required, Format: ddddd or ddddd-dddd";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }

function autoFill(obj)
  {
  if(obj.checked)
    {
    document.getElementById("shipping-fields-container").style.display="none";
    street = document.getElementById("shipping_street");
    street2 =document.getElementById("shipping_street2");
    city =document.getElementById("shipping_city");
    state =document.getElementById("shipping_state");
    zip = document.getElementById("shipping_zip");

    street.value="";
    street2.value="";
    city.value="";
    state.value="";
    zip.value="";

    alphaNumeric(street,false);
    alphaNumeric(street2,false);
    allAlpha(city,false);
    checkStates(state,false);
    checkZip(zip,false);
    }
  else
    {
    document.getElementById("shipping-fields-container").style.display="";
    }

  }

function checkStates(obj,checkEmpty)
  {

  if(isEmpty(obj,checkEmpty))
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Required";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }

  }

function checkCardFormat(obj)
  {
  card_type = document.getElementById("cc_type").value;
  var card_prefix=new Array();
  var card_length=new Array();
  switch(card_type)
    {
    case "Visa": card_prefix.push("4");
                 card_length.push(13,16);
                 break;
    case "MasterCard": card_prefix.push("51","52","53","54","55");
                       card_length.push(16);
                       break;
    case "Discover":
                 card_prefix.push("6011");
                 card_length.push(16);
                 break;
    case "American Express":
                 card_prefix.push("34","37");
                 card_length.push(15);
                 break;
    
    default: return; //internal error
    }

  var pattern = /^\d{11,}$/;
  if(isEmpty(obj))
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Fill out credit card number";
    return;
    }

  //check card lengths first
  if(obj.value.match(pattern) == null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Invalid Credit Card Number";
    return;
    }

  //check prefix
  //this assumes that all prefixes in array are the same length.
  //ie) 2,5,7 or 22,11,45,78 or 223,334,664,231 etc...
  prefix_length = card_prefix[0].length;
  obj_prefix = obj.value.substring(0,prefix_length);

  if(card_prefix.indexOf(obj_prefix) == -1 || card_length.indexOf(obj.value.length) == -1)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Invalid Credit Card Number";
    return;
    }

  //if visa or mastercard ONLY do valid card Num check
  if(card_type == "Visa" || card_type=="MasterCard")
    {
    if(!isValidVisaMC(obj))
      {
      showError(obj);
      document.getElementById(obj.id+"_err").innerHTML="Invalid Credit Card Number";
      return;
      }
    }

  hideError(obj);
  document.getElementById(obj.id+"_err").innerHTML="";
  }

function isValidVisaMC(obj)
  {

  var doubled_digits =0;
  var added_digits =0;

  for(var i=0; i< obj.value.length; i=i+2)
    doubled_digits += (parseInt(obj.value.charAt(i))*2)%9;

  for(var i=1; i< obj.value.length; i=i+2)
    added_digits += parseInt(obj.value.charAt(i));

  return (((doubled_digits+added_digits)%10) == 0);
  }

function isDigit(obj)
  {
  var pattern=/^\d+$/;
  if(isEmpty(obj) || obj.value.match(pattern)==null)
    {
    showError(obj);
    document.getElementById(obj.id+"_err").innerHTML="Numbers Only";
    }
  else
    {
    hideError(obj);
    document.getElementById(obj.id+"_err").innerHTML="";
    }
  }

function checkExpiration()
  {
  expmonth = document.getElementById("exp_month");
  expyear = document.getElementById("exp_year");

  var myDate = new Date();
  
  currentMonth = myDate.getMonth()+1;
  currentYear = myDate.getFullYear();

  if(currentYear == parseInt(expyear.value))
    {
    if(expmonth.value < currentMonth)
      {
      showError(expmonth);
      showError(expyear);
      return;
      }
    }

  hideError(expmonth);
  hideError(expyear);
  }
function validateForm(thisform)
  {
  error_flag=false;
  var exclude = new Array();
  exclude.push("billing_street2","shipping_street2","same_shipping");

  with(thisform)
    {
    if(typeof(fname) != "undefined")
      allAlpha(fname);

    if(typeof(lname) != "undefined")
      allAlpha(lname);

    if(typeof(email) != "undefined")
      checkEmail(email);

    if(typeof(re_enter_email) != "undefined")
      checkEmail(re_enter_email);

    if(typeof(email) != "undefined" && typeof(re_enter_email) != "undefined")
      checkSameEmail();

    if(typeof(phone) != "undefined")
      checkPhone(phone);

    if(typeof(ssn) != "undefined")
      checkSSN(ssn);

    if(typeof(month) != "undefined" && typeof(day) != "undefined" && typeof(year) != "undefined")
      checkAge();
    if(typeof(bill_street) != "undefined")
      alphaNumeric(bill_street);
    if(typeof(bill_street2) != "undefined")
      alphaNumeric(bill_street2,false);
    if(typeof(bill_city) != "undefined")
      allAlpha(bill_city);
    if(typeof(bill_state) != "undefined")
      checkStates(bill_state);
    if(typeof(bill_zip) != "undefined")
      checkZip(bill_zip);

    if(typeof(same_shipping) != "undefined" && !same_shipping.checked)
      {
      alphaNumeric(shipping_street);
      alphaNumeric(shipping_street2,false);
      allAlpha(shipping_city);
      checkStates(shipping_state);
      checkZip(shipping_zip);
      }

    if(typeof(cc_num) != "undefined")
      checkCardFormat(cc_num);

    if(typeof(exp_month) != "undefined" && typeof(exp_year) != "undefined")
      checkExpiration();

    if(typeof(cc_csc) != "undefined")
      isDigit(cc_csc);

    if(typeof(acceptance) != "undefined")
      {
      if(!acceptance.checked)
        {
        error_flag=true;
        document.getElementById("acceptance_err").innerHTML="ERROR: YOU MUST ACKNOWLEDGE AND CONFIRM.";
        }
      else
        document.getElementById("acceptance_err").innerHTML="";
      }

    if(typeof(disclosures) != "undefined")
      {
      if(!disclosures.checked)
        {
        error_flag=true;
        document.getElementById("disclosures_err").innerHTML="ERROR: YOU MUST ACKNOWLEDGE AND CONFIRM.";
        }
      else
        document.getElementById("disclosures_err").innerHTML="";
      }

    if(typeof(options) != "undefined")
      {
      if(document.getElementById("opt1").checked)
        {
        atleastone = false;
        for(i = 0; i<options.length; i++)
          if(options[i].checked)
            atleastone =true;

        if(!atleastone)
          {
          error_flag=true;
          document.getElementById("opt1_err").innerHTML="ERROR Please Select 1";
          }
        else
          document.getElementById("opt1_err").innerHTML="";
        }

      else if(document.getElementById("opt2").checked)
        {
        if(count < 2)
          {
          error_flag=true;
          document.getElementById("opt2_err").innerHTML="ERROR Please Select 2";
          }
        else
          document.getElementById("opt2_err").innerHTML="";
        }
      else if(document.getElementById("opt3").checked)
        {
        if(count < 3)
          {
          error_flag=true;
          document.getElementById("opt3_err").innerHTML="ERROR Please Select 3";
          }
        else
          document.getElementById("opt3_err").innerHTML="";
        }
      else
        {
        document.getElementById("option_err").innerHTML="Please Select an Option";
        error_flag=true;
        }
      }

    }

  if(error_flag==true)
    return false;

  return true;
  }


function toggleAll(obj)
  {
  MAX = document.forms[0].elements.length;
  check_box = false;

  if(obj.checked)
    check_box = true;
  else
    check_box = false;

  if(obj.id.indexOf("hide")==0)
    {
    chk_box_type = "hide";
    }
  else if(obj.id.indexOf("check")==0)
    {
    chk_box_type = "done";
    }
  else
    {
    //error should not get here;
    return;
    }


  for(i=0; i<MAX; i++)
    {
    if(document.forms[0].elements[i].type=="checkbox" && document.forms[0].elements[i].name.indexOf(chk_box_type) != -1 )
      {
      document.forms[0].elements[i].checked = check_box;
      }
    }

  }

function calculateYearly()
  {
  var amount = document.getElementById("weekpay").value;
  
  amount= amount.replace(",","");
  var pattern = /^\d+$/;
  var message="";

  if(amount.match(pattern))
    {
    income = amount*52;
    //add commas if needed
    income= addCommas(income);

    message="Your income would be <strong>$"+income+".00 EXTRA</strong> a year. ";
    }
  else
    {
    message="There was an error in your goal amount. <br />Please Try Again. ";
    }
  document.getElementById("result").innerHTML = message;
  }

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0]; //holds value left of decimal
	x2 = x.length > 1 ? '.' + x[1] : ''; // holds everything to the right of the decimal if any
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
