﻿var charexp = /./;
var digitexp = /[0-9\.]$/i;
var intexp = /^\d{1,9}$/i;
var transexp = /^\w{1,}\-\d{1,}$/i;
var letterexp = /[a-z]/i;
var phonexp =  /^\d{10}$/;
var yearexp =  /^\d{4}$/;
var memberexp = /^\d{3}$/;
var zipexp = /^\d{5}$|^\d{5}[\-\s]?\d{4}$/;
var emailexp = /^[a-z][a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]{3}$/i;
var pledgexp = /^\d*$|^\d*\.\d{2}$/;
//var curexp=  /^\s*((\$\s?))?((((\d{1,3}(\,\d{3})*)|(\d+))(\.(\d\d?)?)?)|(\.\d\d))\s*$/;
var curexp=  /^\s*((((\d{1,3}(\,\d{3})*)|(\d+))(\.(\d\d?)?)?)|(\.\d\d))\s*$/;
function isValid(pattern, str) {
    return pattern.test(str)
}
function hasLetter(str) {
    return letterexp.test(str)
}
function hasChar(str) {
    return charexp.test(str)
}
function stripChars(pattern, str) {
    return str.replace(pattern,"")
}
function stripNonDigits(str) {
    return str.replace(/[^0-9]/g,"")
}
function Trim(str) {
    return str.replace(/\s+$|^\s*/gi, "");
}
function CheckBlankField(name, str, form, doc){
    doc.forms[form].elements[name].value = Trim(doc.forms[form].elements[name].value);
    if  (!hasChar(doc.forms[form].elements[name].value)) {
        alert(str);
        doc.forms[form].elements[name].focus();
        return false;
    }
    return true;
}

function CheckFieldValue(name, strval, str, form, doc){
    doc.forms[form].elements[name].value = Trim(doc.forms[form].elements[name].value);
    if  (doc.forms[form].elements[name].value == strval) {
        alert(str);
        doc.forms[form].elements[name].focus();
        return false;
    }
    return true;
}
function CheckPhone(txtphone, name, doc){
    newphone = '';
    if (hasChar(doc.forms[name].elements[txtphone].value)) {
        newphone = stripNonDigits(doc.forms[name].elements[txtphone].value)
        notvalid = !isValid(phonexp,newphone)
    };
    if (newphone == '' || notvalid) {
        alert('Invalid phone number - include area code')
        return false
    }else{
        doc.forms[name].elements[txtphone].value = newphone;
    };
    return true;
}
function GetListValue(list){
    return list.options[list.selectedIndex].value;
}

function emailCheck(emailStr) {
emailStr = Trim(emailStr);
var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
var check=/@[\w\-]+\./;
var checkend=/\.[a-zA-Z]{2,4}$/;
    if(((emailStr.search(exclude) != -1)||(emailStr.search(check)) == -1)||(emailStr.search(checkend) == -1)){
        alert("Email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
        return false;
    }
return true;
}
function ValidateCheckboxes(name, str, form, doc) {
    for(i=0;i < doc.forms[form].elements[name].length; i++)
    {
        if(doc.forms[form].elements[name][i].checked==true){ return true; }
    }
    alert(str);
    doc.forms[form].elements[name][0].focus();
    return false;
}
function ClearField(name, str, form, doc){
    if (doc.forms[form].elements[name].value == str){
    doc.forms[form].elements[name].value = '';
    } else if (str == ''){
    doc.forms[form].elements[name].value = '';
    }
    return true;
};
function btnNewsLetter_OnClick(){
    if (!emailCheck(document.forms['newsform'].elements['EmailAddress'].value)){
           document.forms['newsform'].elements['EmailAddress'].focus();
           return false;
    };
    return true;
}
function btnSearch_OnClick(){
    if (!CheckBlankField('query','Please enter search criteria','searchform', document) || !CheckFieldValue('query','search','Please enter search criteria','searchform', document)){return false};
    return true;
};
function btnFindChapter_OnClick(){
/*
   if (isNaN(document.forms['chapterform'].elements['chapter_zip'].value))
     {
    alert('Only numbers are allowed.');
    return false;
   };
*/    
    if (!CheckBlankField('chapter_zip','Please enter zip code','chapterform', document) || !CheckFieldValue('chapter_zip','enter zip code','Please enter zip code','chapterform', document)){
        return false;
    };
    return true;
}
function EmailToFriend(str){
    var theHeight = 530;
    var theWidth = 400;
    var theTop=(screen.height/2)-(theHeight/2);
    var theLeft=(screen.width/2)-(theWidth/2);
    var features='height='+theHeight+',width='+theWidth+',top='+theTop+',left='+theLeft+",scrollbars=yes";
    theWin=window.open(str,'_answer',features);
}



// Kowabunga Code
    var scriptLoc = 'http://www.marchofdimesaffiliates.com/rep.asp';
    
    var kbId = 0;
    var queryString = window.location.search.substring(1);
    var imgdata = '';
    var subdata = '';
    var overwrite = 1;
    var refdata = document.referrer;
if (queryString.length > 0)
    {
        var pairs = queryString.split('&');
                                
        for(var i = 0; i < pairs.length; i++)
        {
            var pairs2 = pairs[i].split('=');
            
            switch(pairs2[0].toLowerCase())
            {
                case 'kbid':
                    kbId = pairs2[1];
                    break;
                case 'clearcookie':
                    if (pairs2[1] == 1)
                    {
                        DeleteCookie("kbid");
                    }
                    break;
                case 'img':
                    imgdata = pairs2[1];
                    break;
                case 'sub':
                    subdata = pairs2[1];
                    break;
            }
        } //end for
    }//end if
    if (GetCookie("kbid") == null || overwrite == 1)
    {
        if (kbId != 0)
        {
            var img = new Image();
            var url = scriptLoc + '?id=' + kbId;
            if (imgdata != '')
            {
                url += '&img=' + imgdata
            }
            if (subdata != '')
            {
                url += '&sub=' + subdata
            }
            if (refdata != '')
            {
                url += '&ref=' + refdata;
            }
            img.src = url;
            
            SetCookie("kbid", kbId, 1);
        }
    }//end if
    
    function getCookieVal (offset) 
    {
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
            endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
    }
    function GetCookie (name) 
    {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        
        while (i < clen) 
        {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
                return getCookieVal (j);
            
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) break; 
        }
        
        return null;
    }
    function WriteCookie (name, value, expires) 
    {
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
        var path = "/"; //var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        
        var cookie = name + "=" + escape(value) +
            ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
            ((path == null) ? "" : ("; path=" + path)) +
            ((domain == null) ? "" : ("; domain=" + domain)) +
            ((secure == true) ? "; secure" : "");
        
        document.cookie = cookie;
    }
    function DeleteCookie (name) 
    {
        var exp = new Date();
        exp.setTime (exp.getTime() - 1000000000);  // This cookie is history (changed -1 to make it previous time)
        var cval = GetCookie (name);
        document.cookie =name + "=" + cval + "; expires=" + exp.toGMTString();
    }
    function SetCookie(name, value, expiredays)
    {
        var expdate = new Date(); 
        expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * expiredays)); 
        WriteCookie(name, value, expdate);  
    }
