// -----------------------------------------------------------------------
// Mastec Interactive Development
//
// Base Javascript functions and objects
//
// (C)opyright 2000
//
// Last updated: 15-03-02 by DJB (mtElement now also searches form
//                                elements for NS < 6)
// -----------------------------------------------------------------------
// General variables
// -----------------------------------------------------------------------


// Object-container for internal images

var debug=false;

var mtImages = new Object();
mtImages.toLoadCount=0;
mtImages.loadedCount=0;

var ac='0123456789.,';
function valFromStr(w,p) {
  var value = 0;
  var vs = "";
  if (p!=-1) {
    for (var i=p;  i<=w.length; i++) {
       var c=w.substr(i,1);
       if (c==' ' || c==';') break;
       if (ac.indexOf(c)!=-1) vs+=c;
    }
    value = mtVal(vs);
  }
  return value;
}

var mtBrowser=""+navigator.userAgent;
mtBrowser = mtBrowser.toUpperCase();
var mtBrowserName="";

var mtExplorer = false;
var mtFireFox = false;
var mtSafari = false;
var mtMozilla = false;
var mtNetscape = false;
var mtNetscapeOld = false;
var mtNetscapeNew = false;
var mtNetscape4 = false;
var mtNetscape6 = false;
var mtXPSP2 = true;			// Check disabled by Dirk, always assume using SP2

function checkExplorer() {
  var p=(mtBrowser.toUpperCase()).indexOf('MSIE');
  if (p>-1) {
    mtExplorer=true;
    mtBrowserName = "Internet Explorer";
    mtBrowserVersion=valFromStr(mtBrowser,p+5)
    return true;
  }
  return false;
}

function checkFireFox() {
  var p=(mtBrowser.toUpperCase()).indexOf('FIREFOX/');
  if (p>-1) {
     mtFireFox = true;
     mtBrowserName = "FireFox";
     mtBrowserVersion=valFromStr(mtBrowser,p+8)
     return true;
  }
  return false;
}

function checkSafari() {
  var p=(mtBrowser.toUpperCase()).indexOf('SAFARI/');
  if (p>-1) {
     mtSafari = true;
     mtBrowserName = "Safari";
     mtBrowserVersion=valFromStr(mtBrowser,p+7)
     return true;
  }
  return false;
}

function checkMozilla() {
  var p=(mtBrowser.toUpperCase()).indexOf('MOZILLA/');
  var pn=(mtBrowser.toUpperCase()).indexOf('NETSCAPE');
  if (p>-1 && pn==-1) {
     mtMozilla = true;
     mtBrowserName = "Mozilla";
     mtBrowserVersion=valFromStr(mtBrowser,p+8)
     if (mtBrowserVersion<5) return false;
       else return true;
  }
  return false;
}

function checkNetscape() {
  var p=(mtBrowser.toUpperCase()).indexOf('NETSCAPE');
  if (p>-1) {
    var mtNetscape = true;
    var mtNetscape6=(mtBrowser.indexOf("NETSCAPE6")!=-1);
    mtBrowserVersion=valFromStr(mtBrowser,p+8)
    var mtNetscapeNew = (mtBrowserVersion>=5);
    mtBrowserName = "Netscape";
    return true;
  }
  else {
    if (mtMozilla && mtBrowserVersion<5) {
      mtNetscape = true;
      mtBrowserName = "Netscape";
      mtNetscape4=true;
      mtNetscapeOld = true;
      return true;
    }
  }
  return false;
}

if (!checkExplorer()) if (!checkFireFox()) if (!checkSafari()) if (!checkMozilla()) if (!checkNetscape()) {
    mtBrowserName = "Unknown";
    mtBrowserVersion=0;
}

