// JavaScript Document
// Last Updated: 04/30/2009
// Author: Vay Vong
// Change Log: 
/***
4/30
Add new function - getBrowserName()
todayStr() is now detects browser name and give the correct year. 
todayStrNonIE() is now calling todayStr() for value.

4/23
Add new function - getSelectedItems()

***/


//--Returns the current system time as a string in hh:mm am/pm format.
function nowStr() {
	var now=new Date()
	var hours=now.getHours()
	var minutes=now.getMinutes()
	timeStr=""+((hours > 12) ? hours - 12 : hours)
	timeStr+=((minutes < 10) ? ":0" : ":") + minutes
	timeStr+=(hours >= 12) ? "pm" : "am"
	return timeStr
}

//--Returns the current date in mm/dd/yyyy format as a string.
function todayStr() {
	var today=new Date();
	if(getBrowserName() == 'Microsoft Internet Explorer') {
		return today.getMonth()+1+"/"+today.getDate()+"/"+(today.getYear()); //IE only
	} else { 
		return today.getMonth()+1+"/"+today.getDate()+"/"+(today.getYear() + 1900); // Firefox
	}
}

//--Returns the current date in mm/dd/yyyy format as a string.
function todayStrNonIE() {
	return todayStr();
}

//--Return a boolean depending on strDate being a valid date format (dd/mm/yyyy).
function isDate(strDate) {
   var sDate = strDate;
   var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
   if (re.test(sDate)) {
      var dArr = sDate.split("/");
      var d = new Date(sDate);
      return d.getMonth() + 1 == dArr[0] && d.getDate() == dArr[1] && d.getFullYear() == dArr[2];
   }
   else {
      return false;
   }
}

function isTime(strTime) {
	// regular expression to match required time format  (eg. 22:51 or 10:51pm)
	var re = /^(\d{1,2}):(\d{2})(:00)?([ap]m)?$/; 
	if(strTime != '' && !strTime.match(re)) { 
		return false; 
	}  else {
		return true;
	}
}

//--Return a boolean depending on strText not being null or empty after trimming.
function isEmpty(strText) {
	return ((strText == null) || (trim(strText).length <= 0) );
}

//-- return a new string after trimming the left and right space
function trim(strValue) {
	return strValue.replace(/^\s+|\s+$/g, '');
}

//Get checked values of a checkbox form item given the field's name. 
function getSelectedItems(elementId) {
	var objFrmField = document.getElementsByName(elementId);
	var fldResult = "";
	var len = objFrmField.length;
	for (var i = 0; i <len; i++) {
		if (objFrmField[i].checked) {
			fldResult += objFrmField[i].value + "; ";
		}
	}
	return fldResult;
}

//-- return name of the browser
function getBrowserName() {
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	var version=parseFloat(b_version);
	return browser;
}

function ajaxProcess(strUrl, divOutputId) {
	var myResult = true;
	if (strUrl.length==0) { 
		myResult =false;
	} else {
		
		var xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null) {
			alert ("Browser does not support HTTP Request");
			return myResult;
		} 
	
		var url=strUrl;
		xmlHttp.onreadystatechange=function() { 
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
				if(divOutputId != "") {
					document.getElementById(divOutputId).innerHTML = xmlHttp.responseText;
				}
			}
		}
		try{
			xmlHttp.open("GET",url,true);
		} catch (error) {
			myResult =false;
		}
		xmlHttp.send(null);
	}
	return myResult;
} 

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
 	} catch (e)  {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
 	}
	return xmlHttp;
}

function send_mail_advance(strFrom, strTo, strCc, strBcc, strSubject, strTextBody, strHtmlBody) {
	var strUrl = ('/light/includes/utils/mail_send.asp?');
	var strParam = "MailFrom="+strFrom+"&";
	strParam += "MailTo="+strTo+"&";
	strParam += "MailCc="+strCc+"&";
	strParam += "MailBcc="+strBcc+"&";
	strParam += "MailSubject="+strSubject+"&";
	strParam += "MailTextBody="+escape(strTextBody)+"&";
	strParam += "MailHtmlBody="+escape(strHtmlBody);
	return ajaxProcess(strUrl+strParam, '');
}

function send_mail(strFrom, strTo, strSubject, strTextBody) {
	return send_mail_advance(strFrom, strTo, "", "WebTeam.SCL@seattle.gov", strSubject, strTextBody, "");
}


