   
function InitSPSearch(strMeasureFieldID, strSearchButtonID, strZip, strProgramID, strMeasureID) {
    ChangeSPZip(strSearchButtonID, strZip, strProgramID);
    ChangeSPProgram(strMeasureFieldID, strSearchButtonID, strZip, strProgramID, strMeasureID);
    ChangeSPMeasure(strSearchButtonID, strZip, strProgramID, strMeasureID);
    ChangeSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID); 
    
}  

function ChangeSPZipCheck(strSearchButtonID, strZip, strProgramID) {
    ChangeSPZip(strSearchButtonID, strZip, strProgramID);
}

function ChangeSPZip(strSearchButtonID, strZip, strProgramID) {
    var args = GetHashSPArgs();	
    LoadSearchButton(strSearchButtonID, strZip, strProgramID, args.msr);
}

function ChangeSPProgram(strMeasureFieldID, strSearchButtonID, strZip, strProgramID, strMeasureID) {
	LoadMeasureList(strMeasureFieldID, strSearchButtonID, strZip, strProgramID, strMeasureID);
    LoadSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID);
	ChangeSPHash(strMeasureID); 
}

function ChangeSPMeasure(strSearchButtonID, strZip, strProgramID, strMeasureID) {
    LoadSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID);
    ChangeSPHash(strMeasureID);
}

function ChangeSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID) {
    LoadSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID);
	ChangeSPHash(strMeasureID); 
}

function ChangeSPHash(strMeasureID) {
    if (strMeasureID != "") { 
	    window.location.hash = "" + strMeasureID;
    } 
}

function LoadMeasureList(strMeasureFieldID, strSearchButtonID, strZip, strProgramID, strMeasureID) {
	var strURL = '/Controls/SPLookupGenerators/MeasureListGenerator.aspx';
	var strParams = GetAjaxSPParams(strZip, strProgramID, strMeasureID, strSearchButtonID);
	$("#" + strMeasureFieldID).load(encodeURI(strURL + "?" + strParams));
}

function LoadSearchButton(strSearchButtonID, strZip, strProgramID, strMeasureID) {
	var strURL = '/Controls/SPLookupGenerators/SPSearchButtonGenerator.aspx';
	var strParams = GetAjaxSPParams(strZip, strProgramID, strMeasureID, strSearchButtonID);
	$("#" + strSearchButtonID).load(encodeURI(strURL + "?" + strParams));
}

function GetAjaxSPParams(strZip, strProgramID, strMeasureID, strSearchButtonID) {
    var strParams = '';
    if (strZip != '') {
        strParams += 'z=' + strZip;
    } 
    if (strProgramID != '') {
        if (strParams != '') strParams += "&"; 
        strParams += 'p=' + strProgramID;
    } 
    if (strMeasureID != '') {
        if (strParams != '') strParams += "&"; 
        strParams += 'm=' + strMeasureID;
    } 
    if (strSearchButtonID != '') {
        if (strParams != '') strParams += "&"; 
        strParams += 'sbid=' + strSearchButtonID;
    } 

    return strParams;
}

function GetHashSPArgs() {

	var args = new Object();
	args['msr'] = '';
//	args['zip'] = '';
//	args['pgm'] = '';
	
	var hash = window.location.hash.replace('#', '');
	var params = hash.split("/");
	
	if (params[0]) args['msr'] = unescape(params[0]);
//	if (params[1]) args['zip'] = unescape(params[1]);
//	if (params[2]) args['pgm'] = unescape(params[2]);

	return args;
}



