/****************************************************************/
function ShowCAlert (Message,Home)
{
	window.showModalDialog(Home + "DialogPage.aspx?Msg=" + Message + "&DType=1","","dialogHeight:150px;dialogwidth:300px;center:yes;status:no;help:no;scroll:no;");
	
}
/****************************************************************/
function ShowCConfirm (Message,Home)
{
	var retVal = window.showModalDialog(Home + "DialogPage.aspx?Msg=" + Message + "&DType=2","","dialogHeight:150px;dialogwidth:300px;center:yes;status:no;help:no;scroll:no;");
	if(retVal)
		return retVal;
	else 
		return 'cancel';
				
}

// IsComboBoxSelected , Check for Combobox is selected 
function IsComboBoxSelected (ControlName , Caption, Home)
{	
	if(ControlName.selectedIndex == 0 ) 
	{
		if(Home)
		{
			ShowCAlert("Please select " + Caption + "", Home);
		}
		else
		{
			alert("Please select " + Caption + "");
		}
		ControlName.focus();
		return false;
	}
	return true;
}
/****************************************************************/
function IsListBoxSelected (ControlName , Caption, Home)
{	
	if(ControlName.selectedIndex < 0 ) 
	{
		if(Home)
		{
			ShowCAlert("Please select " + Caption + "", Home);
		}
		else
		{
			alert("Please select " + Caption + "");
		}
		ControlName.focus();
		return false;
	}
	return true;
}

/****************************************************************/
// isEmpty , Check for Empty
function IsEmpty (ControlName , Caption, Home)
{
	if(trim(ControlName.value).length == 0 ) 
	{
		if(Home)
		{
			ShowCAlert(Caption + " cannot be empty", Home);
		}
		else
		{
			alert( Caption + " cannot be empty");
		}
		ControlName.focus();
		ControlName.select();		
		return true;
	}
	return false;
}
/****************************************************************/
function IsLengthOK (ControlName, length, Caption, Home)
{
	if(trim(ControlName.value).length > parseFloat(length) ) 
	{
		if(Home)
		{
			ShowCAlert("The value for " + Caption + " has exceeded the allowed limit of " + length, Home);
		}
		else
		{
			alert("The value for " + Caption + " has exceeded the allowed limit of " + length);
		}
		ControlName.focus();
		ControlName.select();		
		return false;
	}
	return true;
}

/****************************************************************/
function IsGrThanZero(ControlName , Caption, Home)
{
	if(parseFloat(trim(ControlName.value.replace(",",""))) <= 0 ) 
	{
		
		if(Home)
		{
			ShowCAlert(Caption + " must be greater than zero", Home);
		}
		else
		{
			alert( Caption + " must be greater than zero");
		}
		ControlName.focus();
		ControlName.select();		
		return false;
	}
	return true;
}

//****************************************************************

