// JavaScript Document


var greturn_href = "";
///////////////////////////////////////////////////////////////
function footer_send_email(eform) {

	var email_value = document.forms[eform].elements.email.value;
	if(emailCheck(email_value,false)==true)
		send_email_list(email_value,1);

	return false;	
}
///////////////////////////////////////////////////////////////
function send_email(frm,frm_email_value) {
		var validation_result = validate(frm);				
		if(validation_result == true) {			
			if(document.frm.add_to_email.checked == true) {
				var rv = document.frm.redirect.value;	
				document.frm.redirect.value = rv +'?t%3Demail%2F'+document.frm.elements[frm_email_value].value+'0';				
			}
		}		
		return validation_result;
	};
///////////////////////////////////////////////////////////////
function send_email_list(new_address,response_number) {
		var response_2 = "http://www.blueskiesart.com/email_response2.html";
		var response_1 = "http://www.blueskiesart.com/email_response1.html";
		
		var eform = document.createElement('form');
		eform.setAttribute('method','post');
		eform.setAttribute('action',"http://fp1.formmail.com/cgi-bin/fm192");
	
		var hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','hidden');
		hiddenField.setAttribute('name','recipient');
		hiddenField.setAttribute('value','5');
		eform.appendChild(hiddenField);
		
		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','hidden');
		hiddenField.setAttribute('name','_pid');
		hiddenField.setAttribute('value','135440');		
		eform.appendChild(hiddenField);


		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','hidden');
		hiddenField.setAttribute('name','_fid');
		hiddenField.setAttribute('value','3CPKNT9B');	
		eform.appendChild(hiddenField);
		
		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','hidden');		
		hiddenField.setAttribute('name','sort');
		hiddenField.setAttribute('value',"order:Subject,realname,email,message");	
		eform.appendChild(hiddenField);

		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','hidden');		
		hiddenField.setAttribute('name','redirect');
		hiddenField.setAttribute('value',"http://www.blueskiesart.com/email_response2.html");	
		eform.appendChild(hiddenField);
					
		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','text');
		hiddenField.setAttribute('name','email');
		hiddenField.setAttribute('value','manager@BlueSkiesArt.com');	
		eform.appendChild(hiddenField);

		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','text');
		hiddenField.setAttribute('name','subject');
		hiddenField.setAttribute('value','MAILING LIST: New email for mailing list.');	
		eform.appendChild(hiddenField);
	
		hiddenField = document.createElement('input');
		hiddenField.setAttribute('type','text');
		hiddenField.setAttribute('name','realname');
		hiddenField.setAttribute('value','From BSG Website');	
		eform.appendChild(hiddenField);
			
		hiddenField = document.createElement('textarea');
		hiddenField.setAttribute('name','message');
		eform.appendChild(hiddenField);

		document.body.appendChild(eform);		
		eform.elements['message'].value = 'Please add ' + new_address + ' to the mailing list.';
		switch (response_number) {
			case 1:
				eform.elements['redirect'].value = response_1;
			break;
			case 2:
				eform.elements['redirect'].value = response_2;
			break;	
			
		}
		eform.submit();
};
///////////////////////////////////////////////////////////////
	function validate(frm) {
		var inputFields = new Array("realname", "email", "email2", "subject", "message");
		var counter;
		var ename;
		var msg = "Please complete the following fields:\n";
		var badFields = "";

		clear_errmsgs();
		
		for (counter = 0; counter < inputFields.length; counter++) {
			ename = inputFields[counter];
			if (frm.elements[ename].value.length == 0) {
				
				switch(counter) {
				case 0:
					err_msg("email_namealert","Please enter your name.");
				break;
				case 1:
					err_msg("email_addalert","Please enter an email address.");
				break;
				case 2:
					err_msg("email_addalert2","Please enter an email address.");
				break;				
				case 3:
					err_msg("email_subalert","Please enter a subject.");
				break;
				case 4:
					err_msg("email_msgalert","Please enter a message.");
				break;	
				}
			}
			if (frm.elements[ename].value.length == 0) {
				if (ename == "email") {
					badFields = badFields + "  - Your Email Address \n";
				} else {
					badFields = badFields + "  - " + ename + "\n";
				}
			}
		}		
		if (badFields.length != 0) {	
			return false;
		}
		if(frm.elements['email'].value.toLowerCase() != frm.elements['email2'].value.toLowerCase())
		{
			err_msg("email_addalert","Email addresses must match.");
			err_msg("email_addalert2","Email addresses must match.");			
			return false;
		}
		if (frm.email.value.length > 0) {
//			if ( emailCheck(frm.formmail_mail_email.value) == true) {}
			
			return emailCheck(frm.email.value,true);
		} else {
			return true;
		}
	}

	function emailCheck(emailStr,show_err) {
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);

		if (matchArray==null) {
		/*	alert("Email address seems incorrect (check @ and .'s)");  */
			if(show_err==true)
				err_msg("email_addalert","Please enter a valid email address.");
			else
				alert("Please enter a valid email address.");				
			return false;
		}

		var user=matchArray[1];
		var domain=matchArray[2];

		if (user.match(userPat)==null) {
    			alert("The email username doesn't seem to be valid.");
			return false;
		}

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
	  		for (var i=1;i<=4;i++) {
			    if (IPArray[i]>255) {
		        	alert("Destination IP address is invalid!");
				return false;
	 	   		}
    			}
    			return true;
		}

		var domainArray=domain.match(domainPat);
		if (domainArray==null) {
			alert("The email domain name doesn't seem to be valid.");
    			return false;
		}

		var atomPat=new RegExp(atom,"g");
		var domArr=domain.match(atomPat);
		var len=domArr.length;
		if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		   alert("The email address must end in a three-letter domain, or two letter country.");
   			return false;
		}

		if (len<2) {
   			var errStr="This address is missing a hostname.";
			alert(errStr);
   		return false;
		}

 		return true;
	}
	function clear_errmsgs() {		
		err_msg("email_namealert","");
		err_msg("email_addalert","");
		err_msg("email_addalert2","");				
		err_msg("email_subalert","");		
		err_msg("email_msgalert","");	
		return;	
	}
	function err_msg(errID,errmsg) {
			document.getElementById(errID).innerHTML = errmsg;			
		return;		
	}

