﻿var txtState = null;
var txtKeywords = null;
var txtZipCode = null;
var aRemTradeCodes = null;
var ddlChapter = null;
var txtChapter = null;
var txtCompany = null;
var txtYearHidden = null;
var txtTradeCodesHidden = null;
var ddlFrom = null;
var ddlTo = null;
var chkAQCO = null;
var chkCP = null;
var chkSTEP = null;
var txtPhone = null;
var ddlState = null;

window.onload = pageLoaded;

document.documentElement.onkeyup =
    function(e)
    {
		if (!e) var e = window.event;
		
        var keycode;
        var targ;

        if (e.keyCode) keycode = e.keyCode;
        else if (e) keycode = e.which;
        
        if (e.target) targ = e.target;
        else if (e.srcElement) targ = e.srcElement;
        if (targ.nodeType == 3) targ = targ.parentNode; // safari bug

        if (keycode == 13 && targ.tagName.toLowerCase() != "select")
			Submit_Click();
    };

function txtKeywords_OnKeyUp(el, e)
{
	if (!e) var e = window.event;
	
	var keycode;
	if (e.keyCode) keycode = e.keyCode;
    else if (e) keycode = e.which;
    
	ajaxTerms(el, "55px", "15px", "430px");
}

function FormIsEmpty()
{
	LoadControls();
	
	if (txtKeywords.value.length == 0 || txtKeywords.value == "Enter keywords to search")
		if (txtState.value.length == 0)
			if (txtTradeCodesHidden.value.length == 0)
				if (txtCompany.value.length == 0 || txtCompany.value == "For all results, leave blank")
					if (txtZipCode.value.length == 0 || txtZipCode.value == "For all results, leave blank")
						return true;
					
	return false;
}
function State_Expand(sel, e)
{
	if (!e) var e = window.event;
	
	if (e.keyCode == 13 && sel.selectedIndex != 0)
	{
		State_Add(sel);
		sel.focus();
	}
}
function State_Click(sel)
{
	if (sel.selectedIndex != 0)
	{
		State_Add(sel);
	}
}
function pageLoaded()
{
    LoadControls();
    
    if (txtTradeCodesHidden.value != "")
    {
        var selected = new Array();
        selected = txtTradeCodesHidden.value.split(", ");
        
        txtKeywords.value = (selected.length) + " trade codes selected (" + ((txtYearHidden.value == "2005") ? "2004" : "1995") + ")";
        txtKeywords.disabled = "disabled";
        
        aRemTradeCodes.style.display = "inline";
    }
    
	GetChapters();
}
function getStates()
{
	LoadControls();
	
	return txtState.value;
}
function State_Add(ddl)
{
	LoadControls();
	
	if (ddl.value != "0")
	{	
		var selState = ddl.options[ddl.selectedIndex].text;
		
		if (txtState.value.toLowerCase().split(selState.toLowerCase()).length == 1 || 
				txtState.value.length == 0) //not in list
		{
			if (txtState.value.length > 0)
				selState += ", ";
				
			txtState.value = selState + txtState.value;
		}
	}
	
	ddl.value = "0";
	txtState.focus();
	
	GetChapters();
}
function Chapter_Expand(sel, e)
{
	if (!e) var e = window.event;
	
	if (e.keyCode == 13 && sel.selectedIndex != 0)
	{
		Chapter_Add(sel);
		sel.focus();
	}
}
function Chapter_Click(sel)
{
	if (sel.selectedIndex != 0)
	{
		Chapter_Add(sel);
	}
}
function Chapter_Add(ddl)
{
	LoadControls();
	
	if (ddl.value != "0")
	{	
		var selChapter = ddl.options[ddl.selectedIndex].text;
		
		if (txtChapter.value.toLowerCase().split(selChapter.toLowerCase()).length == 1 || 
				txtChapter.value.length == 0) //not in list
		{
			if (txtChapter.value.length > 0)
				selChapter += ", ";
				
			txtChapter.value = selChapter + txtChapter.value;
		}
	}
	
	ddl.value = "0";
	txtChapter.focus();
}
function RemoveTradeCodes()
{
	LoadControls();
	
	// call handler to remove session variables		
	Ajax_RunCode(root + "system/", 0);
	
	txtKeywords.disabled = '';
	txtKeywords.value = "";
	txtTradeCodesHidden.value = "";
	txtYearHidden.value = "";
	
	// focus/blur to make watermark show properly
	txtKeywords.focus();
	txtKeywords.blur();
	aRemTradeCodes.style.display = "none";
}
function GetChapters()
{
	LoadControls();
	
	var states = txtState.value;
	// get chapters from handler
	var chs = Ajax_String(root + 'system/utils/getchapters.ashx', "st=" + states, false).split("|");
	
	if (ddlChapter.options.length > 1)
	{
		for (i = ddlChapter.options.length - 1; i > 0; i--)
			ddlChapter.options[i] = null;
	}
	
	for (i = 0; i < chs.length; i++)
	{
		if (chs[i] != "")
		{
			var name = chs[i].split(";")[0];
			var val = chs[i].split(";")[1];
			ddlChapter.options[ddlChapter.options.length] = new Option(name, val);
		}
	}

	if (ddlChapter.options.length > 1)
	{
		ddlChapter.disabled = false;
		txtChapter.disabled = false;
	}
	else
	{
		ddlChapter.disabled = true;
		txtChapter.disabled = true;
	}
	
	SearchUse(txtState, 'state');
}

