var _debug = true;/******************************************************************** * Story Level Email to Friend ********************************************************************/var e2fVisible = false; var E2F_HTML_BUFFER = '';// show or hide email to friend divfunction emailToFriend() {    try {        var e2fDiv = document.getElementById("story-email-friend");                e2fDiv.style.display = (e2fVisible) ? "none" : "block";        e2fVisible = !e2fVisible;    } catch (error) {        if (_debug) alert(error);    }}function showEmailMessage(msg) {    document.getElementById('emailAlert').innerHTML = msg;    document.getElementById('emailAlert').style.display = (trim(msg) == '') ? "none" : "block";}function sendEmail() {    var frm = document.forms['formEmailToFriend'];        if (!isValidEmail(trim(frm.elements['origEmail'].value))) {		showEmailMessage("<div style = \"font: 11px Verdana, Arial, Helvetica, sans-serif\">Please be sure your email address is valid.</div>");        frm.elements['origEmail'].focus();        return false;    } else if (!isValidEmail(trim(frm.elements['destEmail'].value))) {		showEmailMessage("<div style = \"font: 11px Verdana, Arial, Helvetica, sans-serif\">Please be sure your friend's email address is valid.</div>");        frm.elements['destEmail'].focus();        return false;    } else {    		var url = '/cgi-bin/WebObjects/Email.woa/wa/emailArticle' +		'?origName=' + escape(trim(frm.elements['origName'].value)) +		'&origEmail=' + escape(trim(frm.elements['origEmail'].value)) +		'&destName=' + escape(trim(frm.elements['destName'].value)) +		'&destEmail=' + escape(trim(frm.elements['destEmail'].value)) +		'&message=' + escape(trim(frm.elements['message'].value)) +		'&storyID=' + escape(trim(frm.elements['storyID'].value));		var xmlhttp = GetXmlRequestObject();		xmlhttp.open("GET", url, true);		xmlhttp.onreadystatechange = function() {			if (xmlhttp.readyState == 4) {				var _res = trim(xmlhttp.responseText);				//var _res = trim("email sent");				showEmailSubmit((_res == 'OK'));				return;    			}		}		xmlhttp.send(null);	}}function resetEmailForm() {    document.getElementById('story-email-friend').innerHTML = E2F_HTML_BUFFER;        var frm = document.forms['formEmailToFriend'];    frm.elements['destName'].value = '';    frm.elements['destEmail'].value = '';    frm.elements['message'].value = '';    showEmailMessage('');}function showEmailSubmit(stat) {    var obj = document.getElementById('story-email-friend');    E2F_HTML_BUFFER = obj.innerHTML;    var emailText = " <div class=\"story-email-container\"><div class=\"story-email-styler\" style=\"text-align: center; font: 11px Verdana, Arial, Helvetica, sans-serif\">" +                    "Your email has been sent.<br /><br /><a href=\"#\" onClick=\"resetEmailForm();\">Click here to send another email.</a></div></div>";    obj.innerHTML = emailText;    return true;}/******************************************************************** * Standard Functions ********************************************************************/function trim(_str) {    try {        return _str.replace(/^\s*|\s*$/g, "");    } catch (error) {        return _str;    }}function isValidEmail(addr) {    var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;    return re.test(addr);}function GetXmlRequestObject () {    // List of Microsoft XMLHTTP versions - newest first    var MSXML_XMLHTTP_PROGIDS = new Array ('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0',                                           'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');    // Do we support the request natively (eg, Mozilla, Opera, Safari, Konqueror)    if (window.XMLHttpRequest != null)         return new XMLHttpRequest ();    else {         // Look for a supported IE version         for (i = 0; MSXML_XMLHTTP_PROGIDS.length > i; i++) {              try {                   return new ActiveXObject (MSXML_XMLHTTP_PROGIDS[i]);              }              catch (e) {}         }    }} /******************************************************************** * Rants ********************************************************************/var RANT_HTML_BUFFER = '';var RANT_MAX_LEN = 250;function hilite(obj, state) {    obj.style.backgroundColor = (state) ? "FloralWhite" : "Snow";    return true;}function limitRantText(obj) {    var elem = document.forms['rant'].elements['comment'];    if (elem.value.length > RANT_MAX_LEN)         elem.value = elem.value.substring(0, RANT_MAX_LEN);    else        document.getElementById("rantCharCount").innerHTML = RANT_MAX_LEN - elem.value.length;}function submitRant() {    var frm = document.forms['rant'];    	if (trim(frm.elements['name'].value) == '') {		showRantMessage("<div style = \"font: 11px Verdana, Arial, Helvetica, sans-serif\">Please be sure to enter your name.</div>");		frm.elements['name'].focus();		return false;	} else if (trim(frm.elements['location'].value) == '') {		showRantMessage("<div style = \"font: 11px Verdana, Arial, Helvetica, sans-serif\">Please be sure to enter your location.</div>");		frm.elements['location'].focus();		return false;	} else if (trim(frm.elements['comment'].value) == '') {		showRantMessage("<div style = \"font: 11px Verdana, Arial, Helvetica, sans-serif\">Please be sure to enter a comment.</div>");		frm.elements['comment'].focus();		return false;	} else {		var url = '/cgi-bin/WebObjects/Rants.woa/wa/addRant' +				  '?name=' + escape(trim(frm.elements['name'].value)) +				  '&location=' + escape(trim(frm.elements['location'].value)) +				  '&comments=' + escape(trim(frm.elements['comment'].value)) +				  '&storyID=' + escape(trim(frm.elements['storyID'].value));				  		var xmlhttp = GetXmlRequestObject();		xmlhttp.open("GET", url, true);		xmlhttp.onreadystatechange = function() {			if (xmlhttp.readyState == 4) {				var _res = trim(xmlhttp.responseText);				showRantSubmit((_res == 'OK'));				return;    			}		}		xmlhttp.send(null);	}}function resetRantForm() {    document.getElementById('story-rant-form').innerHTML = RANT_HTML_BUFFER;        var frm = document.forms['rant'];    //frm.elements['rantButton'].value = 'Submit Rant';    frm.elements['name'].value = '';    frm.elements['location'].value = '';    frm.elements['comment'].value = '';    frm.elements['name'].focus();    showRantMessage('');}function showRantSubmit(stat) {    var obj = document.getElementById('story-rant-form');    RANT_HTML_BUFFER = obj.innerHTML;    var rantText = "<div style=\"border: 1px solid Silver; background-color: WhiteSmoke; padding: 10px; font-weight: bold; text-align: center; font: 11px Verdana, Arial, Helvetica, sans-serif\">" +                   "Your comment has been submitted to our editors. Thoughtful contributions will be displayed online within 24 hours." +                   "<br /><br /><a href=\"#rantListing\" onClick=\"resetRantForm();\">Click here to submit another comment</a></div>";    obj.innerHTML = rantText;    return true;}function showRantMessage(msg) {    document.getElementById('rantAlert').innerHTML = msg;    document.getElementById('rantAlert').style.display = (trim(msg) == '') ? "none" : "block";}