// Functions  for Product Search

function createWhereList()
{

var atleastoneselected = false;
var whereListObj = document.PRODSRCHFRM.wherelist;
var searchListObj = document.PRODSRCHFRM.searchlist;
var formObj = document.PRODSRCHFRM;
searchListObj.value = "";
whereListObj.value = "";

if(formObj.CD_PROD.value != '')
{
    whereListObj.value = " i.CD_PROD='" + formObj.CD_PROD.value + "'";
	searchListObj.value = searchListObj.value + "Product Code = '" + formObj.CD_PROD.value +"'";
    atleastoneselected = true;
}
if(formObj.TXT_PROD_DESC.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value= searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + " (UPPER(TXT_PROD_DESC) LIKE UPPER('%" + formObj.TXT_PROD_DESC.value +"%'))";
	searchListObj.value= searchListObj.value + "Product Description Like '" + formObj.TXT_PROD_DESC.value +"'";
}
if(formObj.CD_UPC.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value= searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + " (UPPER(CD_UPC) LIKE UPPER('%" + formObj.CD_UPC.value +"%'))";
	searchListObj.value= searchListObj.value + "Sales Unit UPC Like '" + formObj.CD_UPC.value +"'";
}
if(formObj.CD_UCC.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value= searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + " (UPPER(CD_UCC) LIKE UPPER('%" + formObj.CD_UCC.value +"%'))";
	searchListObj.value = searchListObj.value + "Case UPC Like '" + formObj.CD_UCC.value +"'";
}
if(formObj.CD_NSN.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value= searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + " (UPPER(CD_NSN) LIKE UPPER('%" + formObj.CD_NSN.value +"%'))";
	searchListObj.value= searchListObj.value + "Govt. Nat'l Stock Number Like '" + formObj.CD_NSN.value +"'";
}
if(formObj.TXT_DESC_EXT_PROD.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value= searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + "(UPPER(TXT_DESC_EXT_PROD) LIKE UPPER('%" + formObj.TXT_DESC_EXT_PROD.value +"%'))";
	searchListObj.value= searchListObj.value + "Key Word Search Like '" + formObj.TXT_DESC_EXT_PROD.value +"'";  
}

if ((formObj.CD_UPC.value != '') && (formObj.CD_UPC.value.length < 5))
{
	alert('Please enter atleast 5 digits of the Sales Unit UPC!');
	return false;
}

if(atleastoneselected == true)
{
    formObj.submit();
}
else
{
	alert("Please enter a value for at least one search field!");
	return false;
}
}

// Functions  for Cross Reference Search

function createWhereListXref(form)
{
var atleastoneselected = false;
var whereListObj = form.wherelist;
var searchListObj = form.searchlist;
whereListObj.value = "";
searchListObj.value = "";
if(form.TXT_XREF_BRAND.value == '')
{
    alert('Please enter a value for Competitor!'); 
    return false;  
}
else
{
    whereListObj.value = "(TXT_XREF_BRAND = '" + form.TXT_XREF_BRAND.options[form.TXT_XREF_BRAND.selectedIndex].value + "')";
	searchListObj.value = searchListObj.value + "Competitor = '" + form.TXT_XREF_BRAND.options[form.TXT_XREF_BRAND.selectedIndex].value +"'";
    atleastoneselected = true;
}
if(form.CD_XREF_SKU.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value = searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + "(CD_XREF_SKU = '" + form.CD_XREF_SKU.value +"')";
	searchListObj.value = searchListObj.value + "Competitors Product Code = '" + form.CD_XREF_SKU.value +"'";
}
if(form.TXT_XREF_DESC.value != '')
{
    atleastoneselected = true;
	if(whereListObj.value != '')
	{
		searchListObj.value = searchListObj.value + " AND ";
		whereListObj.value = whereListObj.value + " AND ";
	}
	whereListObj.value = whereListObj.value + "(UPPER(TXT_XREF_DESC) LIKE UPPER('%" + form.TXT_XREF_DESC.value +"%'))";
	searchListObj.value = searchListObj.value + "Competitors Product Description Like '" + form.TXT_XREF_DESC.value +"'"; 
}

if ((form.TXT_XREF_DESC.value != '') && (form.TXT_XREF_DESC.value.length < 3))
{
	alert('Please enter atleast 3 digits of the Competitors Product Description!');
	return false;
}

if(atleastoneselected == true)
{
    form.submit();
}

}

