startMeUp = '';
loadMeUp = '';

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

function checkSignupForm() {
	f = document.getElementById('signupForm');
	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 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) { // use: setCookie("name", value);
		document.cookie=name + "=" + escape(value) + "; path=/; expires=" + expiry.toGMTString();
	}
	

	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 replaceStr(find, replace, stringer) {
		if (stringer.indexOf(find) != -1) {
			remainder = stringer;
			processed = '';
			while (remainder.indexOf(find) != -1) {
				processed = processed+stringer.substr((stringer.length-remainder.length),remainder.indexOf(find))+replace;
				remainder = remainder.substr(remainder.indexOf(find)+find.length, remainder.length);
			}
			stringer = processed+remainder;
		}
		return stringer;
	}

	function detectChar(chr, str1) {
		str2 = replaceStr(chr, "", str1);
		if (str1.length > str2.length) return true;
		return false;
	}






///////////////// TOGGLE CONTENTS /////////////////

function toggleContents(refEl) {
	tIcon = tIcons[this.tId];
	tHeading = tHeadings[this.tId];
	tContent = tContents[this.tId];
	tContent.style.display = (tContent.style.display=='none') ? 'block' : 'none';
	tIcon.innerHTML = (tContent.style.display=='none') ? showSymbol : hideSymbol;
	
	// matchColumns();
}

defaultToggleDisplay = '';
showFirst = false;
function initToggleContents() {
	tData = document.getElementById('toggleData');
	if (tData) {
		showSymbol = '+';
		hideSymbol = '&ndash;';
		tHeadings = new Array();
		tContents = new Array();
		tIcons = new Array();
		tId = -1;
		for (i=0;i<tData.childNodes.length;i++) {
			child = tData.childNodes[i];
			if (child.className=='toggleHeading' || child.className=='toggleIcon') {
				if (child.className=='toggleIcon') {
					tId++;
					child.tId = tId;
					tIcons[tId] = child;
					child.innerHTML = (showFirst && !tId) ? hideSymbol : showSymbol;
				} else tHeadings[tId] = child;
				child.tId = tId;
				child.style.cursor = 'pointer';
				child.title = 'Click to show/hide';
				child.onclick = toggleContents;
			} else if (child.className=='toggleContents') {
				child.style.display = (showFirst && !tId) ? '' : 'none';		
				child.tId = tId;
				tContents[tId] = child;
			}
		}
		// CHECK FOR REQUESTED ITEM VISIBILITY
		qs = location.href.split('?')[1];
		if (qs) {
			qsParts = qs.split('&');
			for(i=0;i<qsParts.length;i++) {
				part = qsParts[i].split('=');
				if (part[0]=='toggle') {
					if (t = parseInt(part[1])) {
						tId = 0;
						for (i=0;i<tData.childNodes.length;i++) {
							child = tData.childNodes[i];
							if (child.className=='toggleHeading') {
								tId++;
								if (tId==t) child.onclick();
							}
						}
					}
				}
			}
		}
		if (defaultToggleDisplay) {
			t = defaultToggleDisplay;
			tId = 0;
			for (i=0;i<tData.childNodes.length;i++) {
				child = tData.childNodes[i];
				if (child.className=='toggleHeading') {
					tId++;
					if (tId==t) child.onclick();
				}
			}	
		}
		// matchColumns();
	}
}




function toggleEl(elId) {
	el = document.getElementById(elId);
	el.style.display = (el.style.display=='block') ? 'none' : 'block';
	// matchColumns();
}




////////////////// FORMS ///////////////////////

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


function check_key(key_event, the_key, action) {
	if (!void13) {
		if (!key_event) key_event = event.keyCode;
		if (key_event == the_key) // execute action
		eval(action);
	}
}







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

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

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



