function validZip(zp,zcountry) { 	
	if (!zcountry) zcountry="us";
	var country=zcountry.toLowerCase();	
	if (!zp && (country=="us" || country=="ca")) return false;
	
	if (country == 'us' || country == 'usa'  || country == 'u.s.a.' || country == 'united states' || country == '1' ) { 
			Nbrs = 0;
			validChars = "-0123456789";
			validNbrs="0123456789";
			for (z=0; z<zp.length; z++) { 
				charOK=false;
				for (i=0; i<validChars.length; i++) {
						if (zp.charAt(z)== validChars.charAt(i) ) {
							charOK=true;
							break;
						} 
				}
				if (!charOK) { 
				 return false;
				} 
				isNbr=false;
				for (i=0; i<validNbrs.length; i++) {
						if (zp.charAt(z)== validNbrs.charAt(i) ) {
							isNbr=true;
							break;
						} 
				}
				if (isNbr) Nbrs++; 
			}  
			if (Nbrs < 5 || Nbrs > 10) {
				return false; 
			}			
			return true;
	}
	else if(country=="ca" || country=="canada") { // canada: XXX YYY
		if(zp.length!=7 || zp.charAt(3)!=' ') { return false; }
	} 
	return true;
}