var player;
var domain = 'http://deluxereferralrewards.com/';
$(document).ready(function () {
    $('a.replaybtn').click(function (e) {
        e.preventDefault();
        $('#videomsg').fadeOut();
        replayVideo();
    })
    $('.toggle-box').children('.box-content').hide();
    $('.box-title').hover(function () {
        $(this).css({
            'cursor': 'pointer'
        });
        $(this).children('h4').addClass("hover");
    }, function () {
        $(this).children('h4').removeClass("hover");
    });
    $('.box-title').click(function (e) {
        $(this).children('h4').removeClass("hover");
        $(this).children('h4').toggleClass("selected");
        $(this).parent('.toggle-box').find('.box-content').slideToggle("normal");
    });
    if (document.getElementById("bannerform")) {
        $('#orderform')[0].reset();
        $('#bannerform')[0].reset();
        $('#bnr-ns').hide();
        $('#bnr-form').show();
        $('#drr_affSmall').hide();
        $('#bnrBtnLg').click(function () {
            $('#drr_affSmall').hide();
            $('#drr_affLarge').show();
        });
        $('#bnrBtnSm').click(function () {
            $('#drr_affLarge').hide();
            $('#drr_affSmall').show();
        });
        $("a.iframe").fancybox({
            'padding': 0,
            'autoScale': false,
            'transitionIn': 'none',
            'transitionOut': 'none',
            'overlayOpacity': '0.8',
            'overlayColor': '#f8f8f8',
            'height': 500,
            'width': 600
        });
        $("a.imglink").fancybox({
            'padding': 0,
            'autoScale': false,
            'transitionIn': 'none',
            'transitionOut': 'none',
            'overlayOpacity': '0.8',
            'overlayColor': '#f8f8f8'
        });
    };
    $("#contactform").validate({
        rules: {
            c_subject: "required",
            c_msg: "required",
            c_name: "required",
            c_email: {
                required: true,
                email: true
            }
        },
        messages: {
            c_subject: "Please specify subject",
            c_msg: "Please let us know how we can help",
            c_name: "Please specify your name",
            c_email: {
                required: "We need your e-mail address to contact you",
                email: "Your email address must be in the format of name@domain.com"
            }
        }
    });
    $("#orderform").validate({
        rules: {
            "product[]": {
                required: true,
                minlength: 1
            },
            c_fname: "required",
            c_lname: "required",
            c_email: {
                required: true,
                email: true
            },
            c_psc: "required",
            c_company: "required",
            c_phone: "required",
            c_address1: "required",
            c_city: "required",
            c_state: "required",
            c_zip: "required"
        },
        messages: {
            c_name: "Please specify your name",
            "product[]": "Please select at least one product.",
            c_email: {
                required: "We need your e-mail address to contact you",
                email: "Your email address must be in the format of name@domain.com"
            }
        },
        errorPlacement: function (error, element) {
            if (element.attr("name") == "product[]") {
                error.insertBefore("#productlist");
            } else {
                error.insertAfter(element);
            }
        },
        submitHandler: function (form) {
            var firstname = $('input[name=c_fname]').val();
            var lastname = $('input[name=c_lname]').val();
            var company = $('input[name=c_company]').val();
            var email = $('input[name=c_email]').val();
            var psc = $('input[name=c_psc]').val();
            var phone = $('input[name=c_phone]').val();
            var address1 = $('input[name=c_address1]').val();
            var address2 = $('input[name=c_address2]').val();
            var city = $('input[name=c_city]').val();
            var state = $('select[name=c_state]').val();
            var zip = $('input[name=c_zip]').val();
            if ($('input:checked[id=product1]').length > 0) {
                var cb1 = $('input:checkbox[id=product1]').val();
                var qty1 = $('select[id=qty1]').val();
            }
            if ($('input:checked[id=product2]').length > 0) {
                var cb2 = $('input:checkbox[id=product2]').val();
                var qty2 = $('select[id=qty2]').val();
            }
            var dataArray = [firstname, lastname, company, email, psc, phone, address1, address2, city, state, zip, cb1, qty1, cb2, qty2];
            $.ajax({
                type: "POST",
                url: domain + '/partner-tools/senddata.php',
                data: "fields=" + dataArray,
                success: function (data) {
                    if (data == "success") {
                        $('#alertMsg').html('Thank you! Your marketing materials order has been sent to<br />the Deluxe Referral Rewards program manager.');
                        $('#alertMsg').addClass('msgSuccess');
                        $('#alertMsg').show().delay(4000).fadeOut(500);
                        resetForm(this);
                    } else {
                        $('#alertMsg').html('Please complete all required fields. If your order fails again, please contact the<br />Deluxe Referral Rewards program manager at 800-892-8929.');
                        $('#alertMsg').addClass('msgError');
                        $('#alertMsg').show();
                    }
                }
            });
        }
    });
    $("#bannerform").validate({
        rules: {
            email: {
                required: true,
                email: true
            },
            psc_code: "required",
            agreement: "required"
        },
        messages: {
            email: {
                required: "Please provide your email address",
                email: "Your email address must be in the format of name@domain.com"
            },
            psc_code: "Please provide your PSC provided by Deluxe",
            agreement: "Please read and agree to the Terms and Agreements."
        },
        errorPlacement: function (error, element) {
            if (element.attr("name") == "agreement") {
                error.insertAfter("li.terms");
            } else {
                error.insertAfter(element);
            }
        },
        submitHandler: function (form) {
            var email = $('input[name=email]').val();
            var psc = $('input[name=psc_code]').val();
            var agreement = $('input[name=agreement]').val();
            var size = $('input:radio[name=banner_size]:checked').val();
            var dataArray = [email, psc, agreement, size];
            $.ajax({
                type: "POST",
                url: 'usercheck.php',
                data: "fields=" + dataArray,
                success: function (data) {
                    if (data == "success") {
                        $('#bnr-error').removeClass('msgError');
                        $('#bnr-error').fadeOut(500);
                        getBannerCode(size, psc, 'success');
                    } else {
                        getBannerCode(size, psc, 'error');
                        $('#bnr-error').html('There was an error with your submission. Please try again or contact the<br />Deluxe Referral Rewards program manager at 800-892-8929.').show();
                        $('#bnr-error').addClass('msgError');
                        $('#bnr-error').show();
                    }
                }
            });
        }
    });
});

