﻿/// <reference path="jquery-1.2.6-vsdoc.js" />
/// <reference path="jquery.blockUI.js" />
/// <reference path="jquery.cookie.js" />
/// <reference path="common.js" />
/// <reference path="swfobject.js" />


var resources = function() {
    var registration_form;
    var req_file;

    function init(container) {
        registration_form = $("#form_container>form");
        $(container).find(".thumb").find("a.void").click(function c() { handle_fileFetch(this); });
        $(container).find("form").bind("submit", function fs(e) { validate_form(e, this); });
        $(container).find("#preview div.close").click(close_preview);
    }

    function close_preview() {
        $("#video_container").empty().hide(300, function c() {
            $("#preview").hide(1000);
        });
    }

    function validate_form(e, form) {
        e.preventDefault();

        var action_url = $(form).attr("action");
        $(form).attr("id", "validated_form");
        if (common.validate_form(form)) {
            $.post(action_url, $(form).serialize(), function cb(data) { $.unblockUI(); handle_callback(data); });
        }
    }

    function handle_callback(data) {
        isRegistered = $.cookie("isRegistered") == "True";
        var patternVideo = new RegExp("flv");
        var isVideo = patternVideo.test(data);
        var patternException = new RegExp("exception:");
        isValid = !patternException.test(data);
        if (isValid) {
            if (isVideo) {
                $("#preview").find(".title").text(req_file);
                $("#preview").show(1000, function c() {
                    var s1 = new SWFObject(files_path + 'player.swf', 'player', '100%', '100%', '9');
                    s1.addParam('autostart', 'true');
                    s1.addParam('allowfullscreen', 'true');
                    s1.addParam('allowscriptaccess', 'always');
                    s1.addParam("wmode", "transparent");
                    s1.addParam('flashvars', 'autostart=true&file=' + data);
                    s1.write('video_container');
                    $("#video_container").fadeIn();
                });
            }
            else {
                window.open(data);
            }
        }
    }


    function handle_fileFetch(link) {
        var register_request = $(link).attr("req") == "True" && !isRegistered;
        req_file = $(link).attr("href");

        if (register_request) {
            common.open_lighbox($(registration_form).clone());
            init($(".lightbox_container"));
            $(".lightbox_container").find("input[name=req_file]").val(req_file);
        }
        else {
            handle_callback(files_path + req_file);
        }
    }

    $(document).ready(function f() { init(document); });
    return {}
} ();
