//alert ("included");

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
    document.MM_sr=new Array;
    for(i=0;i<(a.length-2);i+=3)
      if ((x=MM_findObj(a[i]))!=null){
       document.MM_sr[j++]=x;
       if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
      }
}

function loadPopUp( filename ) {
 var sFeatures;
 sFeatures ="toolbar='no',status='no',menubar='no',scrollbars='yes',resizeable='yes',width=600,height=725,top=" + ( screen.height / 2 -250) + ",left=" + ( screen.width / 2 -257 );
 window.open( filename , "misc",sFeatures,true );
}

function isFieldEmailAddress(field, errmsg) 
{
    var re;
    
    re = /\'|\""|<\w+.*>|;|\(|\)|\&|\+|\-{2,}|\\|\/|<|>/;
    if (re.test(field.value)) 
    {
      alert(errmsg);
      field.focus();
      return false;
    } else {
	    re = /\w[-\w]*@\w[-\w]{0,61}\w\.\w{2,}/;
	    if (!re.test(field.value)) 
        {
          alert(errmsg);
          field.focus();
          return false;
        } else
          return true;
    }
}

function isFieldEmpty(field, errmsg)
{
  var re;
  re = /(\b\w{1,}\b)+/;
  if (!re.test(field.value))
  {
    alert(errmsg);
    field.focus();
    return false;
  } else
    return true;
}

function isFieldState(field, errmsg)
{
  var re;
  
  re = /(\w{2,})+/;
  if (!re.test(field.value))
  {
    alert(errmsg);
    field.focus();
    return false;
  } else
    return true;
}

function isFieldEqual(field1, field2, errmsg)
{
  if ( field1.value == field2.value)  return true;
  else
  {
    alert(errmsg);
    field1.focus();
    return false;
  }
}

function isOriginValid (field, errmsg) 
{
  var re; 
  
  re = /\s*([A-Za-z]{2})(?:\W|$)+/;
  if (re.test(field.value))   return true;
  re= /([\d]{5})/;
  if (re.test(field.value)) return true;
  alert (errmsg);
  field.focus(errmsg);
  return false;
}

function isFieldChecked(field, errmsg)
{
    if (field.checked) return true;
    alert(errmsg);
    field.focus(errmsg);
    return false;
}

function validateform(f)
{
  var rtn = true;
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address");
  return rtn;
}

function validatecontactform(f)
{
  var rtn = true;
  rtn = rtn&& isFieldEmpty(f.fname, "Please enter your first name.");
  rtn = rtn&& isFieldEmpty(f.lname, "Please enter your last name.");
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address.");
  rtn = rtn && isFieldEqual(f.email, f.email1, "Email addresses do not match.");
  rtn = rtn&& isFieldEmpty(f.notes, "Please enter your message.");
  return rtn;
}


function validateregister1form(f)
{
  var rtn = true;
  rtn = rtn&& isFieldEmpty(f.fname, "Please enter your first name.");
  rtn = rtn&& isFieldEmpty(f.lname, "Please enter your last name.");
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address.");
  rtn = rtn && isFieldEqual(f.email, f.email1, "Email addresses do not match.");
  rtn = rtn&& isFieldEmpty(f.phone, "Please enter your phone number.");
  rtn = rtn&& isFieldEmpty(f.bname, "Please enter a valid business name.");
  rtn = rtn&& isFieldEmpty(f.bphone, "Please enter a valid business phone number.");
  rtn = rtn&& isFieldEmpty(f.addr1, "Please enter a valid business street address.");
  rtn = rtn&& isFieldEmpty(f.city, "Please enter a valid city.");
  rtn = rtn&& isFieldEmpty(f.county, "Please enter a valid county.");
  rtn = rtn&& isFieldState(f.state, "Please enter a valid state.");
  rtn = rtn&& isFieldEmpty(f.zip, "Please enter a valid zip code.");
  rtn = rtn&& isFieldEmpty(f.country, "Please enter a valid country.");
  rtn = rtn&& isFieldEmpty(f.profile, "Please choose whether you're updating or adding a new business profile.");
  return rtn;
}

function validatesweepsentryform(f)
{
  var rtn = true;
  rtn = rtn&& isFieldEmpty(f.fname, "Please enter your first name.");
  rtn = rtn&& isFieldEmpty(f.lname, "Please enter your last name.");
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address.");
  rtn = rtn && isFieldEqual(f.email, f.email1, "Email addresses do not match.");
  rtn = rtn&& isFieldEmpty(f.addr1, "Please enter a valid address.");
  rtn = rtn&& isFieldEmpty(f.city, "Please enter a valid city.");
  var state = f.state.value.toUpperCase();
  if (state != "PA" && state != "NJ") {
      alert ("Entries only accepted from NJ and PA.\n");
      f.state.focus("Entries only accepted from NJ and PA.");
      rtn = rtn && false ;
  }
  rtn = rtn&& isFieldEmpty(f.zip, "Please enter a valid zip code.");
  rtn = rtn&& isFieldEmpty(f.phone, "Please enter your phone number.");
  rtn = rtn&& isFieldChecked(f.age, "Are you at least 13 years of age?");
  rtn = rtn&& isFieldChecked(f.rules, "You must agree to the sweepstake rules");
  return rtn;
}