//PARAMETRIC SEARCH functions
function ChangeOperand2(operand_el, secondlist_el) 
{ 
	if (operand_el.options[operand_el.selectedIndex].value == "Between") 
		secondlist_el.disabled = false; 
	else secondlist_el.disabled = true; 
} 

function ChangeCriteriaElem (Criteria_el, Criteria2_el, Select_el, Select2_el, Operand_el, Selected_el, Parametric_el) 
{ 
	Criteria_el.value=Select_el.options[Select_el.selectedIndex].value; Criteria2_el.value=Select2_el.options[Select2_el.selectedIndex].value; 
	if (Operand_el.options[Operand_el.selectedIndex].value == 'Between') 
	{ 
		if ((Select_el.selectedIndex == 0) || (Select2_el.selectedIndex == 0)) 
			return "nosubmit"; 
	} 
	
	Selected_el.value="TRUE"; 
	Parametric_el.value=Parametric_el.checked; 
	if (Parametric_el.checked) 
		return "submit"; 
	else 
		return "nosubmit"; 
}

function ChangeCriteria2(form_frm, crittype_val) 
 { 
	var submitflag="nosubmit";
        //ClearValues(form_frm, crittype_val);
	switch (crittype_val) 
	{   
		case 'txt_desc_ctgy_prod': 
			submitflag=ChangeCriteriaElem(form_frm.txt_desc_ctgy_prodCriteria, form_frm.txt_desc_ctgy_prodCriteria2, form_frm.txt_desc_ctgy_prodSelect, form_frm.txt_desc_ctgy_prodSelect2, form_frm.txt_desc_ctgy_prodOperand, form_frm.txt_desc_ctgy_prodSelected, form_frm.pmetric); 
			break; 
		case 'cd_shap_blb': 
			submitflag=ChangeCriteriaElem(form_frm.cd_shap_blbCriteria, form_frm.cd_shap_blbCriteria2, form_frm.cd_shap_blbSelect, form_frm.cd_shap_blbSelect2, form_frm.cd_shap_blbOperand, form_frm.cd_shap_blbSelected, form_frm.pmetric); 
			break; 
		case 'cd_sz_blb': 
			submitflag=ChangeCriteriaElem(form_frm.cd_sz_blbCriteria, form_frm.cd_sz_blbCriteria2, form_frm.cd_sz_blbSelect, form_frm.cd_sz_blbSelect2, form_frm.cd_sz_blbOperand, form_frm.cd_sz_blbSelected, form_frm.pmetric); 
			break; 
		case 'cd_typ_base': 
			submitflag=ChangeCriteriaElem(form_frm.cd_typ_baseCriteria, form_frm.cd_typ_baseCriteria2, form_frm.cd_typ_baseSelect, form_frm.cd_typ_baseSelect2, form_frm.cd_typ_baseOperand, form_frm.cd_typ_baseSelected, form_frm.pmetric); 
			break; 
		case 'watts': 
			submitflag=ChangeCriteriaElem(form_frm.wattsCriteria, form_frm.wattsCriteria2, form_frm.wattsSelect, form_frm.wattsSelect2, form_frm.wattsOperand, form_frm.wattsSelected, form_frm.pmetric); 
			break; 
		case 'avglife': 
			submitflag=ChangeCriteriaElem(form_frm.avglifeCriteria, form_frm.avglifeCriteria2, form_frm.avglifeSelect, form_frm.avglifeSelect2, form_frm.avglifeOperand, form_frm.avglifeSelected, form_frm.pmetric); 
			break; 
		case 'volts': 
			submitflag=ChangeCriteriaElem(form_frm.voltsCriteria, form_frm.voltsCriteria2, form_frm.voltsSelect, form_frm.voltsSelect2, form_frm.voltsOperand, form_frm.voltsSelected, form_frm.pmetric); 
			break; 
		case 'case': 
			submitflag=ChangeCriteriaElem(form_frm.caseCriteria, form_frm.caseCriteria2, form_frm.caseSelect, form_frm.caseSelect2, form_frm.caseOperand, form_frm.caseSelected, form_frm.pmetric); 
			break; 
		case 'qty_lmn_mn': 
			submitflag=ChangeCriteriaElem(form_frm.qty_lmn_mnCriteria, form_frm.qty_lmn_mnCriteria2, form_frm.qty_lmn_mnSelect, form_frm.qty_lmn_mnSelect2, form_frm.qty_lmn_mnOperand, form_frm.qty_lmn_mnSelected, form_frm.pmetric); 
			break; 
		case 'qty_lnth_ovr_max': 
			submitflag=ChangeCriteriaElem(form_frm.qty_lnth_ovr_maxCriteria, form_frm.qty_lnth_ovr_maxCriteria2, form_frm.qty_lnth_ovr_maxSelect, form_frm.qty_lnth_ovr_maxSelect2, form_frm.qty_lnth_ovr_maxOperand, form_frm.qty_lnth_ovr_maxSelected, form_frm.pmetric); 
			break; 
		case 'qty_lnth_noml': 
			submitflag=ChangeCriteriaElem(form_frm.qty_lnth_nomlCriteria, form_frm.qty_lnth_nomlCriteria2, form_frm.qty_lnth_nomlSelect, form_frm.qty_lnth_nomlSelect2, form_frm.qty_lnth_nomlOperand, form_frm.qty_lnth_nomlSelected, form_frm.pmetric); 
			break; 
		case 'qty_lmn_init': 
			submitflag=ChangeCriteriaElem(form_frm.qty_lmn_initCriteria, form_frm.qty_lmn_initCriteria2, form_frm.qty_lmn_initSelect, form_frm.qty_lmn_initSelect2, form_frm.qty_lmn_initOperand, form_frm.qty_lmn_initSelected, form_frm.pmetric); 
			break; 
		default: 
			alert('Default alert'); 
			break; 
	} 
	if (submitflag=="submit") 
	{ 
		CreateWhereClause2(form_frm); 
                form_frm.method="POST";  
		form_frm.action='./Dispatcher?REQUEST=SEARCH'; 
		form_frm.mode.value="search"; 
		form_frm.submit(); 
	} 
}

