/////////////// INIT STARTUP REQUEST ////////////
startMeUp = ''; // called after onload
loadMeUp = ''; // called when HTML loaded




// JavaScript Document

function writeAddress(a,b,s) {
	e1=a+'@'+b;
	e2='<b>'+a+'</b>'+'@'+b;
	s = (s) ? 'style='+s : '';
	document.write('<a '+s+' href=mailto:'+e1+'>'+e2+'</a>');
}



////////////// GENERAL FUNCTIONS ///////////////

function clearDefault(thefield){
	if (thefield.defaultValue==thefield.value)
	thefield.value = ""
}

function checkSignupForm(signupFormId) {
	if (!signupFormId) signupFormId='';
	f = document.getElementById('signupForm'+signupFormId);
	el = f.signupEmail;
	if (eCheck(el.value)) {
		f.action = '/e-updates.php';
		f.submit();
	} else {
		alert('Please enter a valid email address.');
		el.select();
		el.focus();
	}
}


function checkDigit(el,defaultValue) {
	if (!defaultValue) defaultValue = 0;
	v = el.value;
	v.replace(' ','');
	v.replace('-','');
	v = Math.ceil(v*1);
	if (!v*1) v = defaultValue;
	if (v!=el.value) el.value = v;
}


function writeAddress(a,b,s) {
	e1=a+'@'+b;
	e2='<b>'+a+'</b>'+'@'+b;
	s = (s) ? 'style='+s : '';
	document.write('<a '+s+' href=mailto:'+e1+'>'+e2+'</a>');
}

function getCookie(name) { // use: getCookie("name");
	var re = new RegExp(name + "=([^;]+)");
	var value = re.exec(document.cookie);
	return (value != null) ? unescape(value[1]) : null;
}

today = new Date();
var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000); // plus 1 year

function setCookie(name, value, sessionCookie) { // use: setCookie("name", value);
	if (sessionCookie) {
		expires = '';
	} else {
		expires = "expires=" + expiry.toGMTString();
	}
	document.cookie=name + "=" + escape(value) + "; path=/; " + expires;
}
// standard form validation
function checkForm(f) {
	pass = true;
	for(i=0;i<f.length;i++) {
		el = f[i];
		if (note = el.getAttribute("validationNotice")) {
			if (isVisible(el)) {
				if (el.type=='text' || el.type=='textarea') {
					el.value = trim(el.value);
					if (!el.value) pass = false;
					if (pass && (el.name=='email' || el.name=='yourEmail')) {
						if (!eCheck(el.value)) {
							note = "Please provide a valid email address.";
							pass = false;
						}
					}
				} else if (el.options) {
					if (!el.options[el.selectedIndex].value && (!el.options[el.selectedIndex].text || el.options[el.selectedIndex].text=='--Select--' || el.options[el.selectedIndex].text=='None')) {
						pass = false;
					}
				} else if (el.type=='checkbox') {
					if (!el.checked) {
						pass = false;
					}
				}
				if (!pass) {
					alert(note);
					el.focus();
					break;
				}
			}
		}
	}
	if (!pass) {
		// do not post the form
		return false;
	} else {
		// attempt to disable the submit button
		if (sb = document.getElementById('submitButton')) sb.disabled = true;
		// post the form
	}
}


function trim(str) {
	if (!str) return str;
	while(str.charAt(0)==' '|| str.charAt(0)=="\n" || str.charAt(0)=="\t") str = str.substr(1);
	while(str.charAt(str.length-1) ==' '|| str.charAt(str.length-1)=="\n" || str.charAt(str.length-1)=="\t") str = str.substr(0,str.length-1);
	return str;
}


function isVisible(el) {
	// check if an element is visible using inline css "display" check
	elCheck = el;
	while(elCheck != document) {
		if (elCheck.style.display=='none') return false;
		elCheck = elCheck.parentNode;
	}
	return true;
}

function eCheck(e) {
	eOk = true;
	if (!detectChar('@', e)) eOk = false;
	if (!detectChar('.', e)) eOk = false;
	name = e.substr(0, e.indexOf('@'));
	domain = e.substr(e.indexOf('@')+1, e.length);
	if (!name.length) eOk = false;
	d1 = domain.substr(0, domain.indexOf('.'));
	d2 = domain.substr(domain.indexOf('.')+1, domain.length);
	if (!d1.length) eOk = false;
	if (!d2.length) eOk = false;
	if (d2.substr(d2.length-1, 1) == '.') eOk = false;
	domainType = 1;
	dList = new Array('hotmail.com', 'yahoo.com', 'mindspring.net', 'excite.com');
	for (i2=0; i2<dList.length; i2++) {
		if (domain.toLowerCase() == dList[i2]) {
			domainType = 0;
			break;
		}
	}
	return (eOk);
}
	
function detectChar(chr, str1) {
	str2 = str1.replace(chr, "");
	if (str1.length > str2.length) return true;
	return false;
}



// limit length of textareas				
function checkLength(el) {
	ml = el.getAttribute('maxChars')*1;
	if (el.value.length > ml) {
		el.value = el.value.substr(0,ml);
		alert("Sorry! You've reached the maximum message length. Please keep your message under "+ml+" characters.");
	}
}






///////////// PRELOAD IMAGES ////////////////

preloadArray = new Array();
function addPreload(imgSrc) { preloadArray[preloadArray.length] = imgSrc; }
var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		for (i=0; i<preloadArray.length; i++) eval("preloadImage"+i+" = newImage('"+preloadArray[i]+"');");
		preloadFlag = true;
	}
}
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}
startMeUp += "preloadImages();";




/////////////// INIT ONLOAD ///////////////

// called when HTML loaded
pageLoaded = false;
function executeOnHTMLLoad() {
	eval(loadMeUp);
}

// called when page loaded
function init() {
	eval(startMeUp);
	setTimeout("pageLoaded=true;",100);
}
onload = init;



