
function validateField(frm,fld,pattern,flags) {
	var f = document.forms[frm].elements[fld];
	var re = new RegExp(pattern,flags);
	return re.test(f.value);
}
function sendMail(frm){
	if(!validateField(frm,"name","\\w+","")){
		alert("Please enter your name.");
		return false;
	}
	if(!validateField(frm,"email","^(\\w+)(\\.\\w+)*\@(\\w+)(\\.\\w+)*(\\.\\w{2,4})$","")){
		alert("Please enter a valid return email address.");
		return false;
	}
	if(!validateField(frm,"message","\\w+","")){
		alert("Please enter your message.");
		return false;
	}
	var xPos=(screen.width-300)/2, yPos=(screen.height-200)/2;
	window.open('','sendPage','width=300,height=200,left='+xPos+',top='+yPos);
	document.forms[frm].submit();
}
function sendQuote(frm){
	if(!validateField(frm,"firstname","\\w+","")){
		alert("Please enter your first name.");
		return false;
	}
	if(!validateField(frm,"lastname","\\w+","")){
		alert("Please enter your first name.");
		return false;
	}
	if(!validateField(frm,"email","^(\\w+)(\\.\\w+)*\@(\\w+)(\\.\\w+)*(\\.\\w{2,4})$","")){
		alert("Please enter a valid return email address.");
		return false;
	}
	var xPos=(screen.width-300)/2, yPos=(screen.height-200)/2;
	window.open('','sendPage','width=300,height=200,left='+xPos+',top='+yPos);
	document.forms[frm].submit();
}
function addLeadingZero(n){
	if (n<10){
		n="0" + n;
	}
	return n;
}

var now = new Date();

function showDate(where){
	var d = new Date();
	if(document.all){
		document.all[where].innerHTML = d.toLocaleString();
	}else if(document.getElementById){
		document.getElementById(where).innerHTML = d.toLocaleString();
	}else{
		return;
	}
	t=setTimeout('showDate(\"'+where+'\")',1000)
}
function leapYear(year) {
	if (year % 4 == 0){
		return true;
	}
}
var mNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
function drawCalendarControls() {
	var yArray = new Array();
	var year = now.getFullYear();
	for(i=-1;i<5;i++){
		yArray[i+1] = year + i;
	}
	var strHtml = "";
	strHtml += "<form name=\"controls\" class=\"transparent\">"
	strHtml += "<p align=\"center\">"
	// month dropdown
	strHtml += "<select name=\"month\" onchange=\"writeToDiv('calendar',this.value,document.forms['controls'].year.value);\">";
	for(i=0;i<mNames.length;i++){
		strHtml += "<option value=\"" + i + "\""
		if(i==now.getMonth()){
			strHtml += " selected=\"selected\""
		}
		strHtml += ">" + mNames[i] + "</option>"
	}
	strHtml += "</select>"
	
	// year dropdown
	strHtml += "<select name=\"year\" onchange=\"writeToDiv('calendar',document.forms['controls'].month.value,this.value);\">";
	for(i=0;i<yArray.length;i++){
		strHtml += "<option value=\"" + yArray[i] + "\""
		if(yArray[i]==now.getFullYear()){
			strHtml += " selected=\"selected\""
		}
		strHtml += ">" + yArray[i] + "</option>"
	}
	strHtml += "</select></p></form>"
	document.write(strHtml);
}
function writeToDiv(obj,m,y){
	document.getElementById(obj).innerHTML = drawCalendar(m,y);
}
function drawCalendar(month,year) {
	var month = (month) ? month : now.getMonth();
	var year = (year) ? year : now.getFullYear();
	var today = now.getDate();
	var nDays = new Array("31", (leapYear(year) ? 29 : 28), "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
	var dNames = new Array("S","M","T","W","T","F","S");
	var strHtml = "";
	var firstDay = new Date(year, month, 1);
	var firstCell = firstDay.getDay();
	var lastDay = nDays[month];
	var digit = 1;
	var curCell = 0;
	
	// Initialize a table
	strHtml += "<table border=\"0\" callpadding=\"0\" cellspacing=\"1\" width=\"100%\">"
	
	// Names of weekdays
	strHtml += "<tr>"
	for (i=0;i<dNames.length; i++) {
	  strHtml += "<td class=\"weekday\">" + dNames[i] + "</td>";
	}
	strHtml += "</tr>"
	
	
	// Define rows with the dates
	var rows = Math.ceil((eval(firstCell)+eval(lastDay))/7);
	for (i=1; i<=rows; i++) {
	  strHtml += "<tr>";
		for (j=1; j<=7; j++) {
			if(curCell < firstCell){
				strHtml += "<td class=\"genericdate\">&nbsp;</td>";
				curCell++;
			}else{
				if (digit == today && month==now.getMonth() && year==now.getFullYear()) {
				  strHtml += "<td class=\"currentdate\">" + digit + "</td>"
				  digit++;
				} else {
				  if(digit <= lastDay){
					strHtml += "<td class=\"genericdate\">" + digit + "</td>";
				  }else{
					strHtml += "<td class=\"genericdate\">&nbsp;</td>";  
				  }
				  digit++;
				}
			}
		}
		strHtml += "</tr>"
	}
	
	strHtml += "</table>"
	
	// Draw the whole table
	return strHtml;
}
function getParam(name){
	var start = (location.search.indexOf(name+"=")>=0) ? location.search.indexOf(name+"=")+name.length+1 : location.search.length;
	var end = (location.search.indexOf("&",start)>=0) ? location.search.indexOf("&",start) : location.search.length;
	var result = location.search.substring(start,end);
	return unescape(result);
}
function toggleField(fld,state){
	if(document.all){
		document.all[fld].style.visibility = state;
	}else if(document.getElementById){
		document.getElementById(fld).style.visibility = state;
	}else{
		return;
	}
}