function validatenewsletterform(f)
{
  
  var rtn = true;
  rtn = rtn && isFieldEmpty(f.fname, "Please enter your first name.");
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address.");
  rtn = rtn && isFieldEqual(f.email, f.email1, "Email addresses do not match.");
  rtn = rtn && isFieldEmpty(f.zip, "Please enter a valid zip code.");
  return rtn;
}

function validateEnhancedForm(f)
{
  
  var rtn = true;
  rtn = rtn&& isFieldEmpty(f.fname, "Please enter your first name.");
  rtn = rtn&& isFieldEmpty(f.lname, "Please enter your last name.");
  rtn = rtn && isFieldEmailAddress(f.email, "Please enter a valid email address.");
  rtn = rtn && isFieldEqual(f.email, f.email1, "Email addresses do not match.");
  rtn = rtn&& isFieldEmpty(f.phone, "Please enter your phone number.");
  rtn = rtn&& isFieldEmpty(f.bname, "Please enter a valid business name.");
  return rtn;
}


function validateSearchForm(f)
{
    var rtn = true;
    rtn = rtn &&  isFieldEmpty(f.st, "Pleaser enter a product or service with 3 or more letters in the box on the left.");
    rtn  = rtn &&  isOriginValid(f.ad, "Please enter a City and State combination or a valid ZIP code in the box on the right.");
    return rtn;
}
function cf() {document.getElementById("ezxsearch").st.focus(); }


function setPageTitle (strTitle) {
	document.title = strTitle;
}

function changeAddr(aForm,sNewAdr,iNewLoc) {
    var rangeForm = document.forms["range"].elements;
    var newTop, newLeft;
    
    switch (iNewLoc) {
        case "-1":
            break;
        case "0":
            // hide the dropdown and show the text box -- but you have to move both first
            newTop = aForm.elements["st"].style.top;
            newLeft = aForm.elements["multi_ad"].style.left;
            document.all["hiliteTableCell"].style.border = "3px white solid";
            aForm.elements["multi_ad"].style.position = "absolute";
            aForm.elements["multi_ad"].style.top = 0;
            aForm.elements["ad"].value = "";
            aForm.elements["ad"].style.position = "relative";
            aForm.elements["ad"].style.top = newTop;
            aForm.elements["ad"].style.left = newLeft;
            aForm.elements["ad"].style.visibility = "visible";
            aForm.elements["multi_ad"].style.visibility = "hidden";
            aForm.elements["ad"].focus();
            break;
        default:
            aForm.elements["ad"].value = sNewAdr;
            aForm.elements["locid"].value = iNewLoc;
            rangeForm["ad"].value = sNewAdr;
            rangeForm["locid"].value = iNewLoc;
            aForm.submit();
    }
}

function textarealength(text, maxlength) {
	var max = maxlength;
	var str_length = (text.value).length;
	if (str_length>max) {
		text.value=(text.value).substring(0,max);
	}
}

function addInputSubmitEvent(form, input) {
    var e; 

    input.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 13) {
            if (validateSearchForm(form)) {
                form.submit();
            }
            return false;
        } else {
            return true;
        }
    };
    return true;
}

window.onload = function() {
    var forms = document.getElementsByTagName('form');

    for (var i=0;i < forms.length;i++) {
        var inputs = forms[i].getElementsByTagName('input');

        for (var j=0;j < inputs.length;j++)
            addInputSubmitEvent(forms[i], inputs[j]);
    }
    cf();
    window.defaultStatus='Zidster.com The easiest way to find products, services, and businesses near you!';
    
    var arVersion = navigator.appVersion.split("MSIE")
    var version = parseFloat(arVersion[1])
    if ((version >= 5.5) && (document.body.filters) && (version < 7)) 
    {
       fix_png();  //fixed the transparent background on png files in IE 6 
    }

/*   var truebody = (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
    var winWidth = document.all? truebody.clientWidth : window.innerWidth-17;
    */
    if (screen.width <= 800) {
        document.body.style.width = "785px"; 
    }
};

window.onresize = function() {
//    var truebody = (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
//    var winWidth = document.all? truebody.clientWidth : window.innerWidth-17;
    if (screen.width <= 800) document.body.style.width = "785px";
}