function selectVolume()
{
    LoadControls();
    
    if (ddlFrom.selectedIndex == 11) {
        ddlTo.disabled = 'disabled';
        ddlTo.selectedIndex = 11;
    } else {
        ddlTo.disabled = '';
    }
}

function selectLessThan()
{
    LoadControls();
    
    if (ddlTo.selectedIndex == 4) {
        ddlFrom.disabled = 'disabled';
        ddlFrom.selectedIndex = 4;
    } else {
        ddlFrom.disabled = '';
    }
}

function resetSearch()
{
    LoadControls();
    
    txtKeywords.value = "";
    txtState.value = "";
    txtChapter.value = "";
    txtCompany.value = "";
    txtTradeCodesHidden.value = "";
    txtYearHidden.value = "";
    
    aRemTradeCodes.style.display = "none";
    
    chkAQCO.checked = false;
    chkCP.checked = false;
    chkSTEP.checked = false;
    
    ddlFrom.selectedIndex = 0;
    ddlTo.selectedIndex = 0;
    
    txtKeywords.disabled = "";
    txtKeywords.focus();
    txtKeywords.blur();
    txtCompany.focus();
    txtCompany.blur();
    
    // clear session state
    Ajax_RunCode(root + "system/", 1);
}
function getStates()
{   LoadControls();
	return txtState.value; }
function getTrades()
{   LoadControls();
    return txtTradeCodesHidden.value; }
function getYear()
{   LoadControls();
    return txtYearHidden.value; }
    
function SearchUse(input, type)
{
	if (input.value.length > 0)
		DisableControls(true, type);
	else
		DisableControls(false, type);
}  
function DisableControls(disable, type)
{
	LoadControls();
	if (type.toLowerCase() != "state")
	{
		if (disable) txtState.value = "Please ONLY enter State OR Zip code OR Area code.";
		else txtState.value = "";
		
		txtState.disabled = disable;
		ddlState.disabled = disable;
	}
	if (type.toLowerCase() != "area") 
	{
		if (disable) txtPhone.value = "Please ONLY enter State OR Zip code OR Area code.";
		else txtPhone.value = "For all results, leave blank";
		
		txtPhone.disabled = disable;
	}
	if (type.toLowerCase() != "zip")
	{
		if (disable) txtZipCode.value = "Please ONLY enter State OR Zip code OR Area code."
		else txtZipCode.value = "For all results, leave blank";
		
		txtZipCode.disabled = disable;
	}
}
function limitSize(txt, e)
{
	var keyCode;
	if (!e) var e = window.event;
	if (e.keyCode) keyCode = e.keyCode;
	else if (e.which) keyCode = e.which;
	
	if (txt.value.length == 3 && keyCode >= 48 && keyCode <= 57)
		return false;
		
	return true;
}