function createArrow(inputField, msg, side, midWidth) {
	var arrow = "";
	if (midWidth == undefined)
	{
		midWidth = '143';
	}
	if (side == 'left')
	{		
		arrow = "<div class='errorform2' id='error"+inputField+"'><div class='right2'></div><div class='mid' style='width: "+midWidth+"px'><div class='errormessage'>";
		arrow += msg;
		arrow += "</div></div><div class='left2'></div></div>";
		$("#errors").append(arrow);
		$("#error"+inputField).css("top",$('#'+inputField).offset().top);
		$("#error"+inputField).css("left",$('#'+inputField).offset().left - $('#error'+inputField).width());		
	}
	else if (side == 'right')
	{
		arrow = "<div class='errorform' id='error"+inputField+"'><div class='left'></div><div class='mid'><div class='errormessage'>";
		arrow += msg;
		arrow += "</div></div><div class='right'></div></div>";
		$("#errors").append(arrow);
		$("#error"+inputField).css("top",$('#'+inputField).offset().top);
		$("#error"+inputField).css("left",$('#'+inputField).offset().left + $('#'+inputField).width() + 3);
	}
}

function validateSweeps() {
	$("div").remove(".errorform");
	$("div").remove(".errorform2");
	
	var msgString = "";
	var formValidates = true;
	
	if(isOneLetter(trim($('#swp_firstName').val()))) { 
		msgString = "Please enter your first name."; 
		createArrow('swp_firstName', msgString, 'right', '138');
		formValidates = false;
	}
	if(isOneLetter(trim($('#swp_lastName').val()))) { 
		msgString = "Please enter your last name."; 
		createArrow('swp_lastName', msgString, 'right', '138');
		formValidates = false;
	}
	if(isOneLetter(trim($('#swp_street1').val()))) {
		msgString = "Please enter your address.";
		createArrow('swp_street1', msgString, 'right', '123');
		formValidates = false;	
	}
	if(isOneLetter(trim($('#swp_city').val()))) { 
		msgString = "Please enter your city."; 
		createArrow('swp_city', msgString, 'left', '104');
		formValidates = false;	
	}
	if($('#swp_state').val() == "") {
		msgString = "Please select your state."; 
		createArrow('swp_state', msgString, 'right');
		formValidates = false;	
	}	
	var zip = trim($('#swp_zipPostal').val());
	if(!isPostalCode(zip) && !isZip(zip)) {
		msgString = "Please enter a valid zip or postal code.";
		createArrow('swp_zipPostal', msgString, 'left', '183');
		formValidates = false;		
	}	
	if($('#swp_country').val() == "") {
		msgString = "Please select your country."; 
		createArrow('swp_country', msgString, 'right');
		formValidates = false;	
	}	
	var email = trim($('#swp_email').val());
	if(!isEmail(email)) { 
		msgString = "Please enter a valid e-mail address."; 
		createArrow('swp_email', msgString, 'right', '168');
		formValidates = false;	
	}
	var confirmEmail = trim($('#swp_confirmEmail').val());		
	if(isOneLetter(confirmEmail)) { 
		msgString = "Please enter a valid e-mail address."; 
		createArrow('swp_confirmEmail', msgString, 'right', '168');
		formValidates = false;	
	}
	if(!isOneLetter(email) && !isOneLetter(confirmEmail) && (email != confirmEmail)) { 
		msgString = "Please confirm your e-mail address."; 
		createArrow('swp_confirmEmail', msgString, 'right');
		formValidates = false;
	}
	var phoneNumber = trim($('#swp_phoneNumber').val());
	if(!isPhoneNumber(phoneNumber)) { 
		msgString = "Please enter a valid phone number."; 
		createArrow('swp_phoneNumber', msgString, 'left', '169');
		formValidates = false;	
	}
	/* Comparing Dates */
	if($('#swp_birthMonth').val() == "" || $('#swp_birthDay').val() == "" || $('#swp_birthYear').val() == "") {
		msgString = "Please enter your birthday.";
		createArrow('swp_birthYear', msgString, 'right');
		formValidates = false;
	}
	else
	{
		var birthdateYear = $('#swp_birthYear').val();
		var birthdateMonth = $('#swp_birthMonth').val();
		var birthdateDay = $('#swp_birthDay').val();
		var ageToCheck = 21;
		var birthdate = new Date();  
		birthdate.setFullYear(birthdateYear,birthdateMonth-1,birthdateDay); 
		
		var curDate = new Date();
		curDate.setFullYear(curDate.getFullYear() - ageToCheck);  
		
		if ((curDate - birthdate) < 0)
		{
			msgString = "You must be at least 21 years old.";
			createArrow('swp_birthYear', msgString, 'right');
			formValidates = false;
		}
	}	
	if($('#swp_agree:checked').val() == null) {
		msgString = "Please agree to the terms and conditions."; 
		createArrow('swp_agree', msgString, 'left', '205');
		formValidates = false;
	}
	if( !formValidates ) {
		return false;
	} else {
		if (phoneNumber > 0) {
			$('#swp_phoneNumber').val(correctPhoneNumber(phoneNumber));
		}
		return true;
	}	
}

function isPhoneNumber(string) {
	if (string.search(/^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/) != -1)
		return true;
	else
		return false;
}
function isMobilePhoneNumber(string) {
	if (string.length > 0) {
		return isPhoneNumber(string);	
	}
	else
		return true;
}
function correctPhoneNumber (string) {
	phoneNumber = string.replace(/ /g,"");
	phoneNumber = phoneNumber.replace(/\(/g,"");
	phoneNumber = phoneNumber.replace(/\)/g,"");
	phoneNumber = phoneNumber.replace(/-/g,"");
	phoneNumber = phoneNumber.replace(/\./g,"");
	return phoneNumber;
}
function isBirthday(string) {
	if (string.search(/^\d{2}\s*[\/\\]\d{4}/) != -1) {
		return true;
	} else {
		return false;
	}
}
function isPostalCode(string) {
	if (string.search(/^\s*[a-ceghj-npr-tvxy]\d[a-ceghj-npr-tv-z](\s)?\d[a-ceghj-npr-tv-z]\d\s*$/i) != -1) {
		return true;
	} else {
		return false;
	}
}
function isZip(string) {
	if (string.search(/^\d{5}/) != -1)
		return true;
	else
		return false;
}
function isOneLetter(string) {
	if (string.length >= 1)
		return false;
	else
		return true;
}
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 trim(str){
	while(''+str.charAt(0)==' ')
	str=str.substring(1,str.length);
	while(''+str.charAt(str.length-1)==' ')
	str=str.substring(0,str.length-1);
	return str;
}