/*
 * Baynet AVM Widget
 * version 1.1
 * 
 * - Dennis Baskin
 *
*/

(function () {
    // Localize jQuery variable
    var jQuery;

    // Get widget vars
    var _guid = baynet_avm.a;
    var _agentBaseUrl = baynet_avm.b
    var _widgetid = baynet_avm.c;
    var _widgetOptions = baynet_avm.d;
	var _shared = baynet_avm.shared || 0;

    /******** Load jQuery if not present *********/
    if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.6.4') {
        var script_tag = document.createElement('script');
        script_tag.setAttribute("type", "text/javascript");
        script_tag.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js");
        script_tag.onload = function () {
            jQuery = window.jQuery.noConflict(true);
            scriptLoadHandler();
        };
        script_tag.onreadystatechange = function () { // Same thing but for IE
            if (this.readyState == 'complete' || this.readyState == 'loaded') {
                jQuery = window.jQuery.noConflict(true);

                // Restore $ and window.jQuery to their previous values and store the
                // new jQuery in our local jQuery variable
                scriptLoadHandler();
            }
        };
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
    } else {
        jQuery = window.jQuery;

        scriptLoadHandler();
    }

    function scriptLoadHandler() {
        /******** Clean Up ************/
        jQuery('.avm-added-class').remove();

        /******** Load styles *********/
        var colbox_css = document.createElement('link');
        colbox_css.setAttribute("type", "text/css");
        colbox_css.setAttribute("rel", "stylesheet");
        colbox_css.setAttribute("class", "avm-added-class");
        colbox_css.setAttribute("href", _agentBaseUrl + "/javascript/avm/baynetbox.css");
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(colbox_css);

        var widget_css = document.createElement('link');
        widget_css.setAttribute("type", "text/css");
        widget_css.setAttribute("rel", "stylesheet");
        widget_css.setAttribute("class", "avm-added-class");
        widget_css.setAttribute("href", _agentBaseUrl + "/javascript/avm/css/" + _widgetOptions.t + ".css");
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(widget_css);

        if (jQuery.baynetbox === undefined) {
            loadJQueryDependentScript(_agentBaseUrl + '/javascript/avm/jquery.baynetbox-min.js', function () {
				//jQuery.avm_colorbox = jQuery.colorbox;
				//jQuery.colorbox = null;
                avm_main();
            });
        }
        else {
			//jQuery.avm_colorbox = jQuery.colorbox;
            avm_main();
        }

    }

    function loadJQueryDependentScript(src, success) {
        var origWindowJQuery = window.jQuery;
        window.jQuery = jQuery;
        var script_tag = document.createElement('script');
        script_tag.setAttribute("type", "text/javascript");
        script_tag.setAttribute("src", src);
        var onloadCallback = function () {
            window.jQuery = origWindowJQuery;
            success();
        };
        script_tag.onload = onloadCallback;
        script_tag.onreadystatechange = function () { // Same thing but for IE
            if (this.readyState == 'complete' || this.readyState == 'loaded') {
                onloadCallback();
            }
        };
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
    }

    /*********** WIDGET MAIN ***************/
    function avm_main() {
        jQuery(document).ready(function ($) {
            var $widget = $('#' + _widgetid);
            var widget_template = '<div id="AVMWidget_' + _guid + '" class="AVMWidget avm_size_' + _widgetOptions.s + ' avm_orient_' + _widgetOptions.o + '" widgetid="' + _guid + '" style="width:' + _widgetOptions.w + 'px; height:' + _widgetOptions.h + 'px"><div class="AVMWidgetContents"><input type="input" class="AVM_txt_code" /><input type="button" name="AVMSearchBtn" class="AVMSearchBtn button" value="Search" /></div>';

            $widget.append(widget_template);

            //Bind Events
            $widget.find('.AVM_txt_code').keypress(function (e) {
                if (e.which == 13) onSubmit();
            });
            $widget.find('.AVMSearchBtn').click(onSubmit);


            function onSubmit() {
                var results_url = _agentBaseUrl + "?pp=-3",
                    value = $widget.find('.AVM_txt_code').val(),
                    key,
					shared = (_shared == 1) ? '&shared=1' : '';

                if (value === "") return;
				
                value = value.trim();
                key = (value.indexOf(' ') >= 0 || value.length > 6) ? "&addr=" : "&code=";
                results_url += key + value + shared;
                
                $.baynetbox({ iframe: true, width: "1020px", height: "90%", href: results_url });
            }

        });
    }
})();


