/*----------------------------------------------------
functions.js

Functions used in the operation of Woodlandsguide.com
Written by Chuck Campbell, Websoft Publishing Company.
12/17/2008
----------------------------------------------------*/

// ************************************************************************************************************************
// GLOBAL FUNCTIONS *******************************************************************************************************

function displayMailLink(AccountName,Domain,Subject,LinkText) {
	document.write("<a href=" + "mail" + "to:" + AccountName + "@" + Domain + "?subject=" + Subject + ">" + LinkText + "</a>") ;
}

function openWindow(w,h,x,y,url) {
	var openString = "scrollbars=yes,width=" + w + ",height=" + h + ",top=" + y + ",left=" + x;
	var programs = window.open("","programs",openString);
	programs.location.href = url;
		if (programs.opener == null) programs.opener = window;
	programs.opener.name = "opener";
}

function displayData(html) {
	var section = document.getElementById(html);
	if (section.style.display == "none") {
		section.style.display = "block";
	}
	else {
		section.style.display = "none";
	}
}

function setStyle(id,param,value) {
	var el = document.getElementById(id);
	eval("el.style." + param + " = '" + value + "'");

}

function setHTML(id,str) {
	document.getElementById(id).innerHTML = str;

}

function printIt() {
	print();
}

function changeImage(img,st) {
	var imgRef = "sidebar." + img + "." + st + ".jpg";
	var imgSrc = new Image();
	imgSrc.src = "images/" + imgRef;
	document.getElementById(img).src = imgSrc.src;
}

