﻿﻿
var $=jQuery;

/***
scaling     是否等比例自动缩放
width       图片最大高
height      图片最大宽
strLoad     加载时要显示的文字或者图片
Method      调整完大小之后执行的方法
*/
 function ImageLoad(scaling,width,height,strLoad,Method,errorMethod){

    var obj =$("#driftImg");
    String(strLoad)==""||String(strLoad)=="undefined"?strLoad="loading...":strLoad;
        var imgD=$(obj);
        var img=new Image();
        img.src=imageurl;
        //自动缩放图片
        var AutoScaling=function(){
            if(scaling){
                if(img.width>0 && img.height>0){
                  
                        if(img.width>=width-15){
                            imgD.width(width-16); 
                        }else{ 
                            imgD.width(img.width); 
                            
                        }
                        if(img.height>=height-15){
                            imgD.height(height-16); 
                             
                        }else{ 
                            imgD.height(img.height); 
                        } 
                   
                } 
            }    
        }
        //火狐浏览器处理
        if(img.complete){
            AutoScaling();
            if(Method)
                Method();
            return;
        }
        var tmpImg=$(obj).attr("src");
        $(obj).attr("src","");
        var loading=$("<div>"+strLoad+"</div>");  
        imgD.hide();
        imgD.after(loading);
        $(img).load(function(){
            AutoScaling();
            loading.remove();

            imgD.attr("src",tmpImg);
            imgD.show();
            if(Method)
                Method();
        });
        $(img).error(function(){
            loading.remove();
            imgD.show();
            if(errorMethod){
                errorMethod();
            }
        })
        
}


// JScript 文件
//----------------------浮动窗口开始--------------------------------

/***
 * 弹出div
 * @param {} obj
 * @param {} htmlContent
 * @return {Boolean}
 */
function ShowDetail(obj,htmlContent){

    
    var cobj   = GetWH($(obj));
    var newobj = $(obj);
    cobj.left  = GetLeftOrTop(obj,"left");
    cobj.top   = GetLeftOrTop(obj,"top");
    cobj.w=newobj.width();
    cobj.h=newobj.height();
    var imgObj       = GetWH($("#imgICO"));
    var dobj    = GetWH($("#detail"));
    var detailWidth        = parseInt($("#detail").css("width"));
    var detailHeight       = parseInt($("#detail").css("height"));
    var broderWidth    = 1;
    
    //计算屏幕可见区域
    var clientHeight   = parseInt(document.documentElement.clientHeight);
    var clientWidth    = parseInt(document.documentElement.clientWidth);
    var scrollTop      = parseInt(document.documentElement.scrollTop);//被菜单卷去高度
    var scrollLeft     = parseInt(document.documentElement.scrollLeft);//被菜单卷去宽度
    //默认div坐标
     dobj.top  =cobj.top-dobj.h;
   
     dobj.left = cobj.left + cobj.w+imgObj.w;
     
       if(cobj.top-(scrollTop+dobj.h)<0){
       
        dobj.top = cobj.top;
        if(dobj.top<scrollTop){
            
         dobj.top = 10+scrollTop;
        }
        
       }else if(cobj.top+dobj.h+scrollTop>clientHeight){
       
         dobj.top =cobj.top+cobj.h-dobj.h;
              
       }
       if(this.csstype==2){
        
            imgObj.top=cobj.top+10;
       }else{
       
           imgObj.top=dobj.top+30; 
       }
       
       if(imgObj.top< cobj.top||imgObj.top>cobj.top+cobj.h){
       	
       	  imgObj.top=cobj.top+10;
       }
         imgObj.left=dobj.left-imgObj.w+broderWidth*2;
        $("#imgICO").css("background-position","0 0");
          if(cobj.left-(dobj.w+scrollLeft)<0){
            
            dobj.left =cobj.left+cobj.w+imgObj.w;
            imgObj.left=dobj.left-imgObj.w+broderWidth*2;
             $("#imgICO").css("background-position","0 0");
          
          }else if(cobj.left+dobj.w+cobj.w>clientWidth){
             
             $("#imgICO").css("background-position","0 25px");
            dobj.left =cobj.left-dobj.w-imgObj.w;
           imgObj.left=cobj.left-imgObj.w-broderWidth*2;
          }
    $("#detail").html(htmlContent);
   
    $("#imgICO").css("left",imgObj.left+"px");
    $("#imgICO").css("top",imgObj.top+"px");
 
    $("#detail").css("left",dobj.left+"px");
    
    $("#detail").css("top",dobj.top+"px");
      
    if(objdml == null)
    {
        ShowDetailHide();
        return false;
    }
   
    $("#imgICO").show();
   
    $("#detail").show();
    //$("#detail").bgiframe();//解决ie的被flash挡住问题
    if(imgObj.top>dobj.top+dobj.h-imgObj.h||this.csstype==2){
        $("#imgICO").hide();
    }
}