if (!mtNetscape4) {
	try {
	  var mtScreenWidth = screen.width;
	  var mtScreenHeight = screen.height;
	}
	catch(e) {
	  try {
	    var mtScreenWidth = window.parent.screen.width;
	    var mtScreenHeight = window.parent.screen.height;
	  }
	  catch(e) {
		  try {
		    var mtScreenWidth = window.top.screen.width;
		    var mtScreenHeight = window.top.screen.height;
		  }
		  catch(e) {
		    var mtScreenWidth = 1024;
		    var mtScreenHeight = 768;
		  }
	  }
	}
}
else {
  var mtScreenWidth = screen.width;
  var mtScreenHeight = screen.height;
}

//if (mtExplorer && mtBrowserVersion>5.0)
//  if (mtBrowser.indexOf("SV1")>=0) mtXPSP2=true;

var mtApp = new Object();
mtApp.events = new Object();

function mtOnImagePreLoaded() {
  mtImages.loadedCount++;
}
// -----------------------------------------------------------------------
// Image related functions
// -----------------------------------------------------------------------
//
// Create and preload an internal image;
// -----------------------------------------------------------------------
function mtPreloadImage(imageid,imagesrc) {
  mtImages.toLoadCount++;
  mtImages[imageid] = new Image();
  mtImages[imageid].src = imagesrc;
  mtImages[imageid].onload = mtOnImagePreLoaded;
 }

// Change an existing HTML-Image <IMG> Netscape (Layer-style) ;
// -----------------------------------------------------------------------
function mtSetLayerImage(layerid,imagename,imageid) {
  var l=document.layers[layerid];
  if (l!=null) {
    var image=mtImages[imageid];
    if (image!=null) {
      var htmlimage = l.document.images[imagename];
      if (htmlimage!=null) {
        htmlimage.src = image.src;
      }
    }
  }
}
// Change an existing HTML-Image <IMG> ;
// -----------------------------------------------------------------------
function mtSetImage(imagename,imageid) {
  var image=mtImages[imageid];
  if (image!=null) {
    var htmlimage = document.images[imagename];
    if (htmlimage!=null) {
      htmlimage.src = image.src;
    }
    else
    if (mtBrowserVersion<5) {
      mtSetLayerImage('LIMG_'+imagename,imagename,imageid);
    }
  }
}

function mtGetPara(nr,s,d) {
	 var a = s.split(d);
  return a[nr-1];
}

function mtPutPara(nr,s,d,val) {
	 var a = s.split(d);
  var work="";
  for (i=0; i<=a.length-1; i++) {
  	 if (nr!=i+1)
      work=work+a[i];
    else
      work=work+val;
    if (i<a.length-1) work+=d;
  }
  return work;
}


function mtGetLastPara(s,d) {
	 var a = s.split(d);
  if (a.length>0) return a[a.length-1];
  else
    return "";
}

function mtParaCount(s,d) {
	 var a = s.split(d);
  return a.length;
}

// Image event : Show Image '[Name]_O' and Text-Layer '[Name]_TXT';
// -----------------------------------------------------------------------
function mtOverTextImage(imgname) {
  mtSetImage(imgname,imgname+'_O');
  mtShow('LTXT_'+imgname+'txt');
}

// Image event : Show Image '[Name]_N' and hide Text-Layer '[Name]_TXT';
// -----------------------------------------------------------------------
function mtOutTextImage(imgname) {
  mtSetImage(imgname,imgname+'_N');
  mtHide('LTXT_'+imgname+'txt');
}

// Maak van string een valid integer;
// -----------------------------------------------------------------------
function mtInt(val) {
	var number = parseInt(val);
 if (isNaN(number))
   number = 0;
 return number;
}

// Maak van string een valid float;
// -----------------------------------------------------------------------
function mtVal(val) {
	var number = parseFloat(val);
 if (isNaN(number))
   number = 0.0;
 return number;
}