function getBannerCode(size, psc, status) {
    if (status == 'error') {
        $('textarea[name="codebox"]').val('There was an error generating code.');
    } else {
        if (size == 'large') {
            $('textarea[name="codebox"]').val('<!-- DRR Large Banner Begin -->\n<a href="https://www.deluxeforms.com/next_page_action.cfm?keycode=' + psc + '"><img src="http://www.deluxereferralrewards.com/aff/?type=' + size + '&aff=' + psc + '" border="0" width="234" height="60" alt="Purchase Deluxe Products"/></a>\n<!-- DRR Banner End -->');
        } else if (size == 'small') {
            $('textarea[name="codebox"]').val('<!-- DRR Small Banner Begin -->\n<a href="https://www.deluxeforms.com/next_page_action.cfm?keycode=' + psc + '"><img src="http://www.deluxereferralrewards.com/aff/?type=' + size + '&aff=' + psc + '" border="0" width="120" height="60" alt="Purchase Deluxe Products"/></a>\n<!-- DRR Banner End -->');
        } else {
            $('textarea[name="codebox"]').val('Error generating code');
        }
        $('#bnr-code').slideDown();
    }
}

function resetForm(obj) {
    $(':input', obj.id).not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');
}

function playerReady(obj) {
    player = document.getElementById(obj.id);
    player.addModelListener('STATE', 'stateHandler');
}

function stateHandler(obj) {
    if (obj.newstate == 'COMPLETED') {
        $('#videomsg').fadeIn();
    }
}

function replayVideo() {
    player.sendEvent("PLAY", "true");
}

function gup(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null) return "";
    else
    return results[1];
}
