function validateItem(obj) { 
	if (obj.value == '') 
		alert(obj.form[obj.name+'_error'].value + ' This Is A Required Field.'); 
}

function validateForm(myForm) {
	var msg = '';
	var required = myForm['required'].value.split(','); 

	for(key in required) {
		if(myForm[required[key]].value == '') 
			msg += myForm[required[key]+'_error'].value + '\n';	
	}		
	
	if (msg == '') {
		if (myForm['email'] && ! validateEmail(myForm['email'].value))
			msg = myForm['email_valid_error'].value;
		if (myForm['email'] && myForm['c_email'] && myForm['email'].value != myForm['c_email'].value)
			msg = myForm['email_match_error'].value;
		if (myForm['phone'] && ! validatePhoneNumber(myForm['phone']))
			msg += myForm['phone_valid_error'].value;	
		
	}
		
	if( msg != '' ) {	
		alert( msg );
		return false;
	} else {
		return true;
	}
}

function validateEmail(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)
	   return false;

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	   return false;

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	    return false;

	 if (str.indexOf(at,(lat+1))!=-1)
	    return false;

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	    return false;

	 if (str.indexOf(dot,(lat+2))==-1)
	    return false;
	
	 if (str.indexOf(" ")!=-1)
	    return false;

	 return true;	
}

function validatePhoneNumber(obj) {
	var obj;
	var myForm = xDOM('myForm');
	
	if (obj.value == '') {
		alert(myForm[required[key]+'_error'].value); 
		return false;
	}
	
	var num = obj.value.replace(/[^0-9]/gi,''); 

	if( num.substring( 0, 1 ) == 1 )
		num = num.substring( 1, num.length );
	
	if( num.length != 10  ) 
		return false;

	var area = num.substring( 0, 3 );
	var prefix = num.substring( 3, 6 );
	var postfix = num.substring( 6, 10 );	
	obj.value = '(' + area + ') ' + prefix + '-' + postfix; 
	
	return true;
}

// === HELPER METHODS === //
	
function str_replace( a, b, c ) {
	return c.split( a ).join( b );
}