function CreateWhereClauseElem(Select_el, WhereClause_el, Operand_el, Criteria_el, Criteria2_el, Column_val, ColType_val) 
{	
	var operand_val;
	if (Select_el.value == "TRUE") 
	{ 
		if (Operand_el.type == "hidden") operand_val = Operand_el.value; 
		else operand_val = Operand_el.options[Operand_el.selectedIndex].value; 
		if (ColType_val == "string") 
		{ 
			if (WhereClause_el.value != "") WhereClause_el.value = WhereClause_el.value + ' and '; 
			if (operand_val == 'Between') WhereClause_el.value = WhereClause_el.value + "(" + Column_val + " between '" + Criteria_el.value + "' and '" + Criteria2_el.value + "')"; 
			else WhereClause_el.value = WhereClause_el.value + "(" + Column_val + operand_val + "'" + Criteria_el.value + "')"; } 
			else 
			{ 
				if (WhereClause_el.value != "") WhereClause_el.value = WhereClause_el.value + ' and '; 
				if (operand_val == 'Between') WhereClause_el.value = WhereClause_el.value + "(" + Column_val + " between " + Criteria_el.value + " and " + Criteria2_el.value + ")"; 
				else WhereClause_el.value = WhereClause_el.value + "(" + Column_val + operand_val + Criteria_el.value + ")"; } } 
}

