// Common form functions
// Tribal DDB
// 3/5/2004 Hamish MacGregor
// Basically copied from James Marshall's work on Clorox

function isName( string ) {
	if ( string.match(/^[A-Za-z\'\- ]+$/) )
		return true;
	return false;
}

function isEmail( string ) {
	if ( string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1 ) {
		return true;
	} else {
		return false;
	}
}

function isMultiEmail( string ) {
	var emails = string.split(",");
	for ( var i = 0; i < emails.length; i++ ) {
		if ( !emails[ i ] || !isEmail( emails[ i ] ) ) {
			return false;
		}
	}
	return true;
}

function isZip( zip ) {
	// 5 digit zips
	if( zip.match(/^\d\d\d\d\d$/) )
		return true;
	// 5+4 digit zips
	if( ( zip.match(/^\d\d\d\d\d\d\d\d\d$/) ) || ( zip.match(/^\d\d\d\d\d\-\d\d\d\d$/) ) )
		return true;
	return false;
}

function isPostalCode( pc ) {
	// canadian postal codes (6 or 7 characters)
	if( ( pc.match(/^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/) ) || ( pc.match(/^[A-Za-z]\d[A-Za-z] \d[A-Za-z]\d$/) ) )
		return true;
	return false;
}

function isPhone( phone ) {
	// format xxx-xxx-xxxx
	if ( phone.match(/^\d\d\d\-\d\d\d-\d\d\d\d$/) )
		return true;
	return false;
}

function fixPhone( phone ) {
	var num = phone.value;
	var newnum = "";
	var output = "";
	// strip out non-numbers
	for ( var i = 0; i < num.length; i++ )
		if ( num.charAt( i ).match(/\d/) )
			newnum += num.charAt( i );
	if ( newnum ) {
		// rebuild number with hyphen
		for ( var i = 0; i < 10; i++ ) {
			output += newnum.charAt( i )
			if ( i == 2 || i == 5 )
				output += "-";
		}
	}
	// return value
	phone.value = output;
}

