var xmlHttp=null;
var tform=null;
var tformvar=null;
var CoWebsite = 'lesneskimortuary.com';

function GetHTML(url){
  var HTML='';
  var idx=0;
  idx = url.indexOf('=');
  HTML = url.substr(idx+1,url.length);
  return HTML;
}


function removeOptions(){
  var elSel = document.getElementById('smodel');
  for (var i = elSel.length - 1; i>=0; i--) {
    elSel.remove(i);
  }
}

function isSignupComplete(){
  var msgstr = '';
  var flg = true;
  var crlf = String.fromCharCode(10);
  if (document.getElementById('sname').value == ''){
    msgstr = msgstr + '   Your Name' + crlf;
    document.getElementById('sname').style.background="#FFFFCC";
  }else{
    document.getElementById('sname').style.background="#FFFFFF";
  }
  if (document.getElementById('semail').value == ''){
    msgstr = msgstr + '   Email Address' + crlf;
    document.getElementById('semail').style.background="#FFFFCC";
  }else{
    document.getElementById('semail').style.background="#FFFFFF";
  }
  if (msgstr != ''){
    msgstr = 'The following fields are required:' + crlf + msgstr;
    alert(msgstr);
    flg = false;
  }else{

  }
  return flg;
}

function textMax(field, maxlimit) {
  if (field.value.length > maxlimit){
    field.value = field.value.substring(0, maxlimit);
  }
}

function getObject(obj) {
  var theObj;
  if(document.all) {
    if(typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=="string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function txtCounter(entry,ext,textout,characters) {
  var entryObj=getObject(entry);
  var extObj=getObject(ext);
  var llen=characters - entryObj.value.length;
  if(llen <= 0) {
    llen=0;
    textout='<span class="disable"> '+textout+' </span>';
    entryObj.value=entryObj.value.substr(0,characters);
  }
  extObj.innerHTML = textout.replace("{CHAR}",llen);
}

function GetXmlHttpObject(){
  try{
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }catch (e){
    //Internet Explorer
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }catch (e){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

function submitForm(){
  var msgstr = '';
  var vstr = '';
  var flg = true;
  var crlf = String.fromCharCode(10);
  for (i=0; i < tform.elements.length; i++){
    vstr = tform.elements[i].className;
    if ((tform.elements[i].value == '' || tform.elements[i].value == '0') && (vstr.indexOf('required') > -1)){
//      vstr = tform.elements[i].name;
//      vstr = vstr.replace(/_/g,' ');
//      msgstr = msgstr + '   '+ vstr + crlf;
      msgstr = msgstr + '    ' + vstr.substring(vstr.indexOf('required')+9,vstr.length) + crlf;
      document.getElementById(tform.elements[i].id).style.background="#cecece";
      if (document.getElementById(tform.elements[i].id+'l') != null){
        document.getElementById(tform.elements[i].id+'l').style.color="#990000";
      }
    }else{
      if ((tform.elements[i].value != '' || tform.elements[i].value != '0') && (vstr.indexOf('required') > -1)){
        document.getElementById(tform.elements[i].id).style.background="#ffffff";
      }
    }
  }
  if (msgstr != ''){
    msgstr = 'The following fields are required:' + crlf + msgstr;
    alert(msgstr);
    flg = false;
  }
  return flg;
}

function resetForm(){
  for (i=0; i < tform.elements.length; i++){
    if (tform.elements[i].type != 'button' && tform.elements[i].type != 'hidden'){
      document.getElementById(tform.elements[i].id).style.background="#ffffff";
      if (document.getElementById(tform.elements[i].id+'l') != null){
        document.getElementById(tform.elements[i].id+'l').style.color="#000000";
      }
      document.getElementById(tform.elements[i].id).value="";
    }
  }
  return true;
}

function processForm(){
  GetXmlHttpObject();
alert(vstr);
}

function collectData(){
  var vstr = '';
  for (i=0; i < tform.elements.length; i++){
//alert(tform.elements[i].id);
    if (tform.elements[i].type != 'button' && tform.elements[i].type != 'radio' && tform.elements[i].type != '' && tform.elements[i].value != ''){
      vstr = vstr + tform.elements[i].id + '=' + document.getElementById(tform.elements[i].id).value + '&';
    }else if (tform.elements[i].type == 'radio'){
      if (tform.elements[i].checked==true){
        vstr = vstr + tform.elements[i].id + '=' + tform.elements[i].value + '&';
      }
    }
  }
  return String(vstr).substring(0,String(vstr).length-1);
}

function CheckDate(THISDATE) {
  if (THISDATE.value == ""){return ""}
	var err=0
        var regExp
        var okVar = THISDATE.value
	a=THISDATE.value
        a = a.replace("-","/")
        a = a.replace(".","/")
        a = a.replace(" ","/")
        if (okVar.length == 8){
          a = okVar.substring(0, 2) + "/" + okVar.substring(2, 4) + "/" + okVar.substring(4, 8)
        }
	if (a.length != 10) err=1
	b = a.substring(0, 2)// month
	c = a.substring(2, 3)// '/'
	d = a.substring(3, 5)// day
	e = a.substring(5, 6)// '/'
	f = a.substring(6, 10)// year
        okVar = b+'/'+d+'/'+f
	if (b<1 || b>12) err = 1
	if (d<1 || d>31) err = 1
	if (f<1900) err = 1
	if (b==4 || b==6 || b==9 || b==11){
		if (d==31) err=1
	}
	if (b==2){
		var g=parseInt(f/4)
		if (isNaN(g)) {
			err=1
		}
		if (d>29) err=1
		if (d==29 && ((f/4)!=parseInt(f/4))) err=1
	}
	if (err==1) {
		alert(THISDATE.value + ' is not a valid date. Please re-enter. - mm/dd/yyyy');
		THISDATE.value = ""
                THISDATE.focus()
	}else{
            THISDATE.value=okVar
        }
}

function extractNumber(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}

function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}

function isNumeric(c)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;
   strString = c.value;
   if (strString.length == 0) return blnResult;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         c.value = '';
         c.focus();
         blnResult = false;
         }
      }
   return blnResult;
   }

