﻿(function ($) {

    var methods = {
        settings: {},
        defaultOpts: { width: 'auto', height: 'auto',topoffset:100 },
        init: function (options) {
            methods.settings = $.extend(methods.defaultOpts, options);
            var container = this; //already jQuery object
            $(window).resize(function () {//register adjusting position on window resize.
                $(container).PtouchSelector('adjustPos');
            });
            return $(methods.settings.trigger).each(function () {
                $(this).click(function () {
                    var mainArea = container;
                    var mainOffset = mainArea.offset();
                   // console.log("top = " + mainOffset.top + " ; left = " + mainOffset.left);
                    var fWidth = '';
                    var fHeight = '';
                    fWidth = (methods.settings.width == 'auto') ? mainArea.width() + "px" : methods.settings.width;
                    fHeight = (methods.settings.height == 'auto') ? mainArea.height() - methods.settings.topoffset + "px" : methods.settings.height;
                    var selectorWrapper = $("#productSelector-frame");
                    if (selectorWrapper.length == 0) {
                        selectorWrapper = $("<div id='productSelector-frame'></div>");
                        mainArea.append(selectorWrapper);
                        selectorWrapper.html('<iframe src="http://webapps.easy2.com/cm/masterflash/generic_index.asp?page_id=36168279&noadjust=1" width="' + fWidth + '" height="' + fHeight + '" scrolling="no" frameborder="0"></iframe><br />');
                    }

                    selectorWrapper.css({ width: fWidth, height: fHeight,position:'absolute',zIndex:'3',backgroundColor:'#fff', paddingTop: "5px", paddingBottom: "5px"});
                    $(mainArea).PtouchSelector('adjustPos');
                });
            });
           
//            return this.each(function () {
//                
//            });

        },

        adjustPos: function () {
            var mainArea = this;
            var mainOffset = mainArea.offset();
            var selectorWrapper = $("#productSelector-frame");
            selectorWrapper.css({ top: (mainOffset.top + methods.settings.topoffset), left: mainOffset.left });
            return this;

        }
    }; //end methods

    $.fn.PtouchSelector = function (method) {

        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.PtouchSelector');
        }
    };

})(jQuery);
