﻿
    
    function modalDiv(document)
    {
        document.body.style.width="100%";
        document.body.style.height="100%";
        document.body.style.padding="0";
        document.body.style.margin="0";
 
        this.overDiv=document.createElement('<div style="position:fixed;width:100%;height:100%;z-index:10000;border:0px solid  red;  ">');
        this.modalDiv=document.createElement('<div  style="position:fixed;z-index:10001;>');
        this.overDiv.style.filter="alpha(opacity=70)";
        
        this.isInit=false;
        
        this.init=function()
                   {
                       this.isInit=true;
                   }
        
        this.close=function()
                    {
                        if(this.overDiv)
                        {   
                            this.overDiv.style.display="none";
                        }
                        if(this.modalDiv)
                        {
                            this.modalDiv.innerHTML="";
                            this.modalDiv.style.display="none";
                        }
                    }
                    
        this.show=function(modalContext)
              {
                            var modalDiv=this.modalDiv;
                            var overDiv=this.overDiv;
                            
                            if(this.isInit==false)
                            {
                                this.init();
                            }
                            if(this.modalDiv)
                            {
                                this.modalDiv.style.display="";
                            }
                            if(this.overDiv)
                            {
                                this.overDiv.style.display="";
                            }
                            
                            var ieVer=getIEVersonNumber();
                            if(ieVer==7)
                            {
                                this.overDiv.style.left=document.documentElement.offsetLeft;
                                this.overDiv.style.top=document.documentElement.offsetTop;
                            }
                            else
                            {
                                overDiv.style.position="absolute";
                                overDiv.style.left=document.documentElement.offsetLeft;
                                overDiv.style.top=document.documentElement.offsetTop;
                                overDiv.style.width=document.documentElement.scrollWidth;
                                overDiv.style.height=document.documentElement.scrollHeight;
                             }
                            
                            
                       
                            
                            document.body.appendChild(this.overDiv);
                            this.modalDiv.innerHTML=modalContext;
                            if(!this.modalDiv.firstChild)
                            {
                                throw new Error("模态div下面没有子div.");
                            }
                            else
                            {
                                if(this.modalDiv.firstChild.tagName!="DIV")
                                {
                                    throw new Error("模态div下面必须是div标记.");
                                }
                            }
                            
                            
                            
                            document.body.appendChild(this.modalDiv);
                            document.body.overDiv=this.overDiv;
//                            this.modalDiv.style.left=document.documentElement.offsetWidth/2-this.modalDiv.offsetWidth/2;
//                            this.modalDiv.style.top=document.documentElement.offsetHeight/2-this.modalDiv.offsetHeight/2;
        
                            var scrollForIE6=function()
                                       {
                                            var left=(document.documentElement.scrollLeft+document.documentElement.scrollLeft+document.documentElement.offsetWidth)/2-modalDiv.offsetWidth/2;
                                            var top=(document.documentElement.scrollTop+document.documentElement.scrollTop+document.documentElement.offsetHeight)/2-modalDiv.offsetHeight/2;
                                    
                                            if(overDiv.offsetHeight+overDiv.offsetTop<=modalDiv.offsetHeight+top)
                                            {
                                                return false;
                                            }
                                            else
                                            {
                                                  //modalDiv.style.left=document.documentElement.offsetWidth/2-modalDiv.offsetWidth/2;
                                                modalDiv.style.top=top;
                                            }
                                            //alert((overDiv.offsetHeight+document.documentElement.scrollTop)+" "+ (modalDiv.offsetHeight+top));
                                            
                                            if(overDiv.offsetWidth+overDiv.offsetLeft<=modalDiv.offsetWidth+left)
                                            {
                                                return false;
                                            }
                                            else
                                            {
                                                modalDiv.style.left=left;
                                            }
                                       }
                            
                            var resize=function()
                                                  {
                                                        if(ieVer==7)
                                                        {   
                                                            modalDiv.style.left=document.documentElement.offsetWidth/2-modalDiv.offsetWidth/2;
                                                            modalDiv.style.top=document.documentElement.offsetHeight/2-modalDiv.offsetHeight/2;
                                                        }
                                                        else
                                                        {
                                                            modalDiv.style.position="absolute";
                                                            overDiv.style.left=document.documentElement.offsetLeft;
                                                            overDiv.style.top=document.documentElement.offsetTop;
                                                            overDiv.style.width=document.documentElement.scrollWidth;
                                                            overDiv.style.height=document.documentElement.scrollHeight;
                                                            scrollForIE6();
                                                        }
                                                  }
                            resize();
                            document.body.setAttribute("onresize",resize);
                            
                            if(ieVer==6)
                            {
                                document.documentElement.setAttribute("onscroll",scrollForIE6);
                            }
                    
                    var childDiv=this.modalDiv.firstChild;
                    this.initElem(this.modalDiv);
            }
            
            
            
            
            this.iframeCount=0;
            this.initElem=function(elem)
           {
                if(elem.tagName=="IFRAME")
                {
                    this.iframeCount+=1;
                    elem.init=this.initIframe;
                    elem.init(this);
                }
                for(var n=0;n<elem.childNodes.length;n++)
                {
                    this.initElem(elem.childNodes[n]);
                }
           }
           
            this.initIframe=function(modalDivClass)
            {
                
            }
            
            this.setModalStyle=function(styleStr)
            {
 
                var modalDiv=this.modalDiv;
//                modalDiv.style.width=width;
//                modalDiv.style.height=height;
                var cssText=modalDiv.style.cssText;
                modalDiv.style.cssText=";"+cssText+";"+styleStr;
                modalDiv.style.left=document.documentElement.offsetWidth/2-modalDiv.offsetWidth/2;
                modalDiv.style.top=document.documentElement.offsetHeight/2-modalDiv.offsetHeight/2;
            }
    }
    
     modalDiv.showModal=function(url,styleStr,doc, scrolling)
     {
         if(!doc)
         {
            doc=document;
         }
         var scl = (scrolling)?scrolling:"no";
         var modalDiv1=new modalDiv(doc);
         doc.modalDiv=modalDiv1;
         var showDiv='<div class="popWindowContainer" style="width: 100%; height: 100%;"><div style="text-align: right;"><img id="imgClose" onclick="document.modalDiv.close();" alt="" runat="server" style="cursor: hand" src="Images/button_close.gif" /> </div>'+
                         '<iframe id="popWindow1" frameborder="no" scrolling="' + scl + '" src="'+url+'" style="width: 100%; height: 96%;"></iframe>'+
                         '</div>';
         modalDiv1.setModalStyle(styleStr);
         modalDiv1.overDiv.className="modalBackgroud";
         modalDiv1.show(showDiv);
     }
     //----------------------------------------------------------------------------------------------------------------------------
 function WebForm_GetElementPosition(element) {
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" && 
                parentTagName != "html" && 
                parentTagName != "div" && 
                parent.clientTop && 
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
}
    
    function scrollElem(timeInterval,scrollInterval)
    {
        this.IntervalId;
        this.timeInt=timeInterval;
        this.scrollInt=scrollInterval;
        this.stop=function()
                  {
                        if(this.IntervalId)
                        {
                            clearInterval(this.IntervalId);
                            this.IntervalId=null;
                        }
                  }
                  
        this.goRight=function(scrollElem)
                    {
                   
                            this.stop();
                            
                            var time=this.timeInt;
                            var scrollInt=this.scrollInt;
                            var fun=function()
                                    {
                                        scrollElem.scrollLeft=scrollElem.scrollLeft+scrollInt;
                                    }
                            this.IntervalId=setInterval(fun,time);
                    }
                
        this.goLeft=function(scrollElem)
                    {
                        this.stop();
                        
                        var time=this.timeInt;
                        var scrollInt=this.scrollInt;
                        var fun=function()
                                    {
                                        scrollElem.scrollLeft=scrollElem.scrollLeft-scrollInt;
                                    }
                        this.IntervalId=setInterval(fun,time);
                    }
                    
        this.changeSpeed=function(timeInt,scrollInt)
                    {
                        this.timeInt=this.timeInt+timeInt;
                        this.scrollInt=this.scrollInt+scrollInt;
                    }
    }
    
    function showFavoriteTitle()
    {
        this.titleDiv;
        this.titleElemHtml;
        this.isInit=false;
        
        this.init=function()
        {
            this.titleDiv=document.createElement('<div style="position:absolute;display:none;padding-right:20px" class="productinfotitle color02 fontbold" >');
            //this.titleElemHtml='<div style=" width:100px;height:100px;">收藏夹说明.</div>';
            //this.titleDiv.innerHTML=this.titleElemHtml;
            document.body.appendChild(this.titleDiv);
            this.isInit=true;
        }
        
        this.show=function(titleStr)
                  {
                     if(this.isInit==false)
                     {
                        this.init();
                     }
                     
                     this.titleDiv.innerText=titleStr;
                     this.titleDiv.style.display='';
                     setElemPosition(this.titleDiv,null,'');
                  }
        this.close=function()
                  {
             
                    this.titleDiv.style.display='none';
                  }
    }
    
    
    
    function getIEVersonNumber()
    {
        var ua = navigator.userAgent;
        var msieOffset = ua.indexOf("MSIE ");
        if(msieOffset < 0)
        {
            return 0;
        }
        return parseFloat(ua.substring(msieOffset + 5, ua.indexOf(";", msieOffset)));
    }