/***
 * 隐藏div
 */
function ShowDetailHide()
{
    $("#imgICO").hide();;
    $("#detail").hide();
}
/***
 * 获取当前对象宽高
 * @param {} obj
 * @return {}
 */
function GetWH(obj){
    var objwh=new ObjWH();
    if($(obj).css("width")!="auto")
     {
        objwh.w=parseInt(obj.css("width"));
        objwh.h=parseInt(obj.css("height"));
        
     }
   
    return objwh;
}

/***
 * 定义对象属性
 */
function ObjWH(){
    this.top=0;
    this.left=0;
    this.w=0;
    this.h=0;
}

/***
 * 获取当前对象的坐标
 * @param {} obj
 * @param {} strName
 * @return {}
 */
function GetLeftOrTop(obj,strName){
    var num=0;
    do
    {
        if(strName=="left")
        {
            num += obj.offsetLeft;
        }
        else
        {
            num+= obj.offsetTop;
        }
        
        obj = obj.offsetParent;
    } while(!(obj==null||obj.tagName=="BODY"));
    return num;
}

//----------------------浮动窗口结束--------------------------------


var objdml = null;
var imageurl="";
var loading="/widgets/cetop/images/loading.gif";
var csstype=1;
function SetObj(obj,image,type)
{
     if(image==""||image==null)
        return;
     
    this.objdml = obj;
    this.imageurl = image;
    
    
    if(type ==null){
        
         this.csstype=1;
    }else{
        
    this.csstype=type;
    }
    
    creatediv("detail");
    creatediv("imgICO");
  setTimeout("ShowProductInfo()",100);
}

function PushObj()
{
    this.objdml = null;
    
     this.type  = 1;
     this.imageurl="";
    ShowDetailHide();
}
/***
 * 初始化div
 * @param {} divcnt
 */
function creatediv(name){
    
    var cobj = document.getElementById(name);
  
    if(cobj==null){
       var objdiv = document.createElement("DIV");
       objdiv.id = name;
       document.body.appendChild(objdiv);
         objdiv.style.position='absolute';
         
       if(name=="imgICO"){
         $("#imgICO").attr("class","ico");
         
       objdiv.style.display="none";
          
       }
    }
   
}
function ShowProductInfo()
{
    if(this.objdml == null)
    {
        return false;
    }
    var obj = this.objdml;
    var content="";
    var imgWidth=0;
    var imgHeight=0;
    
     $("#detail").attr("class","fc03");
         
    content="<div style=\"text-align:center\"><img src=\""+loading+"\"/></div>";
    
    ShowDetail(obj,content);
    
    $("<img src=\""+imageurl+"\">").load(function(){
       
        //如果有多种不同尺度的图片建议采用一下注掉的分支
   
         if(csstype==1){
           $("#detail").attr("class","fc01");
         }else if(csstype==2){
           $("#detail").attr("class","fc02");
         }else{
          $("#detail").attr("class","fc");
         }
          /*if(img.width>parseInt(GetWH($("#detail")).w)-10||
          
          img.height>parseInt(GetWH($("#detail")).h-10)
          ){
             imgWidth=GetWH($("#detail")).w-10;
            
            imgHeight=GetWH($("#detail")).h-10;
          }else{
            
            imgWidth =img.width;
            imgHeight =img.height;
          }*/
        content=DetailStr();
        
       ShowDetail(obj,content);
        imgWidth=GetWH($("#detail")).w;
        imgHeight=GetWH($("#detail")).h;
      ImageLoad(true,imgWidth,imgHeight,"<img src=\""+loading+"\"/>");
     
    }
    );
    $("<img src=\""+imageurl+"\">").error(function(){
        $("#detail").attr("class","fc");
        content=DetailStr();
        ShowDetail(obj,content);
    });

    

}

/***
 * 构造图片内容
 * @return {}
 */
function DetailStr()
{
   
    var s="<p align='center' class='jJ'><img src='"+imageurl+"' id='driftImg'/></p>";
    return s;
}

/***
 * 判断是否是ie
 * @return {Boolean}
 */
function IsIE(){
    if(isFirefox=navigator.userAgent.indexOf("MSIE")>0)
        return true;
    return false;
}
