

	function preloadImages() { 
	   if (document.images) {
	    var imgFiles = preloadImages.arguments;
	    if (document.preloadArray==null) document.preloadArray = new Array();
	    var i = document.preloadArray.length;
	    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
	      preloadArray[i] = new Image;
	      preloadArray[i++].src = imgFiles[j];
	  } }
	}
	
	
	function swapImgRestore() { //v2.0
	  if (document.swapImgData != null)
	    for (var i=0; i<(document.swapImgData.length-1); i+=2)
	      document.swapImgData[i].src = document.swapImgData[i+1];
	}
	
	function swapImage() { //v2.0
	  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.swapImgData;
	  for (i=0; i < (swapImage.arguments.length-2); i+=3) {
	    objStr = swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
	    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
	        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
	      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
	    obj = eval(objStr);
	    if (obj != null) {
	      swapArray[j++] = obj;
	      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
	      obj.src = swapImage.arguments[i+2];
		}
	  }
	  document.swapImgData = swapArray; //used for restore
	}
		
	function isValid(pattern, str) {
	return pattern.test(str)
	}

	/*
	 Regular Expressions that validate
	 filenames for the Attachments upload questions	
	 (IE only)	
	*/
	var filename_exp = /./
	/*
	to do enhance pc based reg exp to handle mac file names
	var filename_exp = /^(\\{2}|([a-z]{1}:\\{1,2}))((\w|\s|-)+\\{1,2})*(\w|\s|-){1,128}\.\w{3}/i 		
	*/
	
	
	function executeaction(actionid,paramstr){
	var win_name;
	var win_link;
		if(actionid!='')
		{
			if(actionid=='88888') //Upload templates
			{
				link_pos=paramstr.indexOf("__link=")
				name_pos=paramstr.indexOf("&__name=")
				if (name_pos > 0)
				{
					win_link= paramstr.substring(link_pos+7,name_pos)
					win_name= paramstr.substring(name_pos+8)
					if ( win_name.indexOf("&") > 0 )
					{
						win_name= win_name.substring(0,win_name.length-1)
					}
					else
					{
						win_name= win_name.substring(0,win_name.length)
					}
				}
				else
				{
					win_link= paramstr.substring(link_pos+7)
				}
				wnd=window.open(win_link,"",'title='+ win_name +',width=320,height=200,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no');wnd.focus()
				wnd.name= win_name
			}
			else
			{
				top.document.webapp.__action.value=actionid
				if(paramstr!=''){ 
					top.document.webapp.action=top.document.webapp.action + '?' + paramstr
				}
				top.document.webapp.submit()
				top.document.webapp.action=''
			}
		}
	}
	function FocusMe(o) 
		{
			o.style.width = '';
			o.scrollIntoView(); 
		}
	function BlurMe(o)
	{
		o.style.width = o.minwidth;
	}

	function SetListCheckBoxes(chkAll, tblList,
		sRepeaterName, sCheckName)
	{
		var f = chkAll.checked;
		var col = tblList.getElementsByTagName("input");
		
		for(var i = 0; i < col.length; i++)
		{
			var chk = col[i];
			
			if(chk.type === "checkbox")
			{
				var a = chk.name.split(":");
				
				if((a[0] === sRepeaterName) &&
					(a[a.length - 1] === sCheckName)
				)
					chk.checked = f;
			}
		}
	}

	function ListObject_CheckBoxes(frm, s)
	{
		var col = frm.elements["__" + s];
		var f = frm.elements["all" + s].checked;

		if(col)  {					
			for(var i = 0; i < col.length; i++)
			col["__" + s, i].checked = f;
			}    	
		
	}

	function NoFrames(w)
	{
		var wOld = w;

		while(w.parent !== w)
			w = w.parent;
		if(w !== wOld)
			w.location = wOld.location;
	}

	function doMoveBrowser(form) 
	{
		form.action = getPage(form);
		form.submit();
	}

	function getSelectedValue(form) 
	{
		return form.q_type.selectedIndex;
	}

	function getPage(form) 
	{
		var v;
		var ret;
		
		v = form.q_type.options[getSelectedValue(form)].value;
		switch (v)
		{
			case "20" :
				ret = "QuestionEditor.aspx";
				break;
			case "21" :
				ret = "QuestionEditor.aspx";
				break;
			case "9" :
				ret = "QuestionEditor.aspx";
				break;
			
			default :
				ret = "default.aspx";
				break;
		}
		
		return ret;				
	}