function displayFlash(URL,codebase,width,height) {
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"\n');
	if (codebase == 'true') {
		document.write('codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"\n');
	}
	document.write('width="' + width + '" height="' + height + '" align="middle">\n');
	document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
	document.write('<param name="movie" value="' + URL + '" />\n');
	document.write('<param name="quality" value="high" />\n');
	document.write('<param name="bgcolor" value="#ffffff" />\n');
	document.write('<param name="wmode" value="transparent" />\n');
	if (codebase == 'true') {
		document.write('<embed src="' + URL + '" quality="high" width="' + width + '" height="' + height + '" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
	}
	else {
		document.write('<embed src="' + URL + '" quality="high" width="' + width + '" height="' + height + '" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" />\n');
	}
	document.write('</object>\n');
}

function setField(which,way) {
	try {
		document.getElementById("errmsg").style.display = "none";
	}
	catch(err) {

	}
	if (way == "reset")	{
		if (which.value != "") {
			which.style.border = "1px solid #000";
			document.getElementById("prompt").style.display = "none";
		}
	}
	else if (way == "highlight") {
		which.style.border = "3px solid #c00";
	}
}

function validateField(FieldValue,DataType) {
	switch(DataType) {
		case "str":
			if ((FieldValue != "") && (FieldValue.length > 0)) {
				return true;
			}
			else {
				return false;
			}
			break;
		case "int":
			if (isNaN(FieldValue)) {
				return false;
			}
			else {
				return true;
			}
			break;
		case "date":
			DateStrArray = FieldValue.split("/");
			if (DateStrArray.length == "3") {
				var mm = DateStrArray[0];
				if (mm.lenth == 1) {
					mm = "0" + mm
				}
				var dd = DateStrArray[1];
				if (dd.lenth == 1) {
					dd = "0" + dd
				}
				var yyyy = DateStrArray[2];
				if (yyyy.lenth = 2) {
					yyyy = "20" + yyyy
				}
				if (isDate(mm,dd,yyyy)) {
					return true;
				}
				else {
					return false;
				}
			}
			else {
				return false;
			}
			break;
		case "time":
			TimeStrArray = FieldValue.split(":");
			if (TimeStrArray.length == "2") {
				var hh = TimeStrArray[0];
				var mm = TimeStrArray[1];
				TimeStrArray = mm.split(" ");
				if (TimeStrArray.length == "2") {
					mm = TimeStrArray[0];
					ampm = TimeStrArray[1];
					if (((isNaN(hh) == false) && (hh != "")) && ((isNaN(mm) == false) && (mm != "")) && (ampm != "")) {
						return true;;
					}
					else {
						return false;
					}

				}
				else {
					return false;
				}
			}
			else {
				return false;
			}
			break;
		case "email":
			if ((FieldValue != "") && (FieldValue.length > 0) && (FieldValue.indexOf("@") > -1) && (FieldValue.indexOf(".") > -1)) {
				var seg1 = true;
				var seg2 = false;
				var seg3 = false;
				for (var i=0;i<FieldValue.length;i++) {
					currChar = FieldValue.charCodeAt(i);
					if (((currChar > 47 && currChar < 58) || (currChar > 64 && currChar < 91) || (currChar > 96 && currChar < 123)) || currChar == 39 || currChar == 46 || currChar == 64) {
						if ((seg1 == true) && (currChar == 64)) {
							seg1 = false;
							seg2 = true;
						}
						else if ((seg2 == true) && (currChar == 46)) {
							seg2 = false;
							seg3 = true;
							var seg3count = 0;
						}
						else if (seg3 == true) {
							if (((currChar > 64) && (currChar < 91)) || ((currChar > 96) && (currChar < 123))) {
								seg3count = parseInt(seg3count) + 1;
							}
							else {
								return false;
								break;
							}
						}
					}
					else {
						return false;
						break;
					}
				}
				if (seg3 == true && seg3count > 1) {
					return true;
				}
				else {
					return false;
				}
			}
			else {
				return false;
			}
			break;
		case "phone":
			var numCount = 0;
			for (var i=0;i<FieldValue.length;i++) {
				currChar = FieldValue.charCodeAt(i);
				if ((currChar != NaN) && (currChar != "")) {
					if ((currChar > 47) && (currChar < 58)) {
						numCount = parseInt(numCount+1);
					}
				}
			}
			if (numCount < 10) {
				return false;
			}
			break;
		case "zip":
			var numCount = 0;
			for (var i=0;i<=FieldValue.length;i++) {
				currChar = FieldValue.charCodeAt(i);
				if ((currChar != NaN) && (currChar != "")) {
					if ((currChar > 47) && (currChar < 58)) {
						numCount = parseInt(numCount+1);
					}
				}
			}
			if (numCount < 5) {
				return false;
			}
			else if ((numCount == 5) || (numCount == 9)) {
				return true;
			}
			break;
		default:
			alert("The data type " + DataType + " is not present in this conditional statement.   ");
	}
}

function isDate(mm,dd,yyyy) {
   var d = new Date(mm + "/" + dd + "/" + yyyy);
   return d.getMonth() + 1 == mm && d.getDate() == dd && d.getFullYear() == yyyy;
}

function createCookie(name,value,minutes) {
	if (minutes) {
		var date = new Date();
		date.setTime(date.getTime()+(minutes*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function FormatDateTime(datetime, FormatType)
/*
	 FormatType takes the following values
		1 - General Date = Friday, October 30, 1998
		2 - Typical Date = 10/30/98
		3 - Standard Time = 6:31 PM
		4 - Military Time = 18:31
*/
{
	var strDate = new String(datetime);

	if (strDate.toUpperCase() == "NOW") {
		var myDate = new Date();
		strDate = String(myDate);
	} else {
		var myDate = new Date(datetime);
		strDate = String(myDate);
	}

	// Get the date variable parts
	var Day = new String(strDate.substring(0,3));
	if (Day == "Sun") Day = "Sunday";
	if (Day == "Mon") Day = "Monday";
	if (Day == "Tue") Day = "Tuesday";
	if (Day == "Wed") Day = "Wednesday";
	if (Day == "Thu") Day = "Thursday";
	if (Day == "Fri") Day = "Friday";
	if (Day == "Sat") Day = "Saturday";

	var Month = new String(strDate.substring(4,7)), MonthNumber = 0;
	if (Month == "Jan") { Month = "January"; MonthNumber = 1; }
	if (Month == "Feb") { Month = "February"; MonthNumber = 2; }
	if (Month == "Mar") { Month = "March"; MonthNumber = 3; }
	if (Month == "Apr") { Month = "April"; MonthNumber = 4; }
	if (Month == "May") { Month = "May"; MonthNumber = 5; }
	if (Month == "Jun") { Month = "June"; MonthNumber = 6; }
	if (Month == "Jul") { Month = "July"; MonthNumber = 7; }
	if (Month == "Aug") { Month = "August"; MonthNumber = 8; }
	if (Month == "Sep") { Month = "September"; MonthNumber = 9; }
	if (Month == "Oct") { Month = "October"; MonthNumber = 10; }
	if (Month == "Nov") { Month = "November"; MonthNumber = 11; }
	if (Month == "Dec") { Month = "December"; MonthNumber = 12; }

	var curPos = 11;
	var MonthDay = new String(strDate.substring(8,10));
	if (MonthDay.charAt(1) == " ") {
		MonthDay = "0" + MonthDay.charAt(0);
		curPos--;
	}

	var MilitaryTime = new String(strDate.substring(curPos,curPos + 5));

	var yearArray = strDate.split(" ");
	var x;
	for (var i=0;i<yearArray.length;i++) {
		x = yearArray[i];
		if (x.length == 4) {
			var Year = x;
			break;
		}
	}
	//var Year = new String(strDate.substring(strDate.length - 4, strDate.length));		THIS DOESNT WORK IN FIREFOX

	// Format Type decision time!
	if (FormatType == 1)
		strDate = Day + ", " + Month + " " + MonthDay + ", " + Year;
	else if (FormatType == 2)
		strDate = MonthNumber + "/" + MonthDay + "/" + Year.substring(2,4);
	else if (FormatType == 3) {
		var AMPM = MilitaryTime.substring(0,2) >= 12 && MilitaryTime.substring(0,2) != "24" ? " PM" : " AM";
		if (MilitaryTime.substring(0,2) > 12)
			strDate = (MilitaryTime.substring(0,2) - 12) + ":" + MilitaryTime.substring(3,MilitaryTime.length) + AMPM;
		else {
			if (MilitaryTime.substring(0,2) < 10)
				strDate = MilitaryTime.substring(1,MilitaryTime.length) + AMPM;
			else
				strDate = MilitaryTime + AMPM;
		}
	}
	else if (FormatType == 4)
		strDate = MilitaryTime;


	return strDate;
}

// END OF GLOBAL FUNCTIONS ************************************************************************************************
// ************************************************************************************************************************
