function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}
			
function MM_findObj(n, d) { //v4.01
	var p;
	var i;
	var 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 openPopupWindow( url, winname ){
	var scroll = 1;
	var width = "756";
	var height = "500";
	var winl = (screen.width - width) / 2;
	var wint = (screen.height - height) / 2;
	var settings = "height=" + height + ",";
	settings += "width=" + width + ",";
	settings += "top=" + wint + ",";
	settings += "left=" + winl + ",";
	settings += "scrollbars=" + scroll + ",";
	settings += "resizable=yes";
	win = window.open(url, winname, settings);
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}
			
function MM_validateForm() { //v4.0
  	var i;
  	var p;
  	var q;
  	var nm;
  	var test;
  	var num;
  	var min;
  	var max;
  	var errors='';
	var args=MM_validateForm.arguments;
  	for (i=0; i<(args.length-2); i+=3) { 
  		test=args[i+2]; 
  		val=MM_findObj(args[i]);
    	if (val) { 
    		nm=getLabel(val.name);
    		if (trim(val=val.value)!="") {
      			if (test.indexOf('isEmail')!=-1) { 
      				p=val.indexOf('@');
        			if (p<1 || p==(val.length-1)) { 
        				errors+='- '+nm+' must contain a valid e-mail address format.\n';
        			}
      			} else if (test!='R') { 
      				num = parseFloat(val);
        			if (isNaN(val)) { 
        				errors+='- '+nm+' must contain a number.\n';
        			}
       				if (test.indexOf('inRange') != -1) { 
       					p=test.indexOf(':');
          				min=test.substring(8,p); max=test.substring(p+1);
          				if (num<min || max<num) {
          					errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
          				}
    				} 
    			} 
    		} else if (test.charAt(0) == 'R') {
    			errors += '- '+nm+' is required.\n'; 
    		}
    	}
	} 
  	if (errors) {
  		alert('Please check the following items:\n'+errors);
  	}
  	document.MM_returnValue = (errors == '');
}

function custom_validateForm() { //v4.0
  	var i;
  	var p;
  	var q;
  	var nm;
  	var test;
  	var num;
  	var min;
  	var max;
  	var errors='';
	var args=custom_validateForm.arguments;
  	for (i=0; i<(args.length-2); i+=3) { 
  		test=args[i+2]; 
  		val=document.getElementById(args[i]);
    	if (val) { 
    		nm=getLabel(val.name);
			if (val.id == "PRODID"){
				if (val.selectedIndex <= 0){
					errors+='- '+nm+' is required.\n';
				}
			}
    		else if (trim(val=val.value)!="") {
      			if (test.indexOf('isEmail')!=-1) { 
      				p=val.indexOf('@');
        			if (p<1 || p==(val.length-1)) { 
        				errors+='- '+nm+' must contain a valid e-mail address format.\n';
        			}
      			} else if (test!='R') { 
      				num = parseFloat(val);
        			if (isNaN(val)) { 
        				errors+='- '+nm+' must contain a number.\n';
        			}
       				if (test.indexOf('inRange') != -1) { 
       					p=test.indexOf(':');
          				min=test.substring(8,p); max=test.substring(p+1);
          				if (num<min || max<num) {
          					errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
          				}
    				} 
    			} 
    		} else if (test.charAt(0) == 'R') {
    			errors += '- '+nm+' is required.\n'; 
    		}
    	}
	} 
  	if (errors) {
  		alert('Please check the following items:\n'+errors);
  	}
  	document.MM_returnValue = (errors == '');
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function getLabel( elementName ){
	var labels=document.getElementsByTagName("label"),i;
	for( i=0; i<labels.length;i++ ){
		if(labels[i].htmlFor==elementName){
			return labels[i].innerHTML;
		}
	}
	return elementName;
}