function opwin(winurl,winname,w,h){
xpos=screen.availWidth/2-780/2;
ypos=screen.availHeight/2-550/2;
opts = "width=" + String(w) + ",height=" + String(h) + ",status=no,scrollbars, top="+String(ypos)+", left="+String(xpos);
newwin = window.open(winurl,winname, opts);
   if(parseInt(navigator.appVersion) >= 4)
 {
  //delay a bit here because IE4 encounters errors
  //when trying to focus a recently opened window
   setTimeout('newwin.focus();',250);
 }
}

function set_field(formname,fieldname,value) {
	
	var javascript_expr;
	var expr_type;
	var type;
	var myObj;

	javascript_expr = "document." + formname + "." + fieldname;
	
	expr_type = javascript_expr + ".type";
	possible_radio_expr_type = javascript_expr + "[0].type";

	expr_static = "document." + formname + "." + "static_" + fieldname;

	if (! eval (expr_static) ) {

		if ( eval (javascript_expr) ) {
			type = eval(expr_type);
                         
				// if (fieldname == 'field_BODY') alert (type);
			if ( type == "text") {
				javascript_expr = javascript_expr + ".value = value";
			} else if ( type == "select-one" ) {
				
				myObj = eval ( javascript_expr );
				
				//myObj.options[1].selected = true;
				
				for (i=0; i <= myObj.options.length - 1; i++) {
					
					if (myObj.options[i].value == value) {
						
						myObj.options[i].selected = true;
						break;
						
					}; 
					
				};
				
			} else if ( type == "textarea" ) {

					javascript_expr = javascript_expr + ".value = value";
				
			} else if ( type == "hidden" ) {
				javascript_expr = javascript_expr + ".value = value";
				
			} else if ( type == "checkbox") {
				if (value == "1") {
					javascript_expr = javascript_expr + ".checked = true";
				} else if (value == "0") {
					javascript_expr = javascript_expr + ".checked = false";
				};
			} else if ( eval(possible_radio_expr_type) == "radio" ) {

				myObj = eval ( javascript_expr );

				//myObj.options[1].selected = true;
				
				for (i=0; i <= myObj.length - 1; i++) {
		
					if (myObj[i].value == value) {			
						myObj[i].checked = true;
						break;
						
					}; 
					
					// Default to 1st option if none match
					myObj[0].checked = true;
					
				};
								
			} else {

				//alert( javascript_expr );

			};
			
			eval (javascript_expr);
			
		
		};
	};

	return
};

function prepare_checkbox_fields(formname) {

var myStr = "document." + formname;
var myObj = eval(myStr);

var result = null;

for (i=0; i <= myObj.elements.length - 1; i++ ) {
	elementname = myObj.elements[i].name;
	
	// TODO: If elementname is undefined, then just skip it.
	
	result = elementname.match(/checkbox_field_(.+)/);

	if (result != null) {
		hiddenelementname = "field_" + result[1];
		
		j = 0;
		finish = 0;
		success = 0;
		
		while (finish == 0) {

			if (myObj.elements[j].name == hiddenelementname) {
				finish = 1;
				success = 1;
			} else {
				j++;

				if (j > myObj.elements.length - 1) {
					finish = 1;
					success = 0;
				};
			};	
		};
	
		if (success == 1) {
			if (myObj.elements[j].value == "1") {
				myObj.elements[i].checked = true
			} else {
				myObj.elements[i].checked = false
			};
		} else {
			myObj.elements[i].checked = false
		};	
	
	};

};

}
