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);  
	}
