function JS_trimLeft(s) {
var whitespaces = " \t\n\r";
for(n = 0; n < s.length; n++) { 
if (whitespaces.indexOf(s.charAt(n)) == -1) 
return (n > 0) ? s.substring(n, s.length) : s; 
}
return("");
}
function JS_trimRight(s){
var whitespaces = " \t\n\r";
for(n = s.length - 1; n  > -1; n--) { 
if (whitespaces.indexOf(s.charAt(n)) == -1) 
return (n < (s.length - 1)) ? s.substring(0, n+1) : s; 
}
return("");
}
function JS_trim(s) {
return ((s == null) ? "" : JS_trimRight(JS_trimLeft(s))); 
}
function JS_isBlank(field, strBodyHeader) {
strTrimmed = JS_trim(field.value);
if (strTrimmed.length > 0) return false;
alert("\"" + strBodyHeader + "\" is a required field. Please type in a value.");
field.focus();
return true;
}
function JS_isBadURL(field, strBodyHeader) {
strTrimmed = JS_trim(field.value);
if (strTrimmed.length == 0 || 
strTrimmed.substring(0,7) == 'http://' || 
strTrimmed.substring(0,6) == 'ftp://' || 
strTrimmed.substring(0,7) == 'mailto:' || 
strTrimmed.substring(0,8) == 'https://') return false;
alert("\"" + strBodyHeader + "\" is an invalid url. Please remedy.");
field.focus();
return true;
}
function JS_isNumber(field, strBodyHeader) {
var strVal = JS_trim(field.value);
if (strVal.length == 0 || strVal.length > 999) return false;
var 	x = 0;
for (i=0;i < strVal.length; i++) { 
if (strVal.charAt(i) > '0' && strVal.charAt(i) < '9') x++;
}
if (strVal.length > x) {
alert("Invalid value for field \""+ strBodyHeader + "\". Please type in a valid integer.");
field.focus();
return false;
} else {
return true;
}
}
function JS_isEmail(field, strBodyHeader) {
var strMsg = ""; 
var chAt  = '@'; 
var chDot = '.'; 
var strEmailAddr = JS_trim(field.value);
if (strEmailAddr.length == 0) return true;
if (strEmailAddr.indexOf(" ") == -1)
{
var iFirstAtPos = strEmailAddr.indexOf(chAt);
var iLastAtPos = strEmailAddr.lastIndexOf(chAt);
if (iFirstAtPos > 0 && iFirstAtPos < (strEmailAddr.length - 1) &&iFirstAtPos == iLastAtPos) {
var iDotPos = strEmailAddr.indexOf(chDot, iFirstAtPos + 1);
if (iDotPos > (iFirstAtPos + 1) && iDotPos < (strEmailAddr.length -1)) return true;
}
}
   alert("Invalid email address. Please type in a valid email address for field \"" + strBodyHeader + "\"");
  field.focus();
	   return false;
}
function JS_makeParent(rid) { 
	document.Com.ParentRid.value = rid;
}
function validateNews() {
	   field = document.News.Author; 
	   if (JS_isBlank(field, "Name")) return false;
	   
	   field = document.News.AuthorEmail; 
	   if (JS_isBlank(field, "Email Address")) return false;
	   if (!JS_isEmail(field, "Email Address")) return false;
	   
	   field = document.News.AuthorURL;
	   if (JS_isBadURL(field, "URL")) return false;

	   field = document.News.Heading;
	   if (JS_isBlank(field, "Title")) return false;
	       
	   field = document.News.Content;
	   if (JS_isBlank(field, "Story")) return false;

	   field = document.News.StoryURL;
	   if (JS_isBadURL(field, "Story URL")) return false;

	return true;
}
function validatePreview() {
field = document.Preview.Heading; 
if (JS_isBlank(field, "Title")) return false;
field = document.Preview.Content;
if (JS_isBlank(field, "Story")) return false;
field = document.Preview.StoryURL;
if (JS_isBadURL(field, "Story URL")) return false;
return true;
}
function validateComment() {
	if (document.Com.anon && !document.Com.anon.checked) {

	   field = document.Com.Author; 
	   if (JS_isBlank(field, "Name")) return false;
	   
	   field = document.Com.AuthorEmail; 
	   if (JS_isBlank(field, "Email Address")) return false;
	   if (!JS_isEmail(field, "Email Address")) return false;

	   field = document.Com.AuthorURL;
	   if (JS_isBadURL(field, "URL")) return false;

	}
	field = document.Com.Content;
	if (JS_isBlank(field, "Comment")) return false;

	if (document.Com.save &&
		document.Com.save.checked &&
		document.Com.anon.checked) {
		alert('You may not save Anonymous information.');
		return false;
	}

	return true;
}
function validateContact() {
	   field = document.Contact.Author; 
	   if (JS_isBlank(field, "Name")) return false;
	   
	   field = document.Contact.AuthorEmail; 
	   if (JS_isBlank(field, "Email Address")) return false;
	   if (!JS_isEmail(field, "Email Address")) return false;
	   
	   field = document.Contact.Subject;
	   if (JS_isBlank(field, "Subject")) return false;

	   field = document.Contact.Message;
	   if (JS_isBlank(field, "Message")) return false;

	return true;
}
function validateLink() {
	   field = document.Link.linkname; 
	   if (JS_isBlank(field, "Site Name")) return false;
	   
	   field = document.Link.url; 
	   if (JS_isBlank(field, "URL")) return false;
	   if (JS_isBadURL(field, "URL")) return false;

	   field = document.Link.subname; 
	   if (JS_isBlank(field, "Name")) return false;
	   
	   field = document.Link.subemail; 
	   if (JS_isBlank(field, "Email Address")) return false;
	   if (!JS_isEmail(field, "Email Address")) return false;

	return true;
}
function validateBlocks() {
	field = document.Blocks.Heading; 
	if (JS_isBlank(field, "Heading")) return false;

	if (document.Blocks.Type[0].checked) {
	   field = document.Blocks.Content; 
	   if (JS_isBlank(field, "Content")) return false;
	}

	if (document.Blocks.Type[1].checked) {
	   field = document.Blocks.RDF; 
	   if (JS_isBlank(field, "RDF")) return false;
	   if (JS_isBadURL(field, "RDF")) return false;
	}

	if (document.Blocks.Type[2].checked) {
	   field = document.Blocks.URL;
	   if (JS_isBlank(field, "URL")) return false;
	   if (JS_isBadURL(field, "URL")) return false;
	}
	return true;
}
function validatePages() {
	   field = document.Pages.Name; 
	   if (JS_isBlank(field, "Name")) return false;

	   field = document.Pages.Heading; 
	   if (JS_isBlank(field, "Heading")) return false;
	   
	   field = document.Pages.Content; 
	   if (JS_isBlank(field, "Content")) return false;

	return true;
}
function validateSugNode() {
	   field = document.SUGNODE.newnode; 
	   if (JS_isBlank(field, "Category")) return false;

	return true;
}
function validateFriend() {
	field = document.Friend.Author;
	if (JS_isBlank(field, "Name")) return false;

	field = document.Friend.AuthorEmail;
	if (JS_isBlank(field, "Your Email Address")) return false;
	if (!JS_isEmail(field, "Your Email Address")) return false;

	field = document.Friend.MailTo;
	if (JS_isBlank(field, "Friend's Name")) return false;

	field = document.Friend.MailToEmail;
	if (JS_isBlank(field, "Friend's Email")) return false;
	if (!JS_isEmail(field, "Friend's Email")) return false;

	return true;
}
function getconfirm() {
	if(confirm("Kill this item and any associated records?")) {
		return true;
	} else {
		return false;
	}
}
function JS_swapLayout(form) {
	var idx = form.name.selectedIndex;
	form.Layout.value = form.name.options[idx].value;
	return 1;
}
function JS_swapTopic(form) {
	var idx = form.name.selectedIndex;
	form.Topic.value = form.name.options[idx].value;
	return 1;
}
