﻿var origurl;

$(document).ready(function () {
    // Any code to run after jQuery.Form loads goes here!


    $("head").append("<link href='http://pbhsinform.com/_css/informOptIn.css' rel='stylesheet' type=text/css media=screen />");

    origurl = $('form#inFormSignup').attr('action');

    jshostname = origurl.split(".");

    if (location.host == 'localhost') {
        subscriptionHandler = "http://localhost/inform/";
    } else {
        subscriptionHandler = "http://pbhsinform.com"
    }

    var options = {

        // target: '#submitResponse',   // target element(s) to be updated with server response 
        dataType: "json",
        type: 'get',

        contentType: "application/javascript",
        //success: doResponse,
        //jsonpCallback: doResponse,

        beforeSubmit: doBeforeSubmit,
        url: 'http://pbhsinform.com/handlers/subscribe.ashx?callback=jsonpCallback-hidden'
        //url: 'http://localhost/inform/handlers/subscribe.ashx?callback=jsonpCallback-hidden'
        //resetForm: false
    };

    $("form#inFormSignup :submit").before("<div id='subscribe'>Would you like to subscribe to our practice newsletter?</div>");

    $("form#inFormSignup :submit").click(function (event) {
        event.preventDefault();
        submitForm();
    });

    $("<input type='checkbox' name='informSubscribe-hidden' checked/>").click(function () {

        if ($(this).is(':checked')) {
            // $('form').ajaxForm(options);
        } else {
            // $('form').ajaxFormUnbind();
        }
    }).prependTo('form#inFormSignup div#subscribe');

    $("form#inFormSignup").append("<input type='hidden' id='informhp' name='informhp-hidden'/>");
    $("form#inFormSignup").append("<input type='hidden' id='hostname' name='hostname-hidden' value='" + jshostname[1] + "'/>");
    $("#informOptInForm").css({ 'visibility': 'visible' }).hide().fadeIn('fast');
});

function submitForm() {
    var fields = $('form#inFormSignup').serialize();
    // alert(fields);
    var url = 'http://pbhsinform.com/handlers/subscribe.ashx?' + fields + '&';
    //var url = 'http://localhost/inform/handlers/subscribe.ashx?' + fields + '&';
    var callback = 'jsonpCallback';
    jsonp(url, callback);
}

//all the jsonp magic is here, we create an script element and we set the url and callback function.
function jsonp(url, callback) {
    scriptElement = document.createElement("SCRIPT");
    scriptElement.type = "text/javascript";
    // i add to the url the call back function
    scriptElement.src = url + "jsonpCallback-hidden=" + callback;
    document.getElementsByTagName("HEAD")[0].appendChild(scriptElement);

}


load = function () {
    // load.getScript("http://code.jquery.com/jquery.min.js");
    // load.getScript("http://pbhsinform.com/js/jquery-1.4.2.min.js");
    // load.tryJReady(0); // We will write this function later. It's responsible for waiting until jQuery loads before using it.
}

// dynamically load jquery
load.getScript = function (filename) {
    var script = document.createElement('script')
    script.setAttribute("type", "text/javascript")
    script.setAttribute("src", filename)
    if (typeof script != "undefined")
        document.getElementsByTagName("head")[0].appendChild(script)
}




function doBeforeSubmit(formData, jqForm, options) {

    // alert("about to Submit: " + formData);
    var value = $('#informhp-hidden').fieldValue();
    submitForm();
    if (value == '') {
        return true;
    } else {

        return false;
    }
}
function doResponse(data) {
    // var myObj = eval('(' + data + ')');
    //alert("test");
    $("form#inFormSignup").ajaxFormUnbind();
    $("form#inFormSignup").hide();
    $("#submitResponse").fadeIn('fast');
    $("#submitResponse").append('<p>' + data.message + '</p>');
    // $("form").attr('action', origurl);
    // $("form").submit();
}
function jsonpCallback(data) {
    // var myObj = eval('(' + data + ')');
    // alert("jsonp " + data.message);
    //$("form").ajaxFormUnbind();
    $("form#inFormSignup").hide();
    $("#submitResponse").fadeIn('fast');
    $("#submitResponse").append('<p>' + data.message + '</p>');
    // $("form").attr('action', origurl);
    // $("form").submit();
}


load();