// -----------------------------------------------------------------------
// Set inner HTML for a dynamic element
// -----------------------------------------------------------------------
function mtSetInner(id,value) {
  if (mtBrowserVersion<5 && document.layers!=null) {
    var layer=document.layers[id];
    if (layer!=null) {
      layer.document.open();
      layer.document.writeln('<SPAN ID="'+id+'" CLASS="'+id+'" >'+value+'</SPAN>');
      layer.document.close();
    }
  }
  else
  {
    var span=mtElement(id);
    if (span!=null) {
      span.innerHTML=value;
    }
  }
}

// -----------------------------------------------------------------------
// Find a layer
// -----------------------------------------------------------------------
function mtDoLayer(dl,id) {

  var doc=null;
  if (dl==document)  doc = document;
    else doc = dl.document;
  
  if (dl.layers[id]!=null)
    return dl.layers[id];

  if (doc.images.length>0) {
    var l = doc.images[id];
    if (l!=null) return l;		//Check for image with id, if exists return it
  }

  for (var i=0; i<=doc.forms.length-1; i++) {
      var el = doc.forms[i].elements[id];
      if (el!=null) return el;		//Check for form element with id, if exists return it
  }

  if (dl.layers.length>0) {
    for (var i=0; i<=dl.layers.length-1; i++) {
      var l = mtDoLayer(dl.layers[i],id);
      if (l!=null) return l;		//Check for layer with id (recursive), if exists return it
    }
  }
  return null;
}

// -----------------------------------------------------------------------
// Find an element (image, layer, form element with NS < 6 or any object
// by id for MSIE4+)
// -----------------------------------------------------------------------
function mtElement(id) {
	return mtLayerElement(id);
}

function mtLayer(id) {
	return mtLayerElement(id);
}

function mtLayerElement(id) {
  if (mtNetscapeOld) {
    if (document.layers[id]!=null)
      return document.layers[id];

    for (var i=0; i<=document.layers.length-1; i++) {
      var l = mtDoLayer(document.layers[i],id);
      if (l!=null) return l;
    }

    if (document.layers.length==0) {
      var l = mtDoLayer(document,id);
      if (l!=null) return l;
    }

    return null;
  }
  else {
    if (document.getElementById==null)
      return document.all[id];
    else
      return document.getElementById(id);
  }
}

// -----------------------------------------------------------------------
// position a layer
// -----------------------------------------------------------------------
function mtSetPos(id,x,y) {
  x = Math.round(x);
  y = Math.round(y);
	 var el=mtElement(id);
  if (el==null) return;
  if (mtBrowserVersion<5 && document.layers!=null) {
  	if (x==NaN || y==NaN) return;
  	el.x = Math.round(x);
   el.y = Math.round(y);
  }
  else {
   var s = el.style;
   if (s!=null) {
   	if (s.left!=null) s.left = x; else
   	if (s.pixelLeft!=null) s.pixelLeft = x;

   	if (s.top!=null) s.top = y; else
   	if (s.pixelTop!=null) s.pixelTop = y;
   }
  }
}

function mtElementByID(id) {
  return mtElement(id);
}

// -----------------------------------------------------------------------
// Show a dynamic element
// -----------------------------------------------------------------------
function mtShow(id) {
	 var el=mtElement(id);
  if (el != null) {
    if (mtBrowserVersion<5 && document.layers!=null) {
      el.visibility="show";
      el.zIndex = 0;
    }
    else {
      var s = el.style;
      if (s!=null) {
        s.visibility="visible";
        s.zIndex = 100;
        s.display = "";
      }
    }
  }
  else
    if (debug) alert('Dynamic element '+id+' not found!');
}

function mtHide(id) {
	 var el=mtElement(id);
  if (el != null) {
    if (mtBrowserVersion<5 && document.layers!=null)
      el.visibility="hide";
    else {
      var s = el.style;
      if (s!=null) s.visibility="hidden";
      if (s!=null) s.display = "none";
    }
  }
  else
    if (debug) alert('Dynamic element '+id+' not found!');
}

function mtVisible(id,visible) {
  if (visible) mtShow(id)
   else mtHide(id);
}

