

function resetForm(){
	
	$('input').parent('p').children('span.error').hide();
	$('input[name="Name"]').val("")
	$('input[name="Email"]').val("")
	$('input[name="Recipients"]').val("")
	$('form[name="emailer"] textarea[name="Message"]').val("I thought you might be interested in this web page.")
	$('form[name="emailer"] input[name="Name"]').focus();
}

$(document).ready(function(){
    $('form[name="emailer"] textarea[name="ReferringURL"]').text(this.location.href);
	

    $('.email-bw').click(function(e){
		$('bnsf_social').fadeOut('1000');
    	
        resetForm();
		//start positioning 
        var offset = $(this).offset(); //get relative position of clicked object
        var screenpos = e.screenY
        var y = offset.top + 25;
        var x = offset.left;
        var ypos = y;
       // var w = $("#bnsf_email").width();
        var d = x - 190;
        var leftPos = Math.round(d) + 5;
        
        if (screenpos > 300) {
            var leftPos = x + 150;
            var diff = screenpos - 200;
            var ypos = offset.top - diff
            $('#bnsf_email').css({
                'top': ypos,
                'left': leftPos,
                'position': 'absolute'
            }).fadeIn('1000');
        }
        else {
            $('#bnsf_email').css({
                'top': ypos + 'px',
                'left': leftPos + 'px',
                'position': 'absolute'
            }).fadeIn('1000');
        }
        $('div.callback').remove();
        $('div#bnsf_email').children('div#dimensions').show();
        setValue();
        return false
    });
    
   //highlights active field in yellow
    $('.outline').bind('focus', function(){
        $(this).css({
            'background-color': '#FFFFCC'
        })
    });
    $('.outline').bind('blur', function(){
        $(this).css({
            'background-color': '#ffffff'
        }) ; });
	$('p.close1').click(function(){
 		$(this).parent('form').parent('div').parent('div').fadeOut(1000)
 }); 
});

//form events

$(document).ready(function (){
    $('.error').hide();
 $('form.share').submit(function(){
        // validate and process form here
        $('span.error').hide(); //hide all errors
        //make sure all required fields have values
        var requiredValid = true;
        $('label.required', this).each(function(idx, element){
            if ($(this).next('input').length > 0) {
                var input = $(this).next('input');
                if (input.attr('type') == 'text' && jQuery.trim(input.val()).length == 0) {
                    input.parent('p').children('span.error').show();
                    input.focus();
                    requiredValid = false;
                    return false; //break out for loop
                };
            };
        });
		
        if (!requiredValid) 
            return false;
        
        //check the email for validity
        var badEmailFound = false;
        $('input.email', this).each(function(idx, element){
            if (!validate_Email($(this))) {
                badEmailFound = true;
                return false;
            }
        });
        $('input.multiemail', this).each(function(idx, element){
            if (!multiEmail($(this))) {
                badEmailFound = true;
                return false;
            }
        });
        if (badEmailFound) 
            return false;
        
        $(this).ajaxSubmit({
            success: emailResponse
        });
        return false;
        
  });

});

function emailResponse(responseText, statusText, xhr, $form) {
	var msg = "<div class='callback'><img id='checkmark' src='/images/check.gif' /><h3 class=\"black\">Form Submitted!</h3></div>";
	
	if ($form.hasClass('share')) {
		$('div#bnsf_email').children('div#dimensions').hide();
		$('div#bnsf_email').append(msg);
	}
	
	setTimeout(function(){
                    $('div.callback').fadeOut('fast');
                    $('div#bnsf_email').fadeOut('slow');
                   
                }, 4000)
}

//validates singular email 
function validate_Email(field){
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var address = field.val()
    if (jQuery.trim(address).length == 0) {
        return true
    }
    if (reg.test(address) == false) {
        field.parent('p').children('span.error').html('Please enter a valid e-mail address').show();
        field.focus();
        return false;
    }
    return true;
}
//validates singular emails and multiple emails in the email field separated by a "," 
function multiEmail(email_field){
    var address = email_field.val();
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (address.indexOf(",") >= 0) {
        var email = address.split(',');
        for (var i = 0; i < email.length; i++) {
            if (jQuery.trim(email[i]).length > 0) {
                var ready = $.trim(email[i])
            }
            if (reg.test(ready) == false) {
                email_field.parent('p').children('span.error').html('Please enter a valid e-mail address').show();
                email_field.focus();
                return false;
            }
        }
        return true;
    }
    else {
    
        if (jQuery.trim(address).length > 0) {
            var ready = $.trim(address)
        }
        if (reg.test(ready) == false) {
            email_field.parent('p').children('span.error').html('Please enter a valid e-mail address').show();
            email_field.focus();
            return false;
        }
        return true
    }
}
