// JavaScript Document
function submitContact(){
	jQuery('form#contact-us-form').submit();
}

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function callMeBack(){
	var callMeBackName = jQuery('#callMeBackName').val();
	var callMeBackNumber = jQuery('#callMeBackNumber').val();
	
	var callMeBackNameError = false;
	var callMeBackNumberError = false;
	
	var errorText = '';
	
	if((callMeBackName == '') || (callMeBackName == 'Name')){
		callMeBackNameError = true;
	}
	if((callMeBackNumber == '') || (callMeBackNumber == 'Phone Number')){
		callMeBackNumberError = true;
	}else{
		if(checkInternationalPhone(callMeBackNumber) == false){
			callMeBackNumberError = true;
		}
	}
	
	if((callMeBackNameError == true) || (callMeBackNumberError == true)){
		if(callMeBackNameError == true){
			errorText = 'Please enter your name';
			if(callMeBackNumberError == true){
				errorText = 'Please fill in all fields';
			}
		}else if(callMeBackNumberError == true){
			errorText = 'Please enter a valid phone number';
		}			
		//fade in the error text
		jQuery('#sbCallMeBackError').slideDown(300, function(){
			//change the bg position of the input fields
			if(callMeBackNameError == true){
				jQuery('#callMeBackName').css('backgroundPosition', 'bottom left');
				jQuery('#callMeBackName').css('color', '#1d91ad');
			}else{
				jQuery('#callMeBackName').css('backgroundPosition', 'top left');
				jQuery('#callMeBackName').css('color', '#afafaf');
			}
			if(callMeBackNumberError == true){
				jQuery('#callMeBackNumber').css('backgroundPosition', 'bottom left');
				jQuery('#callMeBackNumber').css('color', '#1d91ad');
			}else{
				jQuery('#callMeBackNumber').css('backgroundPosition', 'top left');
				jQuery('#callMeBackNumber').css('color', '#afafaf');
			}
			
			jQuery('#sbCallMeBackError').html('<div id="sbErrorText">'+errorText+'</div>');
			jQuery('#sbErrorText').fadeIn(300);
		});			
	}else{
		//alert("callMeBackName = "+callMeBackName+" | callMeBackNumber = "+callMeBackNumber);
		jQuery('#sbCallMeBackSubmit').hide();
		jQuery('#sbCallMeBackLoading').show();
		jQuery.post('http://www.wegotapulse.com/wp-content/themes/wgap/php/call-me-back.php',{callMeBackName:callMeBackName, callMeBackNumber:callMeBackNumber},function(data){
			jQuery('#sbCallMeBackHolder').slideUp(600, function(){
				jQuery('#sbCallMeBackSuccess').slideDown(300, function(){
					jQuery('#sbCallMeBackSuccessText').fadeIn(300);									   
				});
			});
		});
	}
}
