/**
 * File   : BE-jsAjaxChat-v0.2.js
 * Created: June 17, 2010 12:26:07pm GMT 05:30+
 *
 * Author: Mahesh Kumar Nayak
 *
 * Copyright (c) www.businessengineers.in
 */


var globalBEAjaxChat = null;
function BEAjaxChat2(){

    this.strVar="";
    this.strVar += "<div id=\"BEAjaxChat\">";
    this.strVar += "    <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"BEAjaxChatTable\">";
    this.strVar += "        <tr>";
    this.strVar += "            <td height=\"20\" class=\"beChatTitleRow\">";
    this.strVar += "                <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    this.strVar += "                    <tr>";
    this.strVar += "                        <td class=\"title_left\"></td>";
    this.strVar += "                        <td width=\"20\" align=\"left\" valign=\"middle\" class=\"title_bg\">";
    this.strVar += "                            <div class=\"title_logo\"></div>";
    this.strVar += "                        </td>";
    this.strVar += "                        <td align=\"left\" valign=\"middle\" class=\"title_bg\">";
    this.strVar += "                            <div class=\"beChatTitle\"></div>";
    this.strVar += "                        </td>";
    this.strVar += "                        <td width=\"19\" align=\"left\" valign=\"middle\" class=\"title_bg\">";
    this.strVar += "                            <div id=\"beChatTitleMinimizeButton\"></div>";
    this.strVar += "                        </td>";
    this.strVar += "                        <td width=\"17\" align=\"left\" valign=\"middle\" class=\"title_bg\">";
    this.strVar += "                            <div id=\"beChatTitleCloseButton\"></div>";
    this.strVar += "                        </td>";
    this.strVar += "                        <td class=\"title_right\"></td>";
    this.strVar += "                    </tr>";
    this.strVar += "                </table>";
    this.strVar += "            </td>";
    this.strVar += "        </tr>";
    this.strVar += "        <tr class=\"hider\">";
    this.strVar += "            <td>";
    this.strVar += "                <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    this.strVar += "                    <tr>";
    this.strVar += "                        <td class=\"carea_left\">&nbsp;</td>";
    this.strVar += "                        <td align=\"left\" valign=\"top\" class=\"beChatMessagesBox\">&nbsp;</td>";
    this.strVar += "                        <td class=\"carea_right\">&nbsp;</td>";
    this.strVar += "                    </tr>";
    this.strVar += "                </table>";
    this.strVar += "            </td>";
    this.strVar += "        </tr>";
    this.strVar += "        <tr class=\"hider\">";
    this.strVar += "            <td height=\"60\">";
    this.strVar += "                <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    this.strVar += "                    <tr>";
    this.strVar += "                        <td class=\"footer_left\">&nbsp;</td>";
    this.strVar += "                        <td class=\"footer_left_cut\">&nbsp;</td>";
    this.strVar += "                        <td class=\"footer_bg\">&nbsp;</td>";
    this.strVar += "                        <td class=\"footer_right\"><a target=\"_blank\" href=\"http://www.mangopops.com\"><div class=\"footer_right\"></div></a></td>";
    this.strVar += "                    </tr>";
    this.strVar += "                    <tr>";
    this.strVar += "                        <td>&nbsp;</td>";
    this.strVar += "                        <td class=\"footer_arrow\">&nbsp;</td>";
    this.strVar += "                        <td>&nbsp;</td>";
    this.strVar += "                        <td>&nbsp;</td>";
    this.strVar += "                    </tr>";
    this.strVar += "                </table>";
    this.strVar += "            </td>";
    this.strVar += "        </tr>";
    this.strVar += "    </table>";
    this.strVar += "</div>";


    this.obj = $(this.strVar);
    this.obj.appendTo($('body'));

    this.beChatTitle = this.obj.find('.beChatTitle');
    this.beChatTitleMinimizeButton = this.obj.find('#beChatTitleMinimizeButton');
    this.beChatTitleCloseButton = this.obj.find('#beChatTitleCloseButton');
    this.beChatMessages = this.obj.find('#beChatMessages');
    this.iframe;
    this.src;

    this.setTitle = function(title){
        this.beChatTitle.html(title);
    };

    this.setUrl = function(src) {
        this.iframe = $('<iframe></iframe>');
        this.iframe.attr('frameborder', '0');
        this.iframe.attr('scrolling', 'no');
        //this.iframe.attr('width', '300px');
        //this.iframe.attr('height', '590px');
        //this.iframe.attr('class', 'beChatMessages_iframe');
        this.iframe.attr('id', 'beChatMessages_iframe');
        this.iframe.appendTo(this.obj.find('.beChatMessagesBox'));
        this.src = src;
        //this.obj.find('#beChatMessages').attr('src', url);
    };

    this.obj.hide();
    this.start = function(){
        globalBEAjaxChat = this;
        //this.obj.fadeIn('slow', jQuery.proxy(function(){
        this.obj.show('slow', jQuery.proxy(function(){
            this.iframe.attr('src', this.src);
        }, this));
    };

    this.minimized = false;
    this.objHeight = this.obj.height();
    this.beChatTitleMinimizeButton.click(jQuery.proxy(function(){
        if(this.minimized == false){
            this.obj.animate({ height: "20px" }, 500).find('.hider').slideUp('slow');
            //this.obj.find('.hider').hide();
            this.minimized = true;
        }else{
            this.obj.animate({ height: this.objHeight+"px" }, 500);
            this.obj.find('.hider').show();
            this.minimized = false;
        }
    },this));

    this.beChatTitleCloseButton.click(jQuery.proxy(function(){
        //this.obj.fadeOut('slow');
        this.obj.hide('slow');
    },this));

    this.dragActive = {
        enabled : false,
        enablePositionX : 0,
        enablePositionY : 0
    };

    this.obj.find('.beChatTitleRow').mousedown(jQuery.proxy(function(e){
        this.dragActive.enabled = true;
        this.dragActive.enablePositionX = e.pageX;
        this.dragActive.enablePositionY = e.pageY;
    }, this));

    this.obj.mouseup(jQuery.proxy(function(e){
        this.dragActive.enabled = false;
        this.dragActive.enablePositionX = e.pageX;
        this.dragActive.enablePositionY = e.pageY;
    }, this));

    this.obj.mousemove(jQuery.proxy(function(e){
        if(this.dragActive.enabled){
            var pX = this.dragActive.enablePositionX - e.pageX;
            this.obj.css("left", this.obj.offset().left-pX+"px");
            var pY = this.dragActive.enablePositionY - e.pageY;
            this.obj.css("top", this.obj.offset().top-pY+"px");
            this.dragActive.enablePositionX = e.pageX;
            this.dragActive.enablePositionY = e.pageY;
        }
    }, this));

}