var frmSubmitOn = false; 

function new_window(theURL,winName,features) {
  fer = window.open(theURL,winName,features)
}

function ShowImage(path, el, w, h, id)	{
	elem = eval(el);
	/*
	elem.src = path;
	*/
	elem.src = eval("photo_" + id + ".src");
	elem.width = w;
	elem.height = h;
	elem.style.visibility = 'visible';
} 

function isFormChanged(form_elem) {
 var rtnVal = false; 
 var frm = form_elem;
 var ele = frm.elements;

 for ( i=0; i < ele.length; i++ ) {
  if ( ele[i].type.length > 0 ) {
   if ( isElementChanged( ele, i ) ) {
    rtnVal = true;
    break;
   }
  }
 }
 return rtnVal;
}

function isElementChanged( ele, i ) {
 var isEleChanged = false; 
 switch ( ele[i].type ) { 
  case "text" : 
   if ( ele[i].value != ele[i].defaultValue ) {
   	return true;
   }
   	
  break;
  case "textarea" : 
   if ( ele[i].value != ele[i].defaultValue )  {
   	return true;
   }
  break;
  case "radio" :
   val = "";
   if ( ele[i].checked != ele[i].defaultChecked )  {
   	return true;
   }	
  break;
  case "select-one" : 
   for ( var x =0 ; x <ele[i].length; x++ ) {
   	/*
   	if (ele[i].options[ x ].selected)
		alert ('selected ' + ele[i].options[ x ].text);
   	if (ele[i].options[ x ].defaultSelected)
		alert ('defselected ' + ele[i].options[ x ].text);
	*/	
    if ( ele[i].options[ x ].selected != ele[i].options[ x ].defaultSelected )  {
   	  return true;
	}
   }
  break;
  case "select-multiple" :
   for ( var x =0 ; x <ele[i].length; x++ ) {
    if ( ele[i].options[ x ].selected != ele[i].options[ x ].defaultSelected )  {
     return true;
	}
   }
  break;
  case "checkbox" :
   if ( ele[i].checked != ele[i].defaultChecked )  {
   	return true;
   }	
  default:
   return false;
  break;
 }
}

function navigateAway(frm_name)	{
	msg = 'Data has changed on this page.  If you want to save the data, press Cancel and then press Update on the page.  If you do not want to save the data, press Ok';
	if ((!frmSubmitOn) && isFormChanged(frm_name) && (!event.ctrlKey))
		event.returnValue = msg;	
}
