$(document).ready(function() {
    //this must be done prior to any modals being toggeled...
    $('.formModal iframe').each(function() {
        $(this).attr("src",constructModalQueryString($(this).attr("src")));
    });

    var openModalForm = getParameterByName("openModalForm");

    if (openModalForm.length > 0) {
        modalToggle(openModalForm);
    }

});

function modalToggle(id) {
    modalToggle(id, false);
}

function modalToggle(id, close) {
    // this is needed for form reset...
    var originalSource = $('#' + id + ' .subForm').attr("src");
//
//    if(originalSource === "")
//    {
//        $('#' + id + ' .subForm').attr("src",frame.attr("longdesc"));
//        originalSource = $('#' + id + ' .subForm').attr("src");
//    }

    if (originalSource != undefined && originalSource.length > 0) {
        $('#' + id).toggle();
        $('#modal-overlay').toggle();

        if (close) {
            $('#' + id + ' .subForm').attr("src", originalSource);
        }
    }
}

function closeVideoAndOpenForm(video, form) {

    var originalSource = window.parent.$('#' + video + ' .subForm').attr("src");

    if (originalSource != undefined && originalSource.length > 0) {
        window.parent.$('#' + video).toggle();
        window.parent.$('#modal-overlay').toggle();
        window.parent.$('#' + video + ' .subForm').attr("src", originalSource);
    }

    window.parent.$('#' + form).toggle();
    window.parent.$('#modal-overlay').toggle();

}

function getParameterByName(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 decodeURIComponent(results[1].replace(/\+/g, " "));
    }
}

function constructModalQueryString(modalTargetURL) {
    var mainURL = window.location.href;
    var urlFragment = mainURL.split("?");
    var constructedURL = modalTargetURL;

    //This will check for malformed queryStrings
    if (urlFragment.length == 2) {
        var query = urlFragment[1];
        // should never happen but just in case...
        if (query !== undefined && query !== "") {
            constructedURL = constructedURL + "?" + query;
        }

        constructedURL = constructedURL + "&framedModal=true"
    }
    else
    {
        constructedURL = constructedURL + "?framedModal=true"
    }
    return constructedURL;
}