function FmtNumber(gCurVal,timing,decimal,MaxLen,type) {
   S = gCurVal.value;
   len = S.length;
   newStr = '';
   neg = 0;
   for (i=0; i<len; i++){
      if (S.substr(i,1) != ' ' && S.substr(i,1) != '$' && S.substr(i,1) != ',' && S.substr(i,1) != '(' && S.substr(i,1) != ')'){
         newStr = newStr + S.substr(i,1);
         if (isNaN(S.substr(i,1)) && S.substr(i,1) != '.' && S.substr(i,1) != '-'){
            alert ('A non-numeric found in this entry.');
            gCurVal.value = '0';
            gCurVal.select();
            gCurVal.focus();
            return
         }
      }else{
         if (S.substr(i,1) == '(')
            neg = 1;
         }
   }
   if (neg == 1){
      newStr = '-' + newStr;
   }
   curVal = newStr;
   if (timing == 'EXIT'){
      var dc='.';
      var gc=',';
      var nc='(';
      var cs='$';
      if (type != 'M'){cs='';}
//      W=curVal.length + 6;
      dec='1';
      for (i=0;i<decimal;i++){dec = dec + '0';}
      var N=Math.abs(Math.round(curVal*dec));
      var S=((N<10)?'00':((N<100)?'0':''))+N;
      S=cs+((curVal<0)?nc:'')+Group(S.substring(0,(S.length-2)))+dc+S.substring((S.length-2),S.length)+((curVal<0&&nc=='(')?')':'');
         gCurVal.value = PadStr(S,' ',MaxLen,'R');
   }else{
      gCurVal.value = PadStr(newStr,' ',MaxLen,'R');
      gCurVal.select();
      gCurVal.focus();
   }
}

function PadStr(S,Str,Len,Just){
   var NewStr = '';
   var NewLen = Len - S.length;
   for (i=0;i<NewLen;i++){NewStr = NewStr + Str;}
   return NewStr + S;
}

function Group(S) {
    var gc=',';
    return (S.length<4)?S:(Group(S.substring(0,S.length-3))+gc+S.substring(S.length-3,S.length));
}

