﻿//include json2 for stringify
document.write('<script type="text/javascript" src="/sitemod/includes/javascript/json2.js"></script>');

function SaveExtraFormData(formId, formData, saveSuccess, saveFail) {
    var extraData = new Array();

    if (formData && formData != '') {
        var dataSplit = formData.split('&');
        for (var i = 0; i < dataSplit.length; i++) {
            var data = dataSplit[i];

            var firstIndex = data.indexOf(';');
            var secondIndex = data.indexOf('=');

            var data =
              {
                  ID: data.substring(0, firstIndex),
                  Text: data.substring(firstIndex + 1, secondIndex),
                  Value: data.substring(secondIndex + 1, data.length)
              }

            extraData[i] = data;
        }
    }

    var data = { "formId": formId, "extraData": extraData };

    var json = JSON.stringify(data);

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/sitemod/modules/form/webservices/formdatareceiver.asmx/SaveExtraFormData",
        data: json,
        dataType: "json",
        success: function (msg) {
            if (saveSuccess)
                saveSuccess();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            if (saveFail)
                saveFail();
        }
    });
}


function OpenForm(formId, formExtraData, width, height) {
    var formWindow;
    var formWindowUrl;

    var formWindowWidth = 850;
    var formWindowHeight = 900;

    var pid = GetPid();
    var fromPageIdQueryString = "";

    if (pid) {
        fromPageIdQueryString = "&frompageid=" + pid;
    }

    if (width) {
        formWindowWidth = width;
    }
    if (height) {
        formWindowHeight = height;
    }

    formWindow = window.open('/sitemod/modules/form/loadingpage.aspx?formid=' + formId + fromPageIdQueryString, 'form', 'width=' + formWindowWidth + ',height=' + formWindowHeight + ',resizable=yes,scrollbars=yes');

    if (!formWindow) {
        formWindow = window.open();
        formWindow.location.href = '/sitemod/modules/form/loadingpage.aspx?formid=' + formId + fromPageIdQueryString;
    }

    SaveExtraFormData(formId, formExtraData, function () {
        formWindow.location = '/sitemod/modules/form/default.aspx?formid=' + formId + '&loadextradata=1' + fromPageIdQueryString;
    },
     function () {
         formWindow.location = '/sitemod/modules/form/default.aspx?formid=' + formId + '&loadextradata=1' + fromPageIdQueryString;
     });
}

function SubmitForm(formId, formData, publicMailReceiver, adminMailReceiver, changedSubject, isCustomer) {

    $("#SecureFormDataReceiverIframe").remove();

    var protocol = "https://";

    if (document.location.host.indexOf("dev.nordea.com") > -1 || document.location.host.indexOf("test.nordea.com") > -1) {
        protocol = "http://";
    }

    var url = protocol + document.location.host + "/sitemod/modules/form/webservices/secureformdatareceiver.ashx?requesttype=submitform&formid=" + formId + "&formdata=" + encodeURIComponent(formData);

    if (publicMailReceiver)
        url += "&publicmailreceiver=" + publicMailReceiver;
    if (adminMailReceiver)
        url += "&adminmailreceiver=" + adminMailReceiver;
    if (changedSubject)
        url += "&changedsubject=" + changedSubject;
    url += "&iscustomer=" + isCustomer;

    $("body").append('<iframe id="SecureFormDataReceiverIframe" src="' + url + '" style="display:none;"></iframe>');
}

function getURLParam(strParamName) {
    var strReturn = "";
    var strHref = window.location.href;
    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for (var iParam = 0; iParam < aQueryString.length; iParam++) {
            if (
aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1) {
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return unescape(strReturn);
}

function GetPid() {
    var pid = getURLParam("pid");

    if (!pid) {
        if (window.location.href.match("/(\\d+)\\.htm")) {
            pid = window.location.href.match("/(\\d+)\\.htm")[1];
        }
    }

    return pid;
}

// function SubmitForm_Old(responseCallback, formId, submitData, publicMailReceiver, adminMailReceiver, changedSubject, isCustomer) {

//    var protocol = "https://";

//    if (document.location.host.indexOf("dev.nordea.com") > -1 || document.location.host.indexOf("test.nordea.com") > -1) {
//        protocol = "http://";
//    }

//    $("body").append('<iframe id="SecureFormDataReceiverIframe" src="'+ protocol + document.location.host + '/sitemod/modules/form/webservices/secureformdatareceiver.aspx" style="visibility:hidden; width:1px; height:1px;"></iframe>');
//    
//    var iframe = $("#SecureFormDataReceiverIframe")[0];
//    //alert(iframe.contentWindow.document.body);
//    
//    WaitForReadyIFrame(iframe, false, function() {
//        //var iframeBody = $(iframe.contentDocument.body);
//        //alert(iframe.contentWindow.document.body.innerHTML);
//        var iframeBody = $(iframe.contentWindow.document.body);
//        
//        iframeBody.find("#formId").val(formId);
//        iframeBody.find("#submitData").val(submitData);
//    
//        if(publicMailReceiver)
//            iframeBody.find("#publicMailReceiver").val(publicMailReceiver);
//        if (adminMailReceiver)
//            iframeBody.find("#adminMailReceiver").val(adminMailReceiver);
//        if(changedSubject)
//            iframeBody.find("#changedSubject").val(changedSubject);
//        iframeBody.find("#isCustomer").val(isCustomer);
//    
//        iframeBody.find("#submitForm").click();
//    
//        WaitForReadyIFrame(iframe, true, function() {
//        //var iframeBody = $(iframe.contentDocument.body);
//                
//            var iframeBody = $(iframe.contentWindow.document.body);
//            
//            var response = iframeBody.find("#response").val();
//            $(iframe).remove();

//            if (responseCallback)
//                responseCallback(response);
//        });
//    });
//}

/* First parameter is name of the flash movie, and it assumes there's a callback method available named FormSubmitComplete */
//function SubmitFormFromFlash(movieName, formId, submitData, publicMailReceiver, adminMailReceiver, changedSubject, isCustomer) {

//    SubmitForm(function(response) {
//        getFlashMovie(movieName).FormSubmitComplete(response);
//    }, formId, submitData, publicMailReceiver, adminMailReceiver, changedSubject, isCustomer);
//}

//function WaitForReadyIFrame(iframe, posted, callback) {
//    try {
//        //$(iframe.contentDocument.body.innerHTML);
//        //$(iframe.contentWindow.document.body.innerHTML) //always a succes in FF so not usable
//        $(iframe.contentWindow.document.form1.innerHTML) //work both for IE and firefox
//        
//            if (posted) {
//                //var posted = $(iframe.contentDocument.body).find("#posted");
//                var posted = $(iframe.contentWindow.document.body).find("#posted");

//                if (posted.val() != "true") {
//                    throw "not posted";
//                }
//            }

//            callback();
//    }
//    catch(err)
//    {
//        setTimeout(function()
//        {
//        WaitForReadyIFrame(iframe,posted,callback);
//        },50);
//    }
//}

//function getFlashMovie(movieName) {
//    var isIE = navigator.appName.indexOf("Microsoft") != -1;
//    return (isIE) ? window[movieName] : document[movieName];
//}

