﻿//------------Option---------------------------------
/*
    所有BoxOption类型中的ITEM. ITEM处理3种形式. 
    1. price型,鼠标滑过项时显示钱数
    2. standardbox型,鼠标滑过项时显示描述
    3. picture型,图片
*/

/*
 *定义当前Flash的播放状态 CurrentPlayStatus
 * 王成山　２００８年７月１７号增加
 */
//var CurrentPlayStatus="";

var OptionItem = Class.create();
OptionItem.prototype = {
    initialize: function( dataObject )
    {
        this.dataObject = dataObject;
        this.container = null;
        this.div_box = null;
        if(arguments.length == 2)
        {
            this.divLength=arguments[1];
        }
    },
    
    //限box类型
    PutUp : function()
    {
 
        if ( !$ISEMPTY(this.btn_box) )
        {
            this.btn_box.ClearStatus();
        }
    },
    
    PutDown : function()
    {
        if ( !$ISEMPTY(this.btn_box) )
        {
            if ( this.btn_box.selfDiv.fireEvent )
            {
                this.btn_box.selfDiv.fireEvent("onclick"); 
            }
            else
            {
                var e = document.createEvent("MouseEvents");   
                e.initEvent("click",true,true);   
                this.btn_box.selfDiv.dispatchEvent(e);
            }
        }
    },
    
    //******写死的部分********
    /*
        跟据JsDisplay中内容,得到要以什么形式展示OptionItem
        目前有的类型
        1 - standardbox
        2 - pricebox
        3 - picture
    */
    Create : function()
    {      
        //Modify:AddCode Time:08/05/04 By:Liujunqing 功能：实现OptionItem的换行显示
        //--Begin--
        var CodeItem=''+this.dataObject.ItemCategory
        if(CodeItem.indexOf('ResType') != -1)
        {
            this.div = $C_DIV('','optionitemcontainer_cert');
        }
        else
        {
            this.div = $C_DIV('','optionitemcontainer');
        }
        //--End--
        //Modify:AddCode Time:08/05/05 By:Liujunqing 功能：实现OptionItem的div显示宽度和最长的OptionItem的div对齐
        //--Begin--
        if(!$ISEMPTY(this.divLength))
        {
            this.div.style.width=this.divLength+'px';
        }
        //--End--
        //Old Code
        //--Begin--
        //this.div = $C_DIV('','optionitemcontainer');
        //--End--
        this.container.appendChild(this.div);
        
        switch(this.dataObject.JsDisplay)
        {
            case 'standardbox':
                    this.div_box = $C_DIV('','standardbox_div',this.div);
                    this.btn_box = new CheckButton(this.div_box, this.dataObject);
                    this.btn_box.setType('standardbox');
                    this.btn_box.onchecked = OptionItem.EventHandler.box_onchecked ;
                    this.btn_box.onmouseover = OptionItem.EventHandler.standardbox_onmouseover ;
                    this.btn_box.onmouseout = OptionItem.EventHandler.standardbox_onmouseout ;
                    this.btn_box.instance = this;
                break;
            case 'pricebox':
                    this.div_box = $C_DIV('','pricebox_div',this.div);
                    this.btn_box = new CheckButton(this.div_box, this.dataObject);
                    this.btn_box.setType('pricebox');
                    this.btn_box.onchecked = OptionItem.EventHandler.box_onchecked ;
                    this.btn_box.onmouseover = OptionItem.EventHandler.pricebox_onchecked ;
                    this.btn_box.onmouseover = OptionItem.EventHandler.pricebox_onmouseover ;
                    this.btn_box.onmouseout = OptionItem.EventHandler.pricebox_onmouseout ;
                    this.btn_box.instance = this;
                break;
            case 'picture':
                    this.div_box = $C_DIV('','picture_div',this.div);
                    this.btn_box = new CheckButton(this.div_box, this.dataObject);
                    this.btn_box.setType('picture');
                    this.btn_box.onchecked = OptionItem.EventHandler.box_onchecked ;
                    this.btn_box.onmouseover = OptionItem.EventHandler.picture_onmouseover ;
                    this.btn_box.onmouseout = OptionItem.EventHandler.picture_onmouseout ;
                    
                    this.btn_box.instance = this;
                break;
        }
       
    }
};

OptionItem.EventHandler = {

    box_onchecked : function()
    {
        if ( !$ISEMPTY(this.instance.onselect) )
            return this.instance.onselect(this.instance);
   
    },
    
    standardbox_onmouseover : function()
    {
        this.instance.option.clearMouseoverStatus();
        if ( ProductOption.Tooltip )
        {
            if ( !$ISEMPTY(this.instance.dataObject.Description) && this.instance.dataObject.Description != '' )
            {
                ProductOption.Tooltip.setText((this.instance.dataObject.Description));
                ProductOption.Tooltip.setStyle('standardbox');
                ProductOption.Tooltip.setParent(this.selfDiv);
                ProductOption.Tooltip.offSet(-35,20);  
                ProductOption.Tooltip.show();         
            }   
        }
        
    },
    
    standardbox_onmouseout : function()
    {
        if ( ProductOption.Tooltip )
        { 
            ProductOption.Tooltip.hide();
        }
    },
    
    pricebox_onmouseover : function()
    {
        this.instance.option.clearMouseoverStatus();
        if ( ProductOption.Tooltip )
        {
            ProductOption.Tooltip.setText( "$" + this.instance.dataObject.Price );
            ProductOption.Tooltip.setStyle('pricebox'); 
            ProductOption.Tooltip.setParent(this.selfDiv);
            ProductOption.Tooltip.offSet(-3,-33);  
            ProductOption.Tooltip.show();
        }
    },
    
    pricebox_onmouseout : function()
    {
        if ( ProductOption.Tooltip )
        { 
            ProductOption.Tooltip.hide();
        }
    },
    
    picture_onmouseover : function()
    { 
    
         /*-------------start------------------ wcs xiugai */ 
//            if(getSlide().slideState()=="play") 
//            {
//                 getSlide().setSlideState("stop");
//                 CurrentPlayStatus="play";
//            }
           /*--------------end-----------------*/
        if ( !$ISEMPTY(this.instance.picture_onmouseover) )
            return this.instance.picture_onmouseover();
    },
    
    picture_onmouseout : function()
    {
         /*-------------start------------------ wcs xiugai */ 
//           if(CurrentPlayStatus=="play") 
//            {
//                 getSlide().setSlideState("play");
//                 CurrentPlayStatus="";
//            }
          /*--------------end-----------------*/
        if ( !$ISEMPTY(this.instance.picture_onmouseout) )
            return this.instance.picture_onmouseout();
    }
    
}

