/*function createRequestObject() {
    var XMLHttpRequestObject;
    var browser = navigator.appName;
  if(browser == "Microsoft Internet Explorer"){

        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

    }else{

        XMLHttpRequestObject = new XMLHttpRequest();

    }
    return XMLHttpRequestObject;
}*/

function createRequestObject() { // Updated function allows IE7 to use non ActiveX method
var XMLHttpRequestObject;
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7
	XMLHttpRequestObject = new XMLHttpRequest();
	/*if (XMLHttpRequestObject.overrideMimeType) {
		XMLHttpRequestObject.overrideMimeType('text/xml');
	}*/
	} else if (window.ActiveXObject) { // IE
		try {
			XMLHttpRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
		try {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {}
	}
}

if (!XMLHttpRequestObject) {
alert("Cannot create an XMLHTTP instance");
return false;
} else {
    return XMLHttpRequestObject;
}
}

function getAjaxPageCreateList(url,selectName, currentItem, isOptional, optionalText, optionalValue) { 
 var res=null
  var req = createRequestObject();
  req.open("GET", url);
  req.onreadystatechange = function() {
  if(req.readyState == 4) {
      res = req.responseText;
      listItems = res.split('|');
      createList(selectName, listItems, currentItem, isOptional, optionalText, optionalValue);
    }
  }
  req.send(null);
}


//generate a drop down list of option for the given name and supplied array

function createList(selectName, listItems, currentItem, isOptional, optionalText, optionalValue) {

	var form;

	

	for(var i=0; i < document.forms.length; i++) {

		var tempForm = document.forms[i];

		if(tempForm[selectName]) {

			form = tempForm;

			break;

		}

	}

	

	var increment = 0;

	

	//Because -1 is the only value not returned as part of a name;value pair

	if(listItems[1] == '-1' || !listItems) {

		form[selectName].options[0] = setOptionalItem(optionalText, optionalValue);

form[selectName].disabled = true;

		return 0;

	} else {
form[selectName].disabled = false;
		if((listItems.length > 1 || isOptional == true)) {

			form[selectName].options[0] = setOptionalItem(optionalText, optionalValue);

			increment = 1;

		}

		for(var i=0; i < listItems.length; i++) {

			if(listItems[i].indexOf('~') && form) {

				form[selectName].options[i+increment] = new Option(listItems[i].split('~')[1], listItems[i].split('~')[0]);

				//if current item is supplied we can set the current value

				if(form[selectName].options[i+increment].value == currentItem) {

					form[selectName].options[i+increment].selected = 'true';

				}

			}

		}

	}

	return 0;

}



function setOptionalItem(optionalText, optionalValue) {

	if(optionalText.length < 1) {

		return new Option('Please select...', '');

	} else {

		return new Option(optionalText, optionalValue);

	}

}

function clearSelect() {

	for (var i = 0; i < arguments.length; i++) {

        var element = arguments[i];

		

        if (typeof element == 'string') {

            element = document.getElementsByName(element)[0];

		}

		

        if (element && element.options) {

            element.options.length = 0;

            element.selectedIndex = -1;

        }

    }

}