function CreateWhereClause2(form_frm) 
{ 
	form_frm.wherelist.value = ""; 
	CreateWhereClauseElem(form_frm.txt_desc_ctgy_prodSelected, form_frm.wherelist, form_frm.txt_desc_ctgy_prodOperand, form_frm.txt_desc_ctgy_prodCriteria, form_frm.txt_desc_ctgy_prodCriteria2, 'TXT_DESC_CTGY_PROD', 'string');   
	CreateWhereClauseElem(form_frm.cd_shap_blbSelected, form_frm.wherelist, form_frm.cd_shap_blbOperand, form_frm.cd_shap_blbCriteria, form_frm.cd_shap_blbCriteria2, 'CD_SHAP_BLB', 'string');   
	CreateWhereClauseElem(form_frm.cd_sz_blbSelected, form_frm.wherelist, form_frm.cd_sz_blbOperand, form_frm.cd_sz_blbCriteria, form_frm.cd_sz_blbCriteria2, 'CD_SZ_BLB', 'string');   
	CreateWhereClauseElem(form_frm.cd_typ_baseSelected, form_frm.wherelist, form_frm.cd_typ_baseOperand, form_frm.cd_typ_baseCriteria, form_frm.cd_typ_baseCriteria2, 'CD_TYP_BASE', 'string');   
	CreateWhereClauseElem(form_frm.wattsSelected, form_frm.wherelist, form_frm.wattsOperand, form_frm.wattsCriteria, form_frm.wattsCriteria2, 'QTY_WAT_LMP', 'number');   
	CreateWhereClauseElem(form_frm.avglifeSelected, form_frm.wherelist, form_frm.avglifeOperand, form_frm.avglifeCriteria, form_frm.avglifeCriteria2, 'QTY_LIFE_AVE', 'number');   
	CreateWhereClauseElem(form_frm.voltsSelected, form_frm.wherelist, form_frm.voltsOperand, form_frm.voltsCriteria, form_frm.voltsCriteria2, 'QTY_PROD_VOLTS', 'number');   
	CreateWhereClauseElem(form_frm.caseSelected, form_frm.wherelist, form_frm.caseOperand, form_frm.caseCriteria, form_frm.caseCriteria2, 'QTY_EQV_CASE', 'number');   
	CreateWhereClauseElem(form_frm.qty_lmn_mnSelected, form_frm.wherelist, form_frm.qty_lmn_mnOperand, form_frm.qty_lmn_mnCriteria, form_frm.qty_lmn_mnCriteria2, 'QTY_LMN_MN', 'number');   
	CreateWhereClauseElem(form_frm.qty_lnth_ovr_maxSelected, form_frm.wherelist, form_frm.qty_lnth_ovr_maxOperand, form_frm.qty_lnth_ovr_maxCriteria, form_frm.qty_lnth_ovr_maxCriteria2, 'QTY_LNTH_OVR_MAX', 'number');   
	CreateWhereClauseElem(form_frm.qty_lnth_nomlSelected, form_frm.wherelist, form_frm.qty_lnth_nomlOperand, form_frm.qty_lnth_nomlCriteria, form_frm.qty_lnth_nomlCriteria2, 'QTY_LNTH_NOML', 'number');   
	CreateWhereClauseElem(form_frm.qty_lmn_initSelected, form_frm.wherelist, form_frm.qty_lmn_initOperand, form_frm.qty_lmn_initCriteria, form_frm.qty_lmn_initCriteria2, 'QTY_LMN_INIT', 'number');   
}

function CreateDescClauseElem(Select_el, SearchClause_el, Operand_el, Criteria_el, Criteria2_el, ColDesc_val) 
{ 
	var operand_val; 
	if (Select_el.value == "TRUE") 
	{ 
		if (Operand_el.type == "hidden") operand_val = Operand_el.value; 
		else operand_val = Operand_el.options[Operand_el.selectedIndex].value; 
		if (SearchClause_el.value != "") SearchClause_el.value = SearchClause_el.value + ' and '; 
		if (operand_val == 'Between') SearchClause_el.value = SearchClause_el.value + ColDesc_val + " is between '" + Criteria_el.value + "' and '" + Criteria2_el.value + "'"; 
		else SearchClause_el.value = SearchClause_el.value + ColDesc_val + " " + operand_val + " '" + Criteria_el.value + "'"; } 
} 

function CreateDescClause2(form_frm) 
{ 
	form_frm.searchlist.value = ""; 
	CreateDescClauseElem(form_frm.txt_desc_ctgy_prodSelected, form_frm.searchlist, form_frm.txt_desc_ctgy_prodOperand, form_frm.txt_desc_ctgy_prodCriteria, form_frm.txt_desc_ctgy_prodCriteria2, 'Product Line');  
	CreateDescClauseElem(form_frm.cd_shap_blbSelected, form_frm.searchlist, form_frm.cd_shap_blbOperand, form_frm.cd_shap_blbCriteria, form_frm.cd_shap_blbCriteria2, 'Bulb Shape');  
	CreateDescClauseElem(form_frm.cd_sz_blbSelected, form_frm.searchlist, form_frm.cd_sz_blbOperand, form_frm.cd_sz_blbCriteria, form_frm.cd_sz_blbCriteria2, 'Bulb Size');  
	CreateDescClauseElem(form_frm.cd_typ_baseSelected, form_frm.searchlist, form_frm.cd_typ_baseOperand, form_frm.cd_typ_baseCriteria, form_frm.cd_typ_baseCriteria2, 'Base Type');  
	CreateDescClauseElem(form_frm.wattsSelected, form_frm.searchlist, form_frm.wattsOperand, form_frm.wattsCriteria, form_frm.wattsCriteria2, 'Watts');  
	CreateDescClauseElem(form_frm.avglifeSelected, form_frm.searchlist, form_frm.avglifeOperand, form_frm.avglifeCriteria, form_frm.avglifeCriteria2, 'Average Life');  
	CreateDescClauseElem(form_frm.voltsSelected, form_frm.searchlist, form_frm.voltsOperand, form_frm.voltsCriteria, form_frm.voltsCriteria2, 'Volts');  
	CreateDescClauseElem(form_frm.caseSelected, form_frm.searchlist, form_frm.caseOperand, form_frm.caseCriteria, form_frm.caseCriteria2, 'Case Quantity');  
	CreateDescClauseElem(form_frm.qty_lmn_mnSelected, form_frm.searchlist, form_frm.qty_lmn_mnOperand, form_frm.qty_lmn_mnCriteria, form_frm.qty_lmn_mnCriteria2, 'Mean Lumens');  
	CreateDescClauseElem(form_frm.qty_lnth_ovr_maxSelected, form_frm.searchlist, form_frm.qty_lnth_ovr_maxOperand, form_frm.qty_lnth_ovr_maxCriteria, form_frm.qty_lnth_ovr_maxCriteria2, 'Max. Overall Length');  
	CreateDescClauseElem(form_frm.qty_lnth_nomlSelected, form_frm.searchlist, form_frm.qty_lnth_nomlOperand, form_frm.qty_lnth_nomlCriteria, form_frm.qty_lnth_nomlCriteria2, 'Nominal Length');  
	CreateDescClauseElem(form_frm.qty_lmn_initSelected, form_frm.searchlist, form_frm.qty_lmn_initOperand, form_frm.qty_lmn_initCriteria, form_frm.qty_lmn_initCriteria2, 'Initial Lumens');  
} 

