/**
 *  Obviously has jQuery dependencies
 *
 *  The code below based on jquery-1.3.2
 */

var tafForm = new Object();

tafForm.reset = function () {
    jQuery("#taf_to").val("");
    jQuery("#taf_from_name").val("");
    jQuery("#taf_from_email").val("");
    jQuery("#taf_personal_message").val("");
    jQuery("#taf_to_tips").html("");
    jQuery("#taf_from_name_tips").html("");
    jQuery("#taf_email_tips").html("");
    jQuery("#taf_send_to_sender").attr('checked', true);

    delete this.regFirst;
    delete this.coRegFirst;
    delete this.registries;

    this.regFirst = "";
    this.coRegFirst = "";
    this.registries = "";

    jQuery("#taf_pre_post").show();
    jQuery("#taf_post_post").hide();
};

tafForm.display = function (regId,regFirstName,coRegFirstName,gvr,retailerName) {
    this.reset();
    this.regFirst=regFirstName;
    this.coRegFirst=coRegFirstName;
    this.registries = escape(retailerName+"$"+gvr);

    var sampleMessage = "Check out " + regFirstName + " and "+ coRegFirstName + "'s baby registry at:<br/><strong><u><a target='_blank' href='" + gvr + "'>" + retailerName + "</a></u></strong>";

    jQuery("#taf_sample_message").html(sampleMessage);
    jQuery("#tell_a_friend_box").dialog("open");
    jQuery('.taf-dialog-class').css('left', (jQuery(window).width()-jQuery('.taf-dialog-class').width())/2);

    jQuery("#taf_sample_message").html(sampleMessage);
    jQuery("#tell_a_friend_box").dialog("open");
    jQuery('.taf-dialog-class').css('left', (jQuery(window).width()-jQuery('.taf-dialog-class').width())/2);
};

tafForm.validateForm = function() {
    var val = true;
    var toEmailRegEx = /^(\s*(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)(\s*[,;]?\s*))+$/;
    var fromEmailRegEx = /^\s*(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*$/;

    if(jQuery.trim(jQuery("#taf_to").val()) == "") {
        jQuery("#taf_to_tips").html("To email is required.");
        val = false;
    } else {
        if(toEmailRegEx.test(jQuery("#taf_to").val()) == false) {
            jQuery("#taf_to_tips").html("Please enter a valid email address.");
            val = false;
        } else {
            jQuery("#taf_to_tips").html("");
        }
    }

    if(jQuery.trim(jQuery("#taf_from_name").val()) == "") {
        jQuery("#taf_from_name_tips").html("Your name is required.");
        val = false;
    } else {
        jQuery("#taf_from_name_tips").html("");
    }

    if(jQuery.trim(jQuery("#taf_from_email").val()) == "") {
        jQuery("#taf_email_tips").html("Your email is required.");
        val = false;
    } else {
        if(fromEmailRegEx.test(jQuery("#taf_from_email").val()) == false) {
            jQuery("#taf_email_tips").html("Valid email is required.");
            val = false;
        } else {
            jQuery("#taf_email_tips").html("");
        }
    }

    return val;
};

tafForm.submit = function() {
    if(!this.validateForm()) {
        return false;
    }

    var paramMap = {};
    paramMap.toEmailAddresses = jQuery("#taf_to").val();
    paramMap.fromName = jQuery("#taf_from_name").val();
    paramMap.fromEmailAddress = jQuery("#taf_from_email").val();
    paramMap.registries = this.registries;
    paramMap.personalMessage = jQuery("#taf_personal_message").val();
    paramMap.sendToSender = jQuery("#taf_send_to_sender").attr('checked');
    paramMap.regName = this.regFirst;
    paramMap.coRegName = this.coRegFirst;
    paramMap.subject = jQuery.trim(jQuery("#taf_from_name").val()) + " wanted you to see " + this.regFirst + " and " + this.coRegFirst + "'s Baby Registry"; 
    jQuery.post("/babySearchResultStaf.action", paramMap);

    jQuery("#taf_pre_post").hide();
    jQuery("#taf_post_post").show();
};

var displayTaf = function(regId,regFirstName,coRegFirstName,gvr,retailerName) {
    gvr = "http://registry.thenestbaby.com/"+gvr;
    tafForm.display(regId,regFirstName,coRegFirstName,gvr,retailerName);
};

function validateSearchRevision() {
    if(jQuery("#revise_first").val() == null || jQuery.trim(jQuery("#revise_first").val()) == "" || (jQuery("#revise_first").val().length < 1)
            || jQuery("#revise_last").val() == null || jQuery.trim(jQuery("#revise_last").val()) == "" || (jQuery("#revise_last").val().length < 2) ) {
        jQuery("#revise_search_error").css("display","block");
        return false;
    }
    return true;
}

function initializePopupElements(hasSearchResults) {
    jQuery(".revise_search_link").click(function() {
        jQuery("#revise_search_box").dialog("open");        
        jQuery('.revise-search-dialog-class').css('left', (jQuery(window).width()-jQuery('.revise-search-dialog-class').width())/2);
    });

    if(hasSearchResults) {
        jQuery("#revise_search_box").dialog({"bgiframe": true, "autoOpen": false, "width": 460, dialogClass: 'revise-search-dialog-class', position: [-500,190] });
        jQuery("#tell_a_friend_box").dialog({"bgiframe": true, "autoOpen": false, "width": 460, dialogClass: 'taf-dialog-class', position: [-500,190]});
        jQuery("#cpl_srch_right_banner_alt").load("couponPlacement.action");
        jQuery(".paging").removeClass("paging").addClass("paging_bump");
        jQuery(".searchResults").removeClass("searchResults").addClass("searchResultsBump");
        jQuery(".actionMessage").removeClass("actionMessage").addClass("actionMessageBump");
    }

    jQuery("#taf_submit").click(function() {
        tafForm.submit();
    });

//    jQuery("#cards_go_here").load("giftCardsPlacement.action");
}

function doCoupleSearch(e) {
    if(e.type == 'click'){
        window.open('http://registry.weddingchannel.com/cs/search.action?rfn='+jQuery('#firstName').val()+'&rln='+jQuery('#lastName').val()+'&a=1090&cm_mmc=Affiliate-_-TheBump-_-Search-_-Search');
        return false;
    }
    else{//e.type == 'keypress'
        var key=e.keyCode || e.which;
        if (key==13){
            window.open('http://registry.weddingchannel.com/cs/search.action?rfn='+jQuery('#firstName').val()+'&rln='+jQuery('#lastName').val()+'&a=1090&cm_mmc=Affiliate-_-TheBump-_-Search-_-Search');
            return false;
        }
    }
}

