
 function GetQueryString(settings) {
    var queryString;
    queryString = "ID=" + settings.ID;
    queryString = "DisplayColumn=" + settings.DisplayColumn;
    queryString += "&ValueColumn=" + settings.ValueColumn;
    queryString += "&DataTable=" + settings.DataTable;
    queryString += "&KeyColumn=" + settings.KeyColumn;
    queryString += "&ChildControl=" + settings.ChildControl;
    queryString += "&UnselectedText=" + settings.UnselectedText;
    queryString += "&UnselectedValue=" + settings.UnselectedValue;
    queryString += "&NoDataText=" + settings.NoDataText;
    queryString += "&NoDataValue=" + settings.NoDataValue;
    queryString += "&Parameter=" + settings.Parameter;
    queryString += "&FilterValue=" + settings.FilterValue;
    queryString += "&GlobalFilterValue=" + GlobalFilter;
    queryString += "&DdlMode=" + settings.DdlMode;
    queryString += "&DspMode=" + settings.DspMode;
    queryString += "&FilterMode=" + settings.FilterMode; 

    return queryString;
  }


function getRowValue(row){
	var slice = row.indexOf('~');
	return row.substring(0, slice);
}
function getRowDisplay(row){
	var slice = row.indexOf('~');
	return row.substring(slice+1);
}


function AddRowDataToSelect(settings, oSelect, index, row){
	var slice = row.indexOf('~');
	AddItemToSelect(settings, oSelect, index, row.substring(0, slice), row.substring(slice+1));
}


function AddItemToSelect(settings, oSelect, index, value, display){
	oSelect.options[index] = new Option(display, value, false, false);
	
	if (value == settings.SelectedValue)
		oSelect.value = value;
}



function AddListItemToSelect(oSelect, value, display){
	var len = oSelect.options.length;
	oSelect.options[len] = new Option(display, value, false, false);
}

function GetDataTableFromString(text){
	var rows = text.split("|");

	for(i = 0; i <= rows.length-1; i++)
	{
		var columns = rows[i].split("~");
		rows[i] = columns;
	}
	return rows;
}

 /* this will be obsolete */ 
function ProcessCurrentDisplayMode(dspMode, dspModeDat, settings){
	var ElementOff = dspModeDat[dspMode][0];
	var ElementOn = dspModeDat[dspMode][1];
	settings.UnselectedText = dspModeDat[dspMode][2];
	settings.UnselectedValue = dspModeDat[dspMode][3];
	settings.NoDataValue = dspModeDat[dspMode][4];
	settings.NoDataText = dspModeDat[dspMode][5];

	if (ElementOff.length != 0){
		ChangeVisibiliy(ElementOff, 'none')
	}

	if (ElementOn.length != 0){
		ChangeVisibiliy(ElementOn, '')
	}
}
  
// new function to replace above
function ProcessDisplayMode(ddlMode, dspMode, dspModeDat, frmElement){
	if (dspMode != null && dspMode.length != 0){
		var curChar;
		var curDatIndex;
		var oElement;
		var maxDat = dspModeDat.length;

		oElement = document.getElementById(frmElement + '_ddlMode'); 
		if (oElement != null)
			oElement.value = ddlMode;

		oElement = document.getElementById(frmElement + '_dspMode'); 
		if (oElement != null)
			oElement.value = dspMode;

		for (var i = 0; i < dspMode.length; i++){
			curChar = dspMode.substring(i, (i+1));
			curDatIndex = (i*2);

			if (curDatIndex < (maxDat-1)){
				if (curChar == "1"){
					ChangeVisibiliy(dspModeDat[curDatIndex], '')
					ChangeVisibiliy(dspModeDat[(curDatIndex+1)], 'none')
				}else{
					ChangeVisibiliy(dspModeDat[curDatIndex], 'none')
					ChangeVisibiliy(dspModeDat[(curDatIndex+1)], '')
				}
			}
		}
	}
}

  
function ChangeVisibiliy(element, newstate){
	var oElement;
	var arElementName = element.split(',');
	
		for (var i=0; i<arElementName.length; i++)
		{
			oElement = document.getElementById(arElementName[i]); 
			if (oElement != null)
				oElement.style.display = newstate;
		}
}

//returns a comma seperated list of the values selected in a list type control
function getSelections(ctrl)
{
    var commaSeperatedList = '';

    //loop through all the options in the select
    for(var i = 0 ; i < ctrl.length ; i++)
    {
        if (ctrl.options[i].selected == true)
        {
            commaSeperatedList += ctrl.options[i].value + ',';
        }
    }

    if (commaSeperatedList.length > 0)
    {
        //trim off the last comma
        commaSeperatedList = commaSeperatedList.substring(0, commaSeperatedList.length - 1);
    }

    return commaSeperatedList;
}

//looks for a string in a comma delimited string
function Find(commaDelimitedString, stringToFind)
{
	  if (stringToFind == null)
        return false;
    
    return commaDelimitedString.toUpperCase().indexOf(stringToFind.toUpperCase()) > -1;
       
    

	//var array = commaDelimitedString.split(',');
	//if (array.length > 0)
	//	for (var x in array)
	//	{
	//		if (array[x].toUpperCase() == stringToFind.toUpperCase())
	//		{
	//			return true;
	//		}
	//	}
	
	//return false;
}
