/*
Date Created : 22nd May 2003
Function : DBQueryConstructor
Input :
strFormName - form name
strTypeByPass - a list of form element type like button, hidden field to by pass
strTypeGreaterThanEqual - a list of field to assign with '>='
strTypeLessThanEqual  - a list of field to assign with '<='

Output:
return query
*/
function DBQueryConstructor(strFormName, strTypeByPass, strTypeGreaterThanEqual, strTypeLessThanEqual){
	var objForm	= eval("document." + strFormName);
	var lngLength = objForm.length;
	var strFieldValue;
	var strFieldValue;
	var strFieldType;
	var strEmptyValue;
	var strSQL = "";
	var strQuery;
	var varDBType;
	var arrFieldName;
	var strDBFieldName;
	var strFieldName1;
	var strFieldName;
	
	for (var i=0; i < lngLength; ++i)
	{
		strFieldType 	= objForm.elements[i].type;
		strFieldName	= objForm.elements[i].name;
		strFieldValue	= objForm.elements[i].value;
		
		strEmptyValue	=	GetEmptyValueFormElementType(strFieldType);
		
		if (strFieldValue != strEmptyValue && strFieldValue != null && strFieldValue != ""){
			if (!CheckExistsElement(strTypeByPass, strFieldType)){
				arrFieldName	=	_Split(strFieldName, "_")
				varDBType		=	arrFieldName[1];
				strDBFieldName	=	arrFieldName[0];
				
				if (CheckExistsElement(strTypeGreaterThanEqual, strDBFieldName)){
					strFieldName1 = eval("objForm." + strDBFieldName + "1_" + varDBType + ".value");
					if (strFieldName1 != ""){
						strQuery	=	strDBFieldName + " >= " + strFieldValue;
					}else{
						strQuery	=	strDBFieldName + " like '%" + strFieldValue + "%'";
					}
				}
				else if (CheckExistsElement(strTypeLessThanEqual, strDBFieldName)){
					strFieldName = eval("objForm." + strDBFieldName.substring(0, strDBFieldName.length-1) + "_" + varDBType + ".value");
					if (strFieldName != ""){
						strQuery	=	strDBFieldName + " <= " + strFieldValue;
					}else{
						strQuery	=	strDBFieldName + " like '%" + strFieldValue + "%'";
					}
				}
				else if ( varDBType  == "int" ){
					strQuery	=	strDBFieldName + " = " + strFieldValue;
				}
				else{
					strQuery	=	strDBFieldName + " like '%" + strFieldValue + "%'";
				}
				
				if (strSQL == "")
				{
					strSQL = strQuery;
				}
				else
				{
					strSQL = strSQL + " and " + strQuery;
				}
			}
		}
		
	}
	return strSQL;
}