function mtIsVisible(id) {
	 var el=mtElement(id);
  if (el != null) {
    if (mtBrowserVersion<5 && document.layers!=null) {
      return (el.visibility=="show");
    }
    else {
      var s = el.style;
      if (s!=null) {
      	 return (s.visibility=="visible");
      }
    }
  }
  else
    if (debug) alert('Dynamic element '+id+' not found!');
}



function mtWindowImage(imgname) {
	var w = window.open();
 w.location = imgname;
}


function mtMovement() {
	this.motoren = new Object();
 this.motorNames = new Array();
}

mtMovement.prototype.addMotor= function(m) {
	this.motorNames[this.motorNames.length] = m.name;
 this.motoren[m.name]=m;
}
mtMovement.prototype.process=function(movname) {
	var onemoved=false;
	for (var i=0; i<=this.motorNames.length-1; i++) {
   var m=this.motoren[this.motorNames[i]];
   if (m.moving) {
   	m.move();
     onemoved=true;
   }
 }
 if (onemoved) {
 	var movestring = movname+'.process("'+movname+'");';
 	window.setTimeout(movestring,10);
 }
}

function mtMotor(window,name,elname) {
	 this.name=name;
  this.elname=elname;
  this.moving = false;
  this.finished = false;
  this.window=window;
}

mtMotor.prototype.setStrait = function(sx,sy,ex,ey,sp) {
 this.sx = sx; this.sy = sy;
 this.ex = ex; this.ey = ey;
 this.cx = sx; this.cy = sy;
	this.dx = (ex-sx)/1000;
 this.dy = (ey-sy)/1000;
 this.speed = sp;
 this.basespeed = sp;
 this.accelerate = false;

}

mtMotor.prototype.start = function() {
	this.moving = true;
 this.finished = false;
}

mtMotor.prototype.move = function() {
	var xok=false;
 var yok=false;

 if (!this.moving) {
   this.moving = true;
   this.finished = false;
 }

 var dx =( this.speed * this.dx );
 var dy =( this.speed * this.dy );

	this.cx += dx;
 this.cy += dy;

 this.cx = parseInt(this.cx);
 this.cy = parseInt(this.cy);


 if (this.dx >=0 && this.cx>=this.ex) xok=true;
 else
 if (this.dx <0 && this.cx<=this.ex) xok=true;

 if (this.dy >=0 && this.cy>=this.ey) yok=true;
 else
 if (this.dy <0 && this.cy<=this.ey) yok=true;

 if (xok && yok) {
   this.cx = this.ex;
   this.cy = this.ey;
   this.moving = false;
   mtSetPos(this.elname,this.cx,this.cy);
   this.finished = true;
 }
 var d = this.window.document;
 this.cx = parseInt(this.cx);
 this.cy = parseInt(this.cy);
 mtSetPos(this.elname,this.cx,this.cy);
}




function mtFindFormLayer(fname,pl) {
  var l,f;
  for (var i=0; i<pl.document.layers.length; i++) {
    l = pl.document.layers[i];
    f = mtFindFormLayer(fname,l);
    if (f==null && l.document.forms[fname]!=null)
       return l.document.forms[fname];
    else
    if (f!=null)
      return f;
  }
  return null;
}

function mtFindForm(fname) {
  var l,f;

  if (mtBrowserVersion<5 && document.layers!=null) {
    f = document.forms[fname];
    if (f!=null) return f;
    for (var i=0; i<document.layers.length; i++) {
      l = document.layers[i];
      f = mtFindFormLayer(fname,l);
      if (f==null && l.document.forms[fname]!=null)
         return l.document.forms[fname];
      else
      if (f!=null)
        return f;
    }
    return null;
  }
  else {
    return document.forms[fname];
  }
}

