/**
 * Created by alex on 9/29/14.
 */
var quickPopupsWidget;
quickPopupsWidget = {

    presetUrls: null,
    modal: null,
    siteBase: '',


    init: function (siteBase, container) {
        this.siteBase = siteBase;

        this.presetUrls = {
            'Carfax': 'http://www.carfax.com/cfm/ccc_DisplayHistoryRpt.cfm?partner=SOL_0&vin={{vehicle_vin}}'
        };

        var elems = typeof container == 'undefined' ? $('.quick-popup-btn') : container.find('.quick-popup-btn');

        elems.unbind('click').bind('click', function () {
            var button = $(this);
            var widget = button.parents('div.vehicleQuickPopupsWidget');
            var modal = quickPopupsWidget.modal;
            var content = modal.find('.modal-body');

            var iframe = $('<iframe></iframe>');

            var page = button.attr('data-page');
            var target = button.attr('data-target');
            var params = button.attr('data-params');

            if (quickPopupsWidget.presetUrls[page.trim()] != undefined) {
                page = quickPopupsWidget.presetUrls[page];

                //replace variables
                page = page.replace("{{vehicle_vin}}", widget.attr('data-vin'));
            } else {

                if (page.toLowerCase().substr(0, 5) != 'http:' && page.toLowerCase().substr(0, 6) != 'https:') {
                    page = quickPopupsWidget.siteBase + page + params;
                }

            }

            var windowObj = (parent != undefined) ? parent.window : window;
            if ($(windowObj).width() > 768 && (target == '' || target == 'undefined' ||  target == 'iframe')) {
                iframe.attr('src', page);
                iframe.css({'width': '100%', 'height': '90%', 'border': 'none'});

                modal.find('.modal-title').html(button.html());
                modal.attr('id','modal-'+button.html().toLowerCase().replace(/ /g, '-'));
                content.html('').append(iframe);
                modal.modal('show');
            } else {

                if (target == 'undefined'){
                    target = '_blank';
                }
                var win = window.open(page, target);
                win.focus();
            }


        });

        //add modal
        if (this.modal == null) {
            this.modal = $('<div class="modal fade" style="z-index: 9999;"><div class="modal-dialog" style="width: 90%; height: 80%"><div class="modal-content" style="height:100%"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button><h4 class="modal-title">&nbsp;</h4></div><div class="modal-body" style="height: 100%"></div></div></div></div>');

            if (undefined != parent) { //append outside iframes
                parent.$('body').append(this.modal);
            } else {
                $('body').append(this.modal);
            }
        }

    }

};