function FmtAlpha(strData, fmtCode){
//
// Format a string to either 1-Uppercase, 2-Lowercase, or 3-Titlecase
//
   newStr = ''
   if (fmtCode ==  '1'){
      strData = strData.toUpperCase()
      strData = ReplaceString(strData,'=','%3D')
      return strData
   }
   if (fmtCode == '2'){
      strData = strData.toLowerCase()
      strData = ReplaceString(strData,'=','%3D')
      return strData
   }
   if (fmtCode == '3'){
      newStr = ''
      newStr = ReplaceString(strData,'_',' ')
      strData = newStr
      newStr = strData.toLowerCase()
      strData = newStr
      newStr = ''
      max = strData.length
      for (i=0; i < max; i++){
         if (i == 0 || strData.substr(i-1,1) == ' '){
             newStr += strData.substr(i,1).toUpperCase()
         }else{
             newStr += strData.substr(i,1)
         }
      }
   }
   newStr = ReplaceString(newStr,'=','%3D')
   return newStr
}

function ReplaceString(strData, lookFor, replaceWith){
//
// Replace all occurances of a substring with a specified substring
// within the data object.
//
    newStr = ''
    var testStr = strData
    if (testStr.indexOf(lookFor) != -1) {
       myArray = testStr.split(lookFor)
       for (i=0; i < myArray.length; i++){
          if (i != myArray.length-1){
             newStr += myArray[i] + replaceWith
          }else{
             newStr += myArray[i]
          }
       }
   }else{
       newStr = strData
   }
   return newStr
}

function FmtPhone(gField){
   var crLf = String.fromCharCode(13,10)
   testVar = gField.value
   if (testVar == ''){ return testVar }
   testVar = ReplaceString(testVar,"(","")
   testVar = ReplaceString(testVar,")","")
   testVar = ReplaceString(testVar,"-","")
   testVar = ReplaceString(testVar," ","")
   testVar = ReplaceString(testVar,".","")
   testVar = ReplaceString(testVar,"+","")
   testVar = ReplaceString(testVar,"/","")
   if (testVar.length > 10){return testVar}
   if (testVar.length < 10 && testVar.length < 7){
      alert("An insufficient number of characters has been entered or" + crLf + "the data entered was in the wrong format.")
      gField.focus()
      gField.select()
   }
   if (testVar.length == 10){
      testVar = "(" + testVar.substr(0,3) + ") " + testVar.substr(3,3) + "-" + testVar.substr(6)
   }
   if (testVar.length == 7){
      testVar = testVar.substr(0,3) + "-" + testVar.substr(3,4)
   }
   gField.value = testVar
   return testVar
}

function CheckEmail(gField){
   var emailVar = gField.value
   var pass
   if (emailVar == ''){ return emailVar }
   pass = true
   if (!emailVar.indexOf('@') || !emailVar.indexOf('.')){
      pass = false
   }
   if (emailVar.substr(0,emailVar.indexOf('@')) == '' || emailVar.substr(0,emailVar.indexOf('.')) == '' || emailVar.substr(emailVar.indexOf('.')+1,1) == ''){
      pass = false
   }
   if (emailVar.substr(emailVar.indexOf('@')+1,1) == '.'){
      pass = false
   }
   if (pass == false){
      alert("Check e-mail address entry. E-mail address is invalid.")
      gField.value = ''
      gField.focus()
   }else{
     emailVar = FmtAlpha(emailVar,2)
     gField.value = emailVar
   }
   return pass
}

function VerifyPassword(gField1, gField2){
   if (gField1.value == '' || gField2.value == ''){return}
   if (gField1.value != gField2.value){
      alert("Your passwords do not match, please try again.")
      gField1.value = ''
      gField2.value = ''
      gField1.focus()
   }
}