function isDate(ControlName, Caption, Home)
{
	if(isNaN(Date.parse(ControlName.value)))
	{
		if(Home)
		{
			ShowCAlert(Caption + " is invalid.", Home);
		}
		else
		{
			alert(Caption +" is invalid.");
		}
		ControlName.focus();
		ControlName.select();
		return false;
	}
	else
		return checkdate(ControlName,Caption);
	
}
//****************************************************************
function checkdate(objName, Caption) {
	var datefield = objName;
	if (chkdate(objName) == false) {
	datefield.select();
	alert(Caption +" is invalid.");
	datefield.focus();
	return false;
	}
	else {
	return true;
	}
}
//****************************************************************
function chkdate(objName) 
{
	var strDatestyle = "US"; //United States date style
	//var strDatestyle = "EU";  //European date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = datefield.value;
	if (strDate.length < 1) 
	{
	return true;
	}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
	if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
	strDateArray = strDate.split(strSeparatorArray[intElementNr]);
	if (strDateArray.length != 3) {
	err = 1;
	return false;
	}
	else {
	strDay = strDateArray[0];
	strMonth = strDateArray[1];
	strYear = strDateArray[2];
	}
	booFound = true;
	}
	}
	if (booFound == false) {
	if (strDate.length>5) {
	strDay = strDate.substr(0, 2);
	strMonth = strDate.substr(2, 2);
	strYear = strDate.substr(4);
	}
	}
	if (strYear.length == 2) {
	strYear = '20' + strYear;
	}
	// US style
	if (strDatestyle == "US") {
	strTemp = strDay;
	strDay = strMonth;
	strMonth = strTemp;
	}
	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
	err = 2;
	return false;
	}
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
	for (i = 0;i<12;i++) {
	if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
	intMonth = i+1;
	strMonth = strMonthArray[i];
	i = 12;
	}
	}
	if (isNaN(intMonth)) {
	err = 3;
	return false;
	}
	}
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
	err = 4;
	return false;
	}
	if (intMonth>12 || intMonth<1) {
	err = 5;
	return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
	err = 6;
	return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
	err = 7;
	return false;
	}
	if (intMonth == 2) {
	if (intday < 1) {
	err = 8;
	return false;
	}
	if (LeapYear(intYear) == true) {
	if (intday > 29) {
	err = 9;
	return false;
	}
	}
	else {
	if (intday > 28) {
	err = 10;
	return false;
	}
	}
	}
	/*
	if (strDatestyle == "US") {
	datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
	}
	else {
	datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	*/
	return true;
	}
	
	function LeapYear(intYear) {
	if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
	}
	else {
	if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
//****************************************************************
function doDateCheck(from, to) 
{
	if (Date.parse(from.value) <= Date.parse(to.value)) {
	alert("The dates are valid.");
	}
	else {
	if (from.value == "" || to.value == "") 
	alert("Both dates must be entered.");
	else 
	alert("To date must occur after the from date.");
	}
}
//****************************************************************
// IsNumeric Function to Validate Numeric Values
function IsNumeric(ControlName, Caption, Home)
{
	if (ControlName.value.length == 0 )
		return true;

	checkOK = "0123456789.";
	checkStr = ControlName.value ;
	allValid = true;
	decPoints = 0;
	
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			{
				if (ch == ".")
				{
					decPoints++;
				}
				break;
			}
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			/*if (ch == ".")
			{
				allNum += ".";
				decPoints++;
			}
			else
			allNum += ch;*/
	}
	if (!allValid)
	{
		if(Home)
		{
			ShowCAlert("Please enter only digits in " + Caption, Home);
		}
		else
		{
			alert("Please enter only digits in " + Caption);
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
  
	if (decPoints > 1)
	{
		if(Home)
		{
			ShowCAlert("Please enter a valid number in " + Caption, Home);
		}
		else
		{
			alert("Please enter a valid number in " + Caption );
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
	return true ;
}

//****************************************************************
// IsNumeric Function to Validate Numeric Values with comma
function IsNumericWithComma(ControlName, Caption, Home)
{
	if (ControlName.value.length == 0 )
		return true;

	checkOK = "0123456789.,";
	checkStr = ControlName.value ;
	allValid = true;
	decPoints = 0;
	
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			{
				if (ch == ".")
				{
					decPoints++;
				}
				break;
			}
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			/*if (ch == ".")
			{
				allNum += ".";
				decPoints++;
			}
			else
			allNum += ch;*/
	}
	if (!allValid)
	{
		if(Home)
		{
			ShowCAlert("Please enter only digits in " + Caption, Home);
		}
		else
		{
			alert("Please enter only digits in " + Caption);
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
  
	if (decPoints > 1)
	{
		if(Home)
		{
			ShowCAlert("Please enter a valid number in " + Caption, Home);
		}
		else
		{
			alert("Please enter a valid number in " + Caption );
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
	return true ;
}

//****************************************************************
function IsAplhaString(ControlName, Caption, Home)
{
	checkOK = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	checkStr = ControlName.value ;
	allValid = true;
	decPoints = 0;
	allNum = "";
  
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			if (ch == ".")
			{
				allNum += ".";
				decPoints++;
			}
			else
			allNum += ch;
	}
	if (!allValid)
	{
		if(Home)
		{
			ShowCAlert("Please enter only alpha string in " + Caption, Home);
		}
		else
		{
			alert("Please enter only alpha string in " + Caption );
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
  
	if (decPoints > 0)
	{
		if(Home)
		{
			ShowCAlert("Please enter a valid alpha string in " + Caption, Home);
		}
		else
		{
			alert("Please enter a valid alpha string in " + Caption );
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
	return true ;
}

//****************************************************************
function IsDelete(Home)
{
	if(Home)
	{
		if(	ShowCConfirm("Are you sure you want to delete this record" + Caption, Home) == "ok" )
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		if (confirm("Are you sure you want to delete this record")==true)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}
//****************************************************************
function IsMatchPassword(ControlName1,ControlName2, Home)
{
	
	if (ControlName1.value==ControlName2.value)
		return true;
	else 
	{
		if(Home)
		{
			ShowCAlert("The passwords do not match. Please re-enter the password", Home);
		}
		else
		{
			alert ("The passwords do not match. Please re-enter the password");
		}
		ControlName1.focus();
		ControlName1.select();
		return false ;
	}
}


//****************************************************************
// IsNumeric With Special Characters. Function to Validate Numeric Values
function IsNumericWithSpecChar(ControlName, Caption, Home)
{
	if (ControlName.value.length == 0 )
		return true;

	checkOK = "0123456789-() ";
	checkStr = ControlName.value ;
	allValid = true;
	decPoints = 0;
	allNum = "";  
	
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			if (ch == ".")
			{
				allNum += ".";
				decPoints++;
			}
			else
			allNum += ch;
	}
	if (!allValid)
	{
		if(Home)
		{
			ShowCAlert("Please enter only digits in " + Caption, Home);
		}
		else
		{
			alert("Please enter only digits in " + Caption);
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
  
	if (decPoints > 0)
	{
		if(Home)
		{
			ShowCAlert("Please enter a valid number in " + Caption, Home);
		}
		else
		{
			alert("Please enter a valid number in " + Caption );
		}
		ControlName.focus();
		ControlName.select();
		return (false);
	}
	return true ;
}

//****************************************************************

function ltrim(str)
{
	var i;
	for(i=0; i<str.length; i++)
	{
		if(str.charAt(i) != ' ')
			break;	
	}
	str = str.substring(i,str.length);
	return str;
}

//****************************************************************

function rtrim(str)
{
	var i;
	var spaceIndex = 0;
	var blnTrim = false;
	for(i=0; i<str.length; i++)
	{
		if(str.charAt(i) == ' ')
		{
			if(!blnTrim)
			{
				spaceIndex = i;
				blnTrim = true;
			}
		}
		else
		{
			blnTrim = false;
		}
	}
	
	if(blnTrim)
	{
		str = str.substring(0,spaceIndex);
	}
	return str;
}

//****************************************************************

function trim(str)
{
	return rtrim(ltrim(str));
}

//********** code for hiding combo boxes *************************

var contr = new Array();
		
	if (document.title == "AddOrder") 
	{
			contr[0] = "ddlStyle";
	}
	if (document.title == "EditOrder") 
	{
			contr[0] = "ddlStyle";
	}
	if (document.title == "Edit Order Detail") 
	{
			contr[0] = "ddlGSize";
	}
	if (document.title == "ListInventory") 
	{
			contr[0] = "ddlSearchList";
	}
	if (document.title == "ListContractor") 
	{
			contr[0] = "ddlSearchList";
	}


function hideCombo()
{
 try{
	for (i = 0; i < contr.length; i++)
	{
		document.getElementById(contr[i]).style.visibility = "hidden";
	}
  }catch(exception){}
}

function showCombo()
{
 try{
	for (i = 0; i < contr.length; i++)
	{
		//alert(document.getElementById(contr[i]).)
		document.getElementById(contr[i]).style.visibility = "visible";	  
	}
  }catch(exception){}
}

//****************************************************************
function IsValidEmail(ControlName, Caption, Home)
{
	if (trim(ControlName.value).length == 0 )
		return true;
	
	str=ControlName.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (filter.test(str))	
		return true;
	else 
	{
		if(Home)
		{
			ShowCAlert("Please enter a valid e-mail address in " + Caption, Home);
		}
		else
		{
			alert("Please enter a valid e-mail address in " + Caption );
		}
		ControlName.focus();
		ControlName.select();	
		return false;
	} 
}