// $Header: /home/cvs/DC5/dc5/system/install/skel/default/www/js/dc_main.js,v 1.1 2004/11/01 14:06:41 tim Exp $    

var dialoglayer;

function windowOnload()
{ // Initializing the dialog layer

  /*dialoglayer = document.getElementById('dialoglayer').cbe;
  dialoglayer.resizeTo(600, 500);
  dialoglayer.moveTo('n', 0, true);*/

  // Initializing the main menu

  if (document.all && document.getElementById)
	{ navRoot = document.getElementById('dcMainNavMenu');

	  if (navRoot)
		{ for (i = 0; i < navRoot.childNodes.length; i++)
			{ node = navRoot.childNodes[ i ];

			  if (node.nodeName == 'LI')
				{ node.onmouseover = function()
					{ this.className += ' over';
					}

				  node.onmouseout = function()
					{ this.className = this.className.replace(' over', '');
					}
				}
			}
		}
	}
}


function DC_Main_HideMethodWin() 
{ dialoglayer.slideTo( dialoglayer.offsetLeft(), -1200, 500);
  dialoglayer.moveTo('n',0 , true);
}
    
    
function DC_Main_ShowCalendar(x,y,form,field,dialogmode)
{ var value = document.forms[ form ].elements[ field ].value;

  // XXX clean this up
  var url   = DC_WWW + "calendar.php?form="+escape(form)+"&field="+escape(field)+"&value="+escape(value);

  DC_Dialog_Open(dialogmode, x, y, false, url);
}


function DC_Main_ShowSaveQuery(x,y,form,field,dialogmode,pageid)
{ var value = document.forms[ form ].elements[ field ].value;
  // XXX clean this up
  var url   = DC_WWW + "savequery.php?form="+escape(form)+"&field="+escape(field)+"&value="+escape(value)+"&pageid="+escape(pageid);

  DC_Dialog_Open(dialogmode, x, y, false, url);  
}

function DC_Main_ShowSaveQuery_org(x,y,form,field,dialogmode,pageid)
{ var value = document.forms[ form ].elements[ field ].value;
  // XXX clean this up
  var url   = DC_WWW + "savequery.php?form="+escape(form)+"&field="+escape(field)+"&value="+escape(value)+"&pageid="+escape(pageid);

  if (dialogmode == 'window')
	window.open(url,"assistant_win","width="+x+",height="+y+",left=400,top=300,screenX=400,screenY=300,scrollbars=yes,resizable=yes");
  else if (dialogmode == "layer")
	{ dialoglayer.resizeTo(x,y);
	  dialoglayer.zIndex(100);         //doesn't matter!?
	  dialoglayer.moveTo('n',0 , true); 
	  dialoglayer.show();
	  dialoglayer.slideTo('center','center',500);
	        
	  parent.dialogframe.location.href = url;
	}
}


function DC_Main_ShowQuerySave(x,y,form,scope,dialogmode)
{ var url   = DC_WWW + "querysave.php?form=" + form + "&scope=" + scope;

  if (dialogmode == 'window')
	{ window.open(url,"showquerysave_win","width="+x+",height="+y+",left=400,top=300,screenX=400,screenX=300,scrollbars=yes,resizable=yes");

	  var save_url    = document.forms[ form ].action;
	  var save_target = document.forms[ form ].target;

	  document.forms[ form ].action = url;
	  document.forms[ form ].target = "showquerysave_win";
	  document.forms[ form ].submit();

	  document.forms[ form ].action = save_url;
	  document.forms[ form ].target = save_target;
	}
  else if (dialogmode == "layer")
	{ dialoglayer.resizeTo(x,y);
	  dialoglayer.zIndex(100);         //doesn't matter!?
	  dialoglayer.moveTo('n',0 , true); 
	  dialoglayer.show();
	  dialoglayer.slideTo('center','center',500);

	  var save_url    = document.forms[ form ].action;
	  var save_target = document.forms[ form ].target;

	  document.forms[ form ].action = url;
	  document.forms[ form ].target = "dialogframe";
	  document.forms[ form ].submit();
		    
	  document.forms[ form ].action = save_url;
	  document.forms[ form ].target = save_target;
	}
}   


function DC_Main_ShowQueryLoad(x,y,scope)
{ var url   = DC_WWW + "queryload.php?scope=" + scope + "&location=" + DC_SELF;

  // XXX this is not generic
  if(! window.is.dom1getbyid || ! dialoglayer)
	{ y = y + 80;  // because of the dc5header..
	  window.open(url,"showqueryload_win","width="+x+",height="+y+",left=400,top=300,screenX=400,screenX=300,scrollbars=yes,resizable=yes");
	}
  else
	{ dialoglayer.resizeTo(x,y);
	  dialoglayer.zIndex(100);         //doesn't matter!?
	  dialoglayer.moveTo('n',0 , true); 
	  dialoglayer.show();
	  dialoglayer.slideTo('center','center',500);

	  parent.dialogframe.location.href = url;
	}
}   


function DC_Main_OpenAssistant(dialogmode, dlg_width, dlg_height, winoptions, assistant_url, form_name, field_name, querystr)
{ val = '';

  if (document.forms[ form_name ].elements[ field_name ].value)
	val = document.forms[ form_name ].elements[ field_name ].value;

  url =
	DC_WWW + assistant_url +
	'?env[form_name]=' + escape(form_name) +
	'&env[field_name]=' + escape(field_name) +
	'&env[value]=' + escape(val) +
	'&env[callback]=DC_Main_AssistantCallback' +
	'&' + querystr;

  DC_Dialog_Open(dialogmode, dlg_width, dlg_height, winoptions, url);
}


function DC_Main_AssistantCallback(env, result)
{ var element = document.forms[ env[ 'form_name' ] ].elements[ env[ 'field_name' ] ];

  if (element.type == 'select-multiple')
	{ for (i = 0; i < result.length; i++)
		{ if (document.all) 
			position = element.length;
		  else
			position = null;

		  var entry = document.createElement('option');
		  entry.value = result[ i ];
		  entry.text  = result[ i ];

		  element.add(entry, position);
		}
	}
  else
	element.value = result[ 0 ];
}


function DC_Main_GetSelectedText()
{ txtselected = '';

  if (window.getSelection)
	txtselected = window.getSelection();
  else if(document.getSelection)
	txtselected = document.getSelection();
  else if(document.selection)
	txtselected = document.selection.createRange().text;

  return txtselected;	
}

