﻿// JScript 文件

function openAlertLayerNoCookies(objId,conId,checkCookies)
{
    openTheLayer(objId,conId);
}

function openAlertLayer(objId,conId,checkCookies)
{
    if(checkCookies == true)
    {
        var show = getCookie("showAlertGiftDiv");
        if(show == "0") return;
    }
    openTheLayer(objId,conId);
}
//弹出层
function openTheLayer(objId,conId)
{
    var arrayPageSize   = getPageSize();//调用getPageSize()函数
    var arrayPageScroll = getPageScroll();//调用getPageScroll()函数
    if (!document.getElementById("popupAddr"))
    {            
        //创建弹出内容层
        var popupDiv = document.createElement("div");
        //给这个元素设置属性与样式
        popupDiv.setAttribute("id","popupAddr")
        popupDiv.style.position = "absolute";
        popupDiv.style.border = "1px solid #ccc";
        popupDiv.style.background = "#fff";
        popupDiv.style.zIndex = 99;
        
        //创建弹出背景层
        var bodyBack = document.createElement("div");
        bodyBack.setAttribute("id","bodybg")
        bodyBack.style.position = "absolute";
        bodyBack.style.width = "100%";
        bodyBack.style.height = (arrayPageSize[1] + 35 + 'px');
        bodyBack.style.zIndex = 98;
        bodyBack.style.top = 0;
        bodyBack.style.left = 0;
        bodyBack.style.filter = "alpha(opacity=50)";
        bodyBack.style.opacity = 0.5;
        bodyBack.style.background = "#ddf";
        
        //创建Iframe以解决无法覆盖Select元素的问题
        var popFrame = document.createElement("iframe");
        //给这个元素设置属性与样式
        popFrame.setAttribute("id","popFrame")
        popFrame.style.position = "absolute";           
        popFrame.style.border = "0";
        popFrame.style.left = "0px";
        popFrame.style.top = "0px";
        popFrame.style.zIndex = 97;            
        //popFrame.style.width = 523 + "px";
        //popFrame.style.height = 320 + "px"; 
        popFrame.style.width = document.getElementById(conId).style.width;
        popFrame.style.height = document.getElementById(conId).style.height; 
    
        //实现弹出(插入到目标元素之后)
        var mybody = document.getElementById(objId);            
        insertAfter(popupDiv,mybody);//执行函数insertAfter()
        insertAfter(bodyBack,mybody);//执行函数insertAfter()
        insertAfter(popFrame,mybody);
    }
    
    //显示背景层
    document.getElementById("bodybg").style.display = "";
    //显示内容层
    var popObj=document.getElementById("popupAddr")
    popObj.innerHTML = document.getElementById(conId).innerHTML;
    popObj.style.display = "";        
    
    var arrayConSize=getConSize(conId)
    popObj.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - arrayConSize[1]) / 2-50 + 'px';
    popObj.style.left = (arrayPageSize[0] - arrayConSize[0]) / 2 -30 + 'px';
    
    var popFrame=document.getElementById("popFrame");       
    popFrame.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - arrayConSize[1]) / 2-50 + 'px';
    popFrame.style.left = (arrayPageSize[0] - arrayConSize[0]) / 2 -30 + 'px';               
}

//获取内容层内容原始尺寸
function getConSize(conId)
{
    var conObj=document.getElementById(conId)
    conObj.style.position = "absolute";
    conObj.style.left=-1000+"px";
    conObj.style.display="";
    var arrayConSize=[conObj.offsetWidth,conObj.offsetHeight]
    conObj.style.display="none";
    return arrayConSize;
}

function insertAfter(newElement,targetElement)
{
    //插入
    var parent = targetElement.parentNode;
    if(parent.lastChild == targetElement)
    {
        parent.appendChild(newElement);
    }
    else
    {
        parent.insertBefore(newElement,targetElement.nextSibling);
    }
}

//获取滚动条的高度
function getPageScroll()
{
    var yScroll;
    if (self.pageYOffset) 
    {
        yScroll = self.pageYOffset;
    } 
    else if (document.documentElement  &&  document.documentElement.scrollTop)
    {
        yScroll = document.documentElement.scrollTop;
    }
    else if (document.body) 
    {
        yScroll = document.body.scrollTop;
    }
    arrayPageScroll = new Array('',yScroll)
    return arrayPageScroll;
}

//获取页面实际大小
function getPageSize()
{
    var xScroll,yScroll;
    if (window.innerHeight  &&  window.scrollMaxY)
    {
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } 
    else if (document.body.scrollHeight > document.body.offsetHeight)
    {
        sScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } 
    else 
    {
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    
    var windowWidth,windowHeight;
    //var pageHeight,pageWidth;
    if (self.innerHeight) 
    {
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } 
    else if (document.documentElement  &&  document.documentElement.clientHeight) 
    {
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } 
    else if (document.body) 
    {
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }
    
    var pageWidth,pageHeight
    if(yScroll < windowHeight)
    {
        pageHeight = windowHeight;
    } 
    else 
    {
        pageHeight = yScroll;
    }
    
    if(xScroll < windowWidth) 
    {
        pageWidth = windowWidth;
    } 
    else 
    {
        pageWidth = xScroll;
    }
    
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
    return arrayPageSize;
}

//关闭弹出层
function closeAlertLayer()
{        
//        document.getElementById("popupAddr").style.display = "none";
//        document.getElementById("bodybg").style.display = "none";
//        document.getElementById("popFrame").style.display = "none";

    var o=document.getElementById('popupAddr');   
    o.parentNode.removeChild(o);
    o=document.getElementById('bodybg');   
    o.parentNode.removeChild(o);
    o=document.getElementById('popFrame');   
    o.parentNode.removeChild(o);   
    return false;
}


//拖拽
//对“拖动点”定义：onMousedown="StartDrag(this)" onMouseup="StopDrag(this)" onMousemove="Drag(this)"即可
var move=false,oldcolor,_X,_Y;
function StartDrag(obj)
{  
    //定义准备拖拽的函数
    obj.setCapture(); //对当前对象的鼠标动作进行跟踪
    //oldcolor=obj.style.backgroundColor;
    //obj.style.background="#999";
    move=true;
    //获取鼠标相对内容层坐标
    var parentwin=document.getElementById("popupAddr");
    _X=parentwin.offsetLeft-event.clientX
    _Y=parentwin.offsetTop-event.clientY
}

function Drag(obj)
{        
    //定义拖拽函数
    if(move)
    {
        var parentwin=document.getElementById("popupAddr");
        parentwin.style.left=event.clientX+_X;
        parentwin.style.top=event.clientY+_Y;
        
        var popFrame=document.getElementById("popFrame");
        popFrame.style.left=event.clientX+_X;
        popFrame.style.top=event.clientY+_Y;
    }
}

function StopDrag(obj)
{
    //定义停止拖拽函数
    //obj.style.background=oldcolor;
    obj.releaseCapture(); //停止对当前对象的鼠标跟踪
    move=false;
}

//设置Cookies，下次不再提示
function chkChecked(chk)
{        
    if(chk.checked)
    {
        SetCookie("showAlertGiftDiv","0");
    }
    else
    {
        delCookie("showAlertGiftDiv");
    }
}

//写cookies函数 
function SetCookie(name,value)//两个参数，一个是cookie的名子，一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp  = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//读取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