function mtEmptyFormFields(fname) {
	var f = mtFindForm(fname);
 if (f!=null) {
   for (var i=0; i<=f.elements.length-1; i++) {
     var el=f.elements[i];
     if (el.value!=null) el.value='';
   }
 }
}

function mtTextFieldVal(fname,id) {

 var f = mtFindForm(fname);
 if (f==null && mtBrowserVersion<5 && document.layers!=null)
    f = mtFindForm(id+"FORMNS");
 
 if (f!=null) {
   var el=f.elements[id];
   if (el!=null) {
     if (el.value != null) return el.value;
   }
   else
     return null;
 }
 return null;
}

function mtDoSelectFieldVal(f,id) {
 if (f!=null) {
   var el=f.elements[id];
   if (el!=null && el.options!=null) {
   	return el.options[el.selectedIndex].text;
   }
   else
     return null;
 }
 return null;
}

function mtSelectFieldVal(fname,id) {
	var f = mtFindForm(fname);
	if (f!=null) if (f.elements[id]!=null) return mtDoSelectFieldVal(f,id);
 if (mtBrowserVersion<5 && document.layers!=null) {
   f = mtFindForm(id+"FORMNS");
		if (f!=null) return mtDoSelectFieldVal(f,id);
 }
 return null;
}


function mtDoSelectSetFieldVal(f,id,value) {
 if (f!=null) {
   var el=f.elements[id];
   if (el!=null && el.options!=null) {
     for (i=0; i<=el.options.length-1; i++) {
       if (el.options[i].text==value) {
         el.selectedIndex=i;
         return;
       }
     }
   }
 }
 return;
}

function mtSelectSetFieldVal(fname,id,value) {
	var f = mtFindForm(fname);
 if (f!=null) if (f.elements[id]!=null) mtDoSelectSetFieldVal(f,id,value);
 if (mtBrowserVersion<5 && document.layers!=null) {
   f = mtFindForm(id+"FORMNS");
 	if (f!=null) mtDoSelectSetFieldVal(f,id,value)
 }
 return;
}

function mtDoFindFormElement(f,id) {
 if (f!=null) {
   var el=f.elements[id];
   if (el!=null) return el;
   else
     return null;
 }
}

function mtFindFormElement(fname,id) {
	var f = mtFindForm(fname);
 if (f!=null) if (f.elements[id]!=null) return mtDoFindFormElement(f,id);
 if (mtBrowserVersion<5 && document.layers!=null) {
   f = mtFindForm(id+"FORMNS");
 	if (f!=null) return mtDoFindFormElement(f,id)
 }
 return null;
}


function mtCheckRequiredField(fname,id,fldtxt,msg) {
 var result = mtTextFieldVal(fname,id);
 if (result==null) {
   alert('input field '+id+' not found!');
   return false;
 }
 else {
   if (result=='') {
     alert(fldtxt+' '+msg);
     return false;
   }
 }
 return true;
}


function printFrame(frName)
{
	 var f = findFrame(frName);
  if (f!=null) {
     f.focus(); f.print();
  }

  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    parent.hoofd.focus();
    print();
  }
  else
  {
    top.frames[2].print();
  }
}

function mtKey(event) {
 if (event.which!=null) return event.which;
 else if (event.keyCode!=null) return event.keyCode;
 else return window.event.keyCode;
}

var fl = 0;

function doFindFrame(w,frame,c) {

  if (w.frameskip!=null) return null;

  fl++;
  if (fl>20) {
     --fl;
     return null;
  }
  var f=w.frames[frame];
  if (f==null) {
      for (var i=0; i<=w.frames.length-1; i++) {
      var wf=w.frames[i];     
      f=doFindFrame(wf,frame);
      if (f!=null) break;
    }
  }

  if (f==null) {
    if (w.framebound!=null) { --fl; return null; };
    if (w.name=="FRAMEBOUND") { --fl; return null; };
    if (w.opener!=null && w.openerIsValid!=null) {
   	p=w.opener;
	if(p!=null) {
  	  while (p.parent!=null && p.parent!=p) {
	    if (p.window.framebound!=null) break;
            if (p.name=="FRAMEBOUND") break;
            p=p.parent;
          }
  	  f=doFindFrame(p,frame,1);
	}
    }
  }

  --fl;
  return f;
}