function ClearValues(form_frm,crittype_val,dropdown)
{
if(dropdown.options[dropdown.selectedIndex].value == "")
    {
        JustClearCriteria(form_frm,crittype_val);
    }
}

function JustClearCriteria(form_frm,crittype_val)
{
switch (crittype_val) 
	{   
	case 'txt_desc_ctgy_prod': 
		form_frm.txt_desc_ctgy_prodSelected.value="FALSE"; 
		break; 
	case 'cd_shap_blb': 
		form_frm.cd_shap_blbSelected.value="FALSE"; 
		break; 
	case 'cd_sz_blb': 
		form_frm.cd_sz_blbSelected.value="FALSE"; 
		break; 
	case 'cd_typ_base': 
		form_frm.cd_typ_baseSelected.value="FALSE"; 
		break; 
	case 'watts': 
		form_frm.wattsSelected.value="FALSE"; 
		break; 
	case 'avglife': 
		form_frm.avglifeSelected.value="FALSE"; 
		break; 
	case 'volts': 
		form_frm.voltsSelected.value="FALSE"; 
		break; 
	case 'case': 
		form_frm.caseSelected.value="FALSE"; 
		break; 
	case 'qty_lmn_mn': 
		form_frm.qty_lmn_mnSelected.value="FALSE"; 
		break; 
	case 'qty_lnth_ovr_max': 
		form_frm.qty_lnth_ovr_maxSelected.value="FALSE"; 
		break; 
	case 'qty_lnth_noml': 
		form_frm.qty_lnth_nomlSelected.value="FALSE"; 
		break; 
	case 'qty_lmn_init': 
		form_frm.qty_lmn_initSelected.value="FALSE"; 
		break; 
	default: 
		alert('Default clear criteria alert'); 
		break; 
	} 
}

function ClearCriteria2(form_frm, crittype_val) 
{ 
	JustClearCriteria(form_frm,crittype_val)
	CreateWhereClause2(form_frm); 
	form_frm.method="POST";  
	form_frm.action='./Dispatcher?REQUEST=SEARCH';  
	form_frm.mode.value="search"; 
	form_frm.submit(); 
}

function setParametricCookie(form_frm) 
{ 
	var nextyear = new Date(); 
	nextyear.setFullYear(nextyear.getFullYear() + 1); 
	if (form_frm.pmetric.checked) 
	{ 
		document.cookie="cookieparametric=true; expires=" + nextyear.toGMTString(); 
	} 
	else 
	{ 
		document.cookie="cookieparametric=false; expires=" + nextyear.toGMTString(); 
	} 
} 

function SearchValidate2(form) 
{ 
	CreateWhereClause2(form); 
	CreateDescClause2(form);
	form.method="POST"; 
	if (form.wherelist.value == "") 
	{ 
		alert('Please select at least one criteria!'); 
		return false; 
	} 
	else 
	{ 
		form.submit();
                return true; 
	}  
}