﻿function cpqsLoadQuestions(qs) 
{
	cpqsExtractForm();
	ajaxpage('/questions.aspx?c='+qs+'&r='+_DRID, 'dynamiccontrols');
}

function cpqsLoadValue(fieldName, value) 
{
	var control = document.getElementById(fieldName);

	var fieldType = control.type;

	switch (fieldType) {
		case "select-one" :
			for(i = 0; i < control.length; i++)
			{
				if(control[i].value == value)
				   control.selectedIndex = i;
			}
			break;

		case "select-multiple" :
			//Not yet implemented
			break;

		case "text" :
			control.value = value; 
			break;

		default :
  				//Do nothing!
	} 


}

var cpqsIsFirstLoad = true;
function DynamicPageLoadEvent() 
{
	if (cpqsIsFirstLoad) 
	{
		try 
		{
			cpqsInitValue();
		} catch (e) {}

		cpqsIsFirstLoad = false;
	}
	else
		cpqsRestoreForm();

}

var cpqsFormValues = new Array();
function cpqsExtractForm()
{
	cpqsFormValues = new Array();

	var index = 0;
	var boundForm = document.forms[0];

	for (var i=0; i < boundForm.elements.length; i++) {

		var fieldName = boundForm.elements[i].id;

		if ((fieldName.length > 3)&&(fieldName.substr(0, 3) == "ucQ"))
		{
			cpqsFormValues[index] = new Array();
			cpqsFormValues[index][0] = fieldName;
			cpqsFormValues[index][1] = new Array();

			var fieldType = boundForm.elements[i].type;
			var control = boundForm.elements[i];

			switch (fieldType) {
	   			case "select-one" :
	   				cpqsFormValues[index][1][0] = control.options[control.selectedIndex].value; 
					index++;
					break;

	   			case "select-multiple" :
	   				var valueIndex = 0;
					for(var c=0; c < control.length; c++) 
						if (control.options[c].selected)
						{
							cpqsFormValues[index][1][valueIndex] = control.options[c].value;
							valueIndex++;
						}
					index++;
					break;

	   			case "text" :
	   				cpqsFormValues[index][1][0] = control.value; 
					index++;
					break;

	   			default :
	      				//Do nothing!
			} 

		}

	}
	
}

function cpqsRestoreForm() 
{
	for (var i=0; i < cpqsFormValues.length; i++) {

		var fieldName = cpqsFormValues[i][0];

		var control = document.getElementById(fieldName);

		if (control != null)
		{
			var fieldType = control.type;

			switch (fieldType) {
	   			case "select-one" :
					for(var c=0; c < control.length; c++) 
						if (cpqsFormValues[i][1][0] == control.options[c].value)
							control.options[c].selected = true;
					break;

	   			case "select-multiple" :
	   				var valueIndex = 0;
					for(var c1=0; c1 < cpqsFormValues[i][1].length; c1++) 
						for(var c2=0; c2 < control.length; c2++) 
							if (cpqsFormValues[i][1][c1] == control.options[c2].value)
								control.options[c2].selected = true;
					break;

	   			case "text" :
	   				control.value = cpqsFormValues[i][1][0]; 
					break;

	   			default :
	      				//Do nothing!
			} 

		}

	}

}