function findFrame(frame) {
 if (mtBrowserVersion<5 && document.layers!=null) {
  	var f=mtElement(frame);
   if (f!=null) {
     return f;
   }
  }
  var p=window.parent;
  while (p.parent!=null && p.parent!=p) {
    if (p.window.framebound!=null) break;
    if (p.name=="FRAMEBOUND") break;
    p=p.parent;
  }

  var f=doFindFrame(p,frame,1);

  if (f==null) {
    if (window.opener!=null && window.parent!=window.opener && window.openerIsValid!=null) {
   	p=window.opener;
  	while (p.parent!=null && p.parent!=p) {
          if (p.name=="FRAMEROOT") break;
          p=p.parent;
        }
  	var f=doFindFrame(p,frame,1);
   }
  }
  return f;
}

function mtSetStatus(msg) {
  var fr = findFrame("FRSSTATUS");
  if (fr!=null && fr.setStatus!=null)
    fr.setStatus(msg);
}

function mtSetErrorStatus(msg) {
  var fr = findFrame("FRSSTATUS");
  if (fr!=null && fr.setError!=null)
    fr.setError(msg);
}

// Creates a new dialog (popup).
// Setting param "scrolling" to true enables scrollbars, defaults to not using them
// Setting param "modalDialog" to true, uses old method dialogs, while false uses the newer
// modal dialog (= alot faster)
function mtPopup(id, w , h, pUrl, scrolling, modalDialog) {
	var wdw	= null;
	var lid = "";
	var sFeatures = "";
	var doScroll  = "no";
	for (var i = 0; i <= id.length - 1; i++) {
		if ( id.substr(i, 1) != '-' )
			lid += id.substr(i, 1);
	}
	id = lid;

	// Default scrolling disabled
	if (scrolling != null && scrolling == true)
		doScroll = "yes";
	// Default modalDialog disabled
	if (modalDialog == null)
		modalDialog = false;
		
	var ll = Math.round( (mtScreenWidth-w) / 2 );
	var tt = Math.round( (mtScreenHeight-h) / 3 );
	// If modalDialog is supported
	if 	(modalDialog == true && window.showModalDialog != null) {
 		sFeatures	= "dialogLeft: " + ll + "px; " +
								"dialogTop: " + tt + "px; " +
								"dialogWidth: " + w + "px; " +
								"dialogHeight: " + h + "px; " +
								"edge: sunken; "+
								"help: no; "+
								"resizable: no; "+
								"scroll: " + doScroll + "; "+
								"status: no; "+
								"unadorned: no;";
		wdw = window.showModalDialog(pUrl, "", sFeatures);
	}
	// Else use plain old new window (slower)
	else {
		if (mtBrowserVersion < 5 && document.layers != null) {
			// NS4 features
			sFeatures	= "screenX=" + ll + ", " +
									"screenY=" + tt + ", " +
									"width=" + w + ", " +
									"height=" + h;
		}
		else {
			// Other browsers
			sFeatures	= "left=" + ll + ", " +
									"top=" + tt + ", "+
									"width=" + w + ", "+
									"height=" + h;
		}
		// Add features for all browsers
		sFeatures	+=	", " +
									"toolbar=no, "+
								 	"scrollbars=" + doScroll + ", " +
									"resizable=no";
		wdw = window.open("", id, sFeatures);
		wdw.resizeTo(w + 5, h + 30);
		wdw.moveTo(ll, tt);
		if (pUrl != null && pUrl != '')
			wdw.location = pUrl;
	}
	return wdw;
}

