jQuery.noConflict();
var EmwaPopoverItem = {
    emwaFrame:null,
    emwaContainer:null,
    childAsinValue: "",
    closeEMWAPopupButton:null,
    closeEMWAPopupIcon:null,

    createEMWAFrameAndDiv:function()
    {
        var wrapperParent = jQuery('#wrapper').parent();

        var EMWAPopoverFrame = jQuery('<iframe></iframe>');
        EMWAPopoverFrame.attr('id','EMWAPopoverFrame');
        wrapperParent.append(EMWAPopoverFrame);
        this.emwaFrame=EMWAPopoverFrame;
        this.emwaFrame.hide();
        this.emwaFrame.css('opacity', 0);
        this.emwaFrame.css('height',document.body.clientHeight);

        var EMWAPopoverContent = jQuery('<div></div>');
        EMWAPopoverContent.attr('id','EMWAPopoverContent');
        wrapperParent.append(EMWAPopoverContent);
        this.emwaContainer=EMWAPopoverContent;
        this.emwaContainer.hide();
        this.emwaContainer.css('opacity', 0);
    },

    showEMWAPopUp: function(asinVal,popupPosition)
    {
        if(this.emwaFrame == null || this.emwaFrame.length == 0){
            this.createEMWAFrameAndDiv();
        }
        this.childAsinValue=asinVal;
        var emwaPopupUrl="layoutDomain=Starter&ASIN=" + this.childAsinValue  + "&layoutId=Subscribe1";
        this.emwaFrame.show();
        var parentThis=this;
        jQuery.ajax({
           type     : "GET",
           url      : emwaPageSecureURL,
           data     : emwaPopupUrl,
           error    : function(html, status) {alert(status);},
           success  : function(html, status) {
                           parentThis.emwaContainer.empty();
                        parentThis.emwaContainer.append(html);
                        parentThis.closeEMWAPopupButton=parentThis.emwaContainer.find('#cancelButton');
                        parentThis.closeEMWAPopupIcon=parentThis.emwaContainer.find('#cancelIcon');
                        parentThis.handleCloseButton();
                        parentThis.emwaContainer.find('#confirmButton').click(function(){
                            parentThis.ajaxSubscribe();
                        });
                        jQuery('#wrapper').fadeTo("slow",0.30,function ()
                        {
                            parentThis.emwaFrame.fadeTo("slow",0.70);
                            parentThis.emwaContainer.fadeTo("slow",1);
                            parentThis.emwaContainer.show();
			    parentThis.emwaSetFocus();
                        });

                        parentThis.emwaContainer.css('position','absolute');
                        if(popupPosition!=null)
                            parentThis.emwaContainer.css('top',popupPosition);
                        else
                            parentThis.emwaContainer.css('top','200px');
                     },
           timeout  : 100000
        });
    },

    emwaSetFocus :function(){
	var parentThis = this;
        if (parentThis.emwaContainer.find('#cancelButton').length > 0 ){
                parentThis.emwaContainer.find('#cancelButton').focus();
        }
    },

    handleCloseButton :function()
    {
        var parentThis=this;
        this.closeEMWAPopupButton.click(function(){
		parentThis.closeEMWAPopUp();
        });

        this.closeEMWAPopupIcon.click(function(){
		parentThis.closeEMWAPopUp();
        });
	
    },

    closeEMWAPopUp: function() {
            this.emwaFrame.hide();
            this.emwaContainer.hide();
            this.emwaContainer.css('opacity',0);
            jQuery('#wrapper').fadeTo("slow",1);
            if (jQuery.browser.msie)
                this.emwaFrame.fadeTo("slow",0);
	    return false;
    },

    ajaxSubscribe: function(){
        var parentThis = this;
        jQuery.ajax({
           type     : "POST",
           url      : "/emwa",
           data     : "childAsin="+parentThis.childAsinValue,
           error    : function(html, status) {alert(status);},
           success  : function(html, status) {
                           if ("GSSCALLFAILURE" == html){
                            parentThis.showErrorPopUp();
                        }
                        else{
			    parentThis.showTYouPopUp();
		            //Send Analytics Information
    	        	    publishEmwaSubscribedAnalyticsInfo(parentThis.childAsinValue);
                        }
                     },
           timeout  : 100000
         });
    },

    showErrorPopUp: function(){
        var emwaErrorPopupUrl="layoutDomain=Starter&ASIN=" + this.childAsinValue  + "&layoutId=Error1";
        var parentThis=this;
        jQuery.ajax({
           type     : "GET",
           url      : emwaPageSecureURL,
           data     : emwaErrorPopupUrl,
           error    : function(html, status) {alert(status);},
           success  : function(html, status) {
                           parentThis.emwaContainer.empty();
                        parentThis.emwaContainer.append(html);
                        parentThis.closeEMWAPopupButton=parentThis.emwaContainer.find('#cancelButton');
                        parentThis.closeEMWAPopupIcon=parentThis.emwaContainer.find('#cancelIcon');
                        parentThis.handleCloseButton();
                     },
           timeout  : 100000
         });
    },

    showTYouPopUp: function(){
        var emwaThankYouPopupUrl="layoutDomain=Starter&ASIN=" + this.childAsinValue  + "&layoutId=Thankyou1";
        var parentThis=this;
        jQuery.ajax({
           type     : "GET",
           url      : emwaPageSecureURL,
           data     : emwaThankYouPopupUrl,
           error    : function(html, status) {alert(status);},
           success  : function(html, status) {
                           parentThis.emwaContainer.empty();
                        parentThis.emwaContainer.append(html);
                        parentThis.closeEMWAPopupButton=parentThis.emwaContainer.find('#cancelButton');
                        parentThis.closeEMWAPopupIcon=parentThis.emwaContainer.find('#cancelIcon');
                        parentThis.handleCloseButton();
                     },
           timeout  : 100000
        });
    }
};
