	function submitonce(theform){
	  if (document.all||document.getElementById){
		for (i=0;i<theform.length;i++){
			var tempobj=theform.elements[i]
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
			tempobj.disabled=true
			}
	   }
	}

    function checkempty(input,message){
    	if (!input) {alert(message);return false;}
    	return true;
    }
    function checkemail(input,message){
    	if (!input) return true;
    	if (input.indexOf('@')==-1||input.indexOf('.')==-1) {alert(message);return false;}
    	return true;
    }

    function checkphone(input,message){
    	if (!input) return true;
    	if (!(input.length==10)) {
    		alert("Phone/fax should contain 10 digits.");
    		return false;
    		}
    	return checkint(input,message);
    }
    
    function checkdate(input,message){
    	if (!input) return true;
    	if ( isNaN(Date.parse(input))||(input.indexOf('//')>-1 ))
    		{
    		alert(message);
    		return false;
    		}
    	else {
    		return true;
    	}
    }
    
    function checkzip(input,message) {
    	input=''+input;
    	if (input.length>0) {
    		if (input.length!=7) {
    			alert(message);
    			return false;
    		}
    	} else {return true;}
    	return checkint(input,message);
    }    

	function checkmonth_year(input,message){
    	input=''+input;
    	if (input.length>0) {
    		if (input.length!=7 || input.indexOf('//')!=2) {
    			alert(message);
    			return false;
    		}
    	} else {return true;}
    	return true;
    }
    
    function checkfld(input, message, chktype){
    	var rslt;
    	switch (chktype) {
    		case 'state': rslt = checkstate(input.value,message); break;
    		case 'zip': rslt = checkzip(input.value,message); break;
    		case 'email': rslt = checkemail(input.value,message); break;
    		case 'date': rslt = checkdate(input.value,message); break;
    		case 'int': rslt = checkint(input.value,message); break;
    		case 'm_y': rslt = checkmonth_year(input.value,message); break;
    		default: rslt = checkempty(input.value,message); break;
    	}
    	if (rslt) return true;
    	input.focus();
    	return false;
    }
	/*end of checking functions*/

    function onSubmit(){
        var d = document.subscribe;
        if (!checkfld(d.elements['field[fname]'], 'ERROR: Field First name is empty', 'empty')) return false;
        if (!checkfld(d.elements['field[email]'], 'ERROR: Field E-mail is empty', 'empty')) return false;

				submitonce(document.subscribe);
				/* popup window ? */
		
        return true;
    }