<!--
function createDirectRequestObject () {
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	 	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  	} catch (E) {
	   		xmlhttp = false;
	  	}
	}
	@end @*/
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	return xmlhttp;
}

function loadNewFragment(targetURL, targetDivID, callbackFunc, startingFunc) {
	
	//If the user has supplied a function to be called when the transaction starts, then call it now
	if (startingFunc != null) {
		try {
			startingFunc(targetDivID);
		} catch (e) {
			
		}
	}
	
	//Create the request object
	var xmlHttpObj = createDirectRequestObject();
	
	//Create the callback
	xmlHttpObj.onreadystatechange = function () {
			if (xmlHttpObj.readyState == 4) {

				targetDiv = document.getElementById(targetDivID);
				
				if (targetDiv) {
					try {
						targetDiv.innerHTML = xmlHttpObj.responseText;
				
				
						//Execute script tags
						var scriptTags = targetDiv.getElementsByTagName("script");
						for (var f=0; f < scriptTags.length; f++) {
							 window.eval(scriptTags.item(f).firstChild.nodeValue);
							 
						}
					} catch (e) {
						
					}
				}
				
				//If the user supplies a function to be called when the transaction completes, call it now.
				if (callbackFunc != null) {
					try {
						callbackFunc(targetDivID);
					} catch (e) {
					
					}
				}
				
				//xmlHttpObj = null;
			}
	}
	
	//Begin the transaction
	xmlHttpObj.open("GET", targetURL, true);
	xmlHttpObj.send("");
	
}

function getSelectedIndexes(selObj) {
  if (selObj.type == 'select-one') {
    return new Array(selObj.selectedIndex);
  } else {
    var indexes = new Array();
    for (var i = 0; i < selObj.options.length; i++) {
      if (selObj.options[i].selected) {
        //indexes.push(i);
        indexes.push(selObj.options[i].value);
      }
    }
    return indexes;
  }
}
-->