/* ***************************************************************************** */
/* File    : dwisjs.js 															 */
/* Project : DocuWare INTERNET-SERVER javascript codes 							 */
/* Version : 3.0.1 																 */
/* Author  : koelmans															 */
/* ***************************************************************************** */
// History:
// 06.11.2003: removed problems with selective select list and readonly fields 
// 04.03.2002: characters \ & | # ^ = in strings are are now escaped before 
//             transferred to the search mask (function escapeSQLchars)
/* ***************************************************************************** */

function escapeSQLchars(text) {
	
	text = text.replace(/\\/g, "\\\\");
	text = text.replace(/&/g, "\\&");
	text = text.replace(/\|/g, "\\|");
	text = text.replace(/#/g, "\\#");
	text = text.replace(/\^/g, "\\^");
	text = text.replace(/=/g, "\\=");
	return text;
} 

var dwisSelectWnd=null;
var dwisInfoboxWnd=null;

function openSelectList(field, url, evnt)
{
//close old window
if (dwisSelectWnd)
    if (!dwisSelectWnd.closed)
        dwisSelectWnd.close();
var srcForm = document.forms['DWISDBFORM'];
if (!srcForm) {
	alert("DWIS error: Cannot find form.");
	return;
}
var selectiveCheckbox = srcForm.elements['ISSELECTIVE'];
var isSelective=0;
if (selectiveCheckbox != null)
   isSelective=selectiveCheckbox.checked;
var i;
url += "&SELECTFIELD=" + field + "&SELECTVALUE=";
if (!srcForm.elements[field]) {
	alert("DWIS Error: invalid field");
	return;
}
url += srcForm.elements[field].value;
url +="*&SELECTIVE=";
if (isSelective) {
	url += "1";
	for (i=0; i < srcForm.elements.length; i++) {
		if ((srcForm.elements[i].type == "text"))
		{
		    var name = srcForm.elements[i].name;
		    if (name && name != "") {
			    url += "&" + name + "=";
			    url += escape(srcForm.elements[i].value);
			}
		}
 	}
 }
 else {
 	url += "0";
 	field = "To" + field;
 	if (srcForm.elements[field])
 		url += "&" + field + "=" + srcForm.elements[field].value;
 }
 
 var width=450;
 var height=250;

 var x="";
 var y="";
 if (evnt.screenX) {
    var xPos=evnt.screenX;
    var yPos=evnt.screenY;
    if (screen) {
        xPos = Math.min(xPos, screen.width-width-10);
        yPos = Math.min(yPos, screen.height-height-40);
    }       
 	x = ",left="+xPos+",screenX="+xPos;	
 	y = ",top="+yPos+",screenY="+yPos;
 }
 dwisSelectWnd = window.open(url, "DWISSELECTWND", "dependent=yes,width="+width+",height="+height+",scrollbars,resizable=yes"+x+y);
 dwisSelectWnd.focus();
}

function openInfobox(url, evnt)
{
 //close old window
 if (dwisInfoboxWnd)
    if (!dwisInfoboxWnd.closed)
        dwisInfoboxWnd.close();
 var width=500;
 var height=500;

 var x="";
 var y="";
 if (evnt.screenX) {
    var xPos=evnt.screenX;
    var yPos=evnt.screenY;
    if (screen) {
        xPos = Math.min(xPos, screen.width-width-10);
        yPos = Math.min(yPos, screen.height-height-40);
    }       
 	x = ",left="+xPos+",screenX="+xPos;	
 	y = ",top="+yPos+",screenY="+yPos;
 }
 dwisInfoboxWnd = window.open(url, "DWISINFOBOXWND", "dependent=yes,width="+width+",height="+height+",scrollbars,resizable=yes"+x+y);
 dwisInfoboxWnd.focus();
}

function userSelection(destField, bClose)
{
src=document.forms['DWISSELECTLISTFORM'].elements['SELECTLIST'];
dest=opener.document.forms['DWISDBFORM'].elements[destField];
if (src.selectedIndex >= 0) {
	if ((bClose) || (dest.value.length==0))
		dest.value=escapeSQLchars(src.options[src.selectedIndex].value);
	else
		dest.value=escapeSQLchars(dest.value+"\r"+src.options[src.selectedIndex].value);
	}
if (bClose)
    window.close();
}

function submitDwisViewForm(displayOptions)
{
	if (document.forms['DWISVIEWFORM'])
		if (document.forms['DWISVIEWFORM'].elements['DISPLAYOPTIONS'])
		{
			document.forms['DWISVIEWFORM'].elements['DISPLAYOPTIONS'].value=displayOptions;
			document.forms['DWISVIEWFORM'].submit();
		}
}