function SwitchBillShip(){ 
   if (document.getElementById('samebill').checked == true){
     document.getElementById('sfname').value = document.getElementById('fname').value;
     document.getElementById('smname').value = document.getElementById('mname').value;
     document.getElementById('slname').value = document.getElementById('lname').value;
     document.getElementById('saddr1').value = document.getElementById('addr1').value;
     document.getElementById('saddr2').value = document.getElementById('addr2').value;
     document.getElementById('scity').value = document.getElementById('city').value;
     document.getElementById('sstate').value = document.getElementById('state').value;
     document.getElementById('spostalcode').value = document.getElementById('postalcode').value;
     document.getElementById('scountry').value = document.getElementById('country').value;
     document.getElementById('sphone').value = document.getElementById('phone').value;
   }else{
     document.getElementById('sfname').value = '';
     document.getElementById('smname').value = '';
     document.getElementById('slname').value = '';
     document.getElementById('saddr1').value = '';
     document.getElementById('saddr2').value = '';
     document.getElementById('scity').value = '';
     document.getElementById('sstate').value = '';
     document.getElementById('spostalcode').value = '';
     document.getElementById('scountry').value = '';
     document.getElementById('sphone').value = '';
   }
}

function AJAX_Signup(n,e){
  xmlHttp2=GetXmlHttpObject()
  if (xmlHttp2==null){
    alert ("Your browser does not support AJAX!");
    return;
  } 

  var url="EmailSignUp.asp";

  url=url+"?name="+n;
  url=url+"&email="+e;

  xmlHttp2.onreadystatechange=stateChangedSignUp;
  xmlHttp2.open("GET",url,true);
  xmlHttp2.send(null);
}

function stateChangedSignUp(){ 
  if (xmlHttp2.readyState==4){ 
    var str = xmlHttp2.responseText;
    if (str == 'XX'){
      document.getElementById('sname').style.background='#FFFFFF';
      document.getElementById('semail').style.background='#FFFFFF';
      document.getElementById('sname').value='';
      document.getElementById('semail').value='';
      alert('Thank you,\nYou have been added to the\nWellness Newsletter List.');
    }else{
      document.getElementById('sname').style.background='#FFFFFF';
      document.getElementById('semail').style.background='#FFFFFF';
      document.getElementById('sname').value='';
      document.getElementById('semail').value='';
      alert(str);
    }
  }
}

function AJAX_GetCounties(c){
  xmlHttp2=GetXmlHttpObject()
  if (xmlHttp==null){
    alert ("Your browser does not support AJAX!");
    return;
  } 

  var url="GetCounties.asp";

  url=url+"?name="+c;

  xmlHttp2.onreadystatechange=stateChangedCounties;
  xmlHttp2.open("GET",url,true);
  xmlHttp2.send(null);
}

function stateChangedCounties(){ 
  if (xmlHttp2.readyState==4 || xmlHttp.readyState=="complete"){ 
    var str = xmlHttp.responseText;
    if (str != ""){
      document.getElementById('countiesdiv').innerHTML = str;
    }
  }
}

function AJAX_Captcha(x,y){ 
  if (x != ""){
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null){
      alert ("Browser does not support HTTP Request")
      return
    }

    var url="checkCaptcha.asp"
    url=url+"?word="+x+"&key="+y
// alert(url);

    xmlHttp.onreadystatechange=stateCaptchaChanged 
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
  }
}

function stateCaptchaChanged(){
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
    var sstr = xmlHttp.responseText;
    if (sstr != ""){
//      alert("str="+sstr);
      tformvar.value = "";
      alert("Captcha code entered is incorrect.");
      tformvar.focus();
    }
  } 
}

function AJAX_NewCaptcha(){ 
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null){
      alert ("Browser does not support HTTP Request")
      return
    }

    var url="NewCaptcha.asp"

    xmlHttp.onreadystatechange=stateNewCaptchaChanged 
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function stateNewCaptchaChanged(){
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
    var sstr = xmlHttp.responseText;
    if (sstr != ""){
//      alert("str="+sstr);
      document.getElementById('cap').src='images/jcaptcha/'+sstr+'.gif';
      document.getElementById('captcha').value = '';
    }
  } 
}

function AJAX_SetLanguage(v){ 
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null){
      alert ("Browser does not support HTTP Request")
      return
    }
    var url="SetLanguage.asp?val=" + v

    xmlHttp.onreadystatechange=stateSetLanguageChanged 
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function stateSetLanguageChanged(){
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
    var sstr = xmlHttp.responseText;
    if (sstr == 'es'){
      $('body').translateTextNodes('', 'es',{not: 'select'})
    }
  } 
}


