function validateEmpty(ctrl, msg)
{
	if(ctrl.value == "")
	{
		alert(msg);
		ctrl.focus();
		ctrl.select();
		return false;
	}

	return true;
}

function validateZero(ctrl, msg)
{
	if(ctrl.value == 0 || ctrl.value == "0")
	{
		alert(msg);
		ctrl.focus();
		return false;
	}

	return true;
}

function validateNumeric(ctrl, msg)
{
   var strValidChars = "0123456789.";
   var strChar;
   var strString = ctrl.value;

   for (i = 0; i < strString.length; i++)
   {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
      {
		alert(msg);
		ctrl.focus();
		ctrl.select();
		return false;
      }
   }
   return true;
}

function validateCheckBox(chkbox)
{
	if(chkbox.checked == false)
	{
		return false;
	}

	return true;
}

function validateEmail(email, msg)
{
	var field = email; 
	var str = field.value; 
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	if (!reg1.test(str) && reg2.test(str)) 
		return true;
	alert(msg);
	field.focus();
	field.select();
	return false;
}

function comparePassword(pwd, confirmPwd, msg)
{
	if(pwd.value != confirmPwd.value)
	{
		alert("Password does not match with confirm password");
		confirmPwd.focus();
		confirmPwd.select();
		return false;
	}
	return true;
}

function validateMinLength(ctrl, min, msg)
{
	var str = ctrl.value;
	//alert(str.length + ", " + min);
	if(str.length < min)
	{
		alert(msg);
		ctrl.focus();
		ctrl.select();
		return false;
	}
	return true;
}

function validateMaxLength(ctrl, max, msg)
{
	var str = ctrl.value;
	if(str.length > max)
	{
		alert(msg);
		ctrl.focus();
		ctrl.select();
		return false;
	}
	return true;
}

function isDate(DateToCheck)
{
	if(DateToCheck==""){return true;}
	var m_strDate = FormatDate(DateToCheck);
	if(m_strDate=="")
	{
		return false;
	}
	var m_arrDate = m_strDate.split("/");
	var m_DAY = m_arrDate[0];
	var m_MONTH = m_arrDate[1];
	var m_YEAR = m_arrDate[2];
	if(m_YEAR.length > 4){return false;}
	m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;
	var testDate=new Date(m_strDate);
	if(testDate.getMonth()+1==m_MONTH)
	{
		return true;
	} 
	else
	{
		return false;
	}
}

function FormatDate(DateToFormat,FormatAs)
{
	if(DateToFormat==""){return"";}
	if(!FormatAs){FormatAs="dd/mm/yyyy";}

	var strReturnDate;
	FormatAs = FormatAs.toLowerCase();
	DateToFormat = DateToFormat.toLowerCase();
	var arrDate
	var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var strMONTH;
	var Separator;

	while(DateToFormat.indexOf("st")>-1)
	{
		DateToFormat = DateToFormat.replace("st","");
	}

	while(DateToFormat.indexOf("nd")>-1)
	{
		DateToFormat = DateToFormat.replace("nd","");
	}

	while(DateToFormat.indexOf("rd")>-1)
	{
		DateToFormat = DateToFormat.replace("rd","");
	}

	while(DateToFormat.indexOf("th")>-1)
	{
		DateToFormat = DateToFormat.replace("th","");
	}

	if(DateToFormat.indexOf(".")>-1)
	{
		Separator = ".";
	}

	if(DateToFormat.indexOf("-")>-1)
	{
		Separator = "-";
	}

	if(DateToFormat.indexOf("/")>-1)
	{
		Separator = "/";
	}

	if(DateToFormat.indexOf(" ")>-1)
	{
		Separator = " ";
	}

	arrDate = DateToFormat.split(Separator);
	DateToFormat = "";
	for(var iSD = 0;iSD < arrDate.length;iSD++)
	{
		if(arrDate[iSD]!="")
		{
			DateToFormat += arrDate[iSD] + Separator;
		}
	}
	DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
	arrDate = DateToFormat.split(Separator);

	if(arrDate.length < 3)
	{
		return "";
	}

	var DAY = arrDate[0];
	var MONTH = arrDate[1];
	var YEAR = arrDate[2];

	if(parseFloat(arrDate[1]) > 12)
	{
		DAY = arrDate[1];
		MONTH = arrDate[0];
	}

	if(parseFloat(DAY) && DAY.toString().length==4)
	{
		YEAR = arrDate[0];
		DAY = arrDate[2];
		MONTH = arrDate[1];
	}


	for(var iSD = 0;iSD < arrMonths.length;iSD++)
	{
		var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
		var MonthPosition = DateToFormat.indexOf(ShortMonth);
		if(MonthPosition > -1)
		{
			MONTH = iSD + 1;
			if(MonthPosition == 0)
			{
				DAY = arrDate[1];
				YEAR = arrDate[2];
			}
			break;
		}
	}

	var strTemp = YEAR.toString();
	if(strTemp.length==2)
	{
		if(parseFloat(YEAR)>40)
		{
			YEAR = "19" + YEAR;
		}
		else
		{
			YEAR = "20" + YEAR;
		}
	}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2)
	{
		MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2)
	{
		DAY = "0" + DAY;
	}
	switch (FormatAs)
	{
		case "dd/mm/yyyy":
			return DAY + "/" + MONTH + "/" + YEAR;
		case "mm/dd/yyyy":
			return MONTH + "/" + DAY + "/" + YEAR;
		case "dd/mmm/yyyy":
			return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
		case "mmm/dd/yyyy":
			return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
		case "dd/mmmm/yyyy":
			return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
		case "mmmm/dd/yyyy":
			return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

	return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function
