// JavaScript Document
function browser(heading,msg,w,h)
{
  var win = new Window({className: "alphacube", title: "<div align='left' class='blue' style='padding-left:10px'><b>"+heading+"</b></div>", width:w, height:h}); 
  win.getContent().innerHTML = msg; 
  win.setDestroyOnClose(); 
  win.showCenter();
  win.setConstraint(true, {left:5, right:5, top: 5, bottom:10});
  win.toFront();
}
function browserURL(heading,loc,w,h)
{
  var win = new Window({className: "alphacube", title: "<div align='left' class='blue' style='padding-left:10px'><b>"+heading+"</b></div>", width:w, height:h, url:loc, minimizable:false, maximizable:false, resizable:false, showEffectOptions: {duration:1.5}}); 
  win.setDestroyOnClose(); 
  win.showCenter();
  win.setConstraint(true, {left:5, right:5, top: 5, bottom:10});
  win.toFront();
}
function xbrowser(heading,msg,w,h)
{
  var win = new Window({className: "alphacube", title: "<div align='left' class='blue' style='padding-left:10px'><b>"+heading+"</b></div>", width:w, height:h, draggable:false, maximizable:false, resizable:false, minimizable:false}); 
  win.getContent().innerHTML = msg; 
  win.setDestroyOnClose(); 
  win.showCenter();
  win.setConstraint(true, {left:5, right:5, top: 5, bottom:10});
  win.toFront();
}
function xbrowserURL(heading,loc,w,h)
{
  var win = new Window({className: "alphacube", title: "<div align='left' class='blue' style='padding-left:10px'><b>"+heading+"</b></div>", width:w, height:h, url:loc, maximizable:false, resizable:false, minimizable:false, draggable:false, showEffectOptions: {duration:1.5}}); 
  win.setDestroyOnClose(); 
  win.showCenter();
  win.setConstraint(true, {left:5, right:5, top: 5, bottom:10});
  win.toFront();
}
function openAlert(msg) {
   Dialog.alert(msg, {windowParameters: {className: "alphacube"}})
  }
function openConfirm(msg,loc) {
    Dialog.confirm(msg,{top: 10, width:250, className: "alphacube", okLabel: "Yes", cancelLabel:"No", onOk: function(win) {location.href=loc;return true;}})
	}
	
// JavaScript Document
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,j,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-3); i+=4) { 
	test=args[i+2]; 
	nm=args[i+3];
 	radioChecked=false;
	if (test == 'D') { //radio button
		val = document.getElementsByName(args[i]);
		for (j = 0; j < val.length; j++) {
			if (val[j].checked) {
				radioChecked=true;	
			}
		}
		if (radioChecked==false) {
			errors+= '<br> '+nm+' \n';
		}
	} else if (test.charAt(0) == 'A') { //(date) else if (test.charAt(1) == 'R')
				date = val;
				p = new RegExp("(20)\d\d[-](0[1-9]|1[012])[-]((0[1-9]|[12][0-9]|3[01])");
				result = p.exec(date);
				openAlert(result);
				if (result == null) {
					errors+= '<br> '+nm+' is invalid\n';
				}
	} else {
		val=MM_findObj(args[i]);
		if (val) { //else if (test.charAt(1) == 'D') 
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='<br> '+nm+' must contain a valid email address\n';
				} else if (test!='R') { 
				
					if (test.indexOf('isAlphaBet') != -1){
						 var regex=/^[a-zA-Z\s]+$/; //Match for upper- or lowercase letters
						   if ( regex.test(val) == false) {
							 errors+='<br> '+nm+' must contain only alphabet\n';
						   }	
					} else {

						num = parseFloat(val);
						if (isNaN(val)) {
						errors+='<br> '+nm+' must contain a number\n';
						}	//if (isNaN(val)) 
						if (test.indexOf('inRange') != -1) { 
							p=test.indexOf(':');
							min=test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num) {
								errors+='<br> '+nm+' must contain a number between '+min+' and '+max+'\n';
							} //if (num<min || max<num)
						} //if (test.indexOf('inRange') != -1)  
						
					}
				} //} else if (test!='R')  
			} else if (test.charAt(0) == 'R') { 
						errors+= '<br> '+nm+' \n';		
			}
		}
	} //if (val) 

  } //for (i=0; i<(args.length-3); i+=4) 

  if (errors) openAlert('<b>Please fill all required fields.</b>\n\n'+errors);
  document.MM_returnValue = (errors == '');
}