// Popup window with scrollbars
function mtDlgWindow(id, w , h, pUrl, modalDialog) {
 if (mtXPSP2) h+=30;
 var w;
 w = mtPopup(id,w,h,pUrl, false, modalDialog);
 return w;
}

// Popup window with scrollbars
function mtDlgScroll(id, w, h, pUrl, modalDialog) {
 if (mtXPSP2) h+=20;
 var w;
 w = mtPopup(id,w,h,pUrl, true, modalDialog);
 return w;
}


function mtWindow(id,pUrl) {
 var wdw;
 var params;
 if (mtBrowserVersion<5 && document.layers!=null) {
   wdw = window.open("",id,"menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes,status=yes,location=yes");
   if (pUrl!=null && pUrl!='') wdw.location = pUrl;
   return wdw;
 }
 else  {
   params = "left=0,top=0,width="+(mtScreenWidth-10)+",height="+(mtScreenHeight-120)+",status=yes,toolbar=yes,menubar=yes,location=yes,scrollbars=yes,"+
   "resizable=yes";
 }
 params='';
 wdw = window.open("",id,params);
 if (pUrl!=null && pUrl!='') wdw.location = pUrl;
 return wdw;
}

function mtNull() {
	for (var i=0; i<arguments.length; i++) {
 	if (arguments[i]==null) return true;
 }
 return false;
}

// -----------------------------------------------------------------------
// Application specific functions
// -----------------------------------------------------------------------

var url;   // this url will contain then base url (including secure items)
function mtCMSConfirm(msg,cmd,source) {
 if (source!=null)
   var lurl = url+"&MNUMANAGE=CONFIRM&CMD="+cmd+"&SOURCE="+source+"&MSG="+msg;
 else
   var lurl = url+"&MNUMANAGE=CONFIRM&CMD="+cmd+"&MSG="+msg;
 var w = mtDlgWindow("DLG",450,200,lurl);
 w.focus();
}

function mtCMSShowHourGlass() {
  var fmain = findFrame("FRMNUMANAGEMAIN");
  if (fmain!=null && fmain.mtShow!=null ) fmain.mtShow("HOURGLASS");
}
function mtCMSHideHourGlass() {
  var fmain = findFrame("FRMNUMANAGEMAIN");
  if (fmain!=null && fmain.mtHide!=null ) fmain.mtHide("HOURGLASS");
}

function mtCMSSubmitDBSFrame(frame,fr,url) {
	 if (fr!=null && url!=null && fr.action!=null) {
    fr.action = url;
    fr.target = frame;
    fr.method = "POST";
    fr.submit();
    return true;
  }
  else
    return false;
}

function mtCMSToDBS(url,msg,formname) {
  var fr;
  mtSetStatus(msg);
  if (formname==null)
    fr = document.forms[0];
  else
    fr = mtFindForm(formname);
  if (fr!=null) {
    mtCMSShowHourGlass();
    return mtCMSSubmitDBSFrame("FRDBS",fr,url);
  }
  else
    return false;
}

function mtCMSToDBSFrame(frame,url,msg,formname) {
  var fr;
  mtSetStatus(msg);
  if (formname==null)
    fr = document.forms[0];
  else
    fr = mtFindForm(formname);
  if (fr!=null) {
    mtCMSShowHourGlass();
    return mtCMSSubmitDBSFrame(frame,fr,url);
  }
  else
    return false;
}

function mtCMScheckRecordCount(frmname,msg) {
  var fr = findFrame(frmname);
  if(fr!=null && fr.recordCount!=null) {
    if (fr.recordCount==0) {
      alert("Geen "+msg+" aanwezig!");
      return false;
    } else return true;
  } else return false;
}

//DJB shows all the properties of an object
function showProperties(obj) {
  if(obj==null) alert("Could not find the object to display!");
  else {
    var res = "";
    for(var i in obj) {
      res += i +' \t-  ';
      res += obj[i];
      res += '\n';
    }
    alert(res);
  }
}

