﻿/*  一些基本 通用的函数 */

// 设置基本域
// 因为和编辑器有冲突，所以屏蔽 -- by s.p
//  document.domain = "dafen7.com";

//删除
function Delete(){ return confirm('确认删除吗？'); }

// 获取绝对坐标值
var Offset = {
    GetOffSet : function(e){ 
        var t=e.offsetTop;  
        var l=e.offsetLeft;  
        while(e=e.offsetParent) {   t+=e.offsetTop;  l+=e.offsetLeft; }  
        var rec = new Array(1); 
        rec[0]  = t; 
        rec[1] = l; 
        return rec; }    ,
    X : function(e){ return this.GetOffSet(e)[1];   }   ,
    Y : function(e){ return this.GetOffSet(e)[0];   }   ,
    // 判断obj是否在容器e内
    Exists  : function(e,obj){
        if(e = obj) return true;
        while(e = e.offsetParent){ if(e == obj) return true; }
        return false;
    }
}

//  拖动
Drag = {
    Move : false    ,
    dragX : 0   ,
    dragY : 0   ,
    StartDrag : function(obj){
        if(event.button==1 && event.srcElement.tagName.toUpperCase()=="DIV")
        {
            obj.setCapture();
            this.Move = true;
            this.dragX = event.clientX - Offset.X(obj);
            this.dragY = event.clientY - Offset.Y(obj);
        } 
    }  ,
    
    Drag : function(obj)                   
    {    
        if(this.Move){   
            var oldwin;
            if(obj.style.position == 'absolute')
                oldwin = obj;
            else
                oldwin = obj.parentNode;     
            
            if(oldwin.style.position != 'absolute'){
                oldwin = oldwin.parentNode;
                if(oldwin.style.position != 'absolute') return;
            }     
            oldwin.style.left = event.clientX - this.dragX;
            oldwin.style.top = event.clientY - this.dragY;
        }
    }   ,
    
    StopDrag : function(obj){
        obj.releaseCapture();
        this.Move = false;
    }
}

// 蒙板层
var Mask = {
    WindowObj : null    ,
    MaskObj : null  ,
    LoadObj : null  ,
    InsertObj : null ,
    MaskShow : function(){
        this.MaskHide();       
        this.MaskObj = document.createElement("DIV");
        this.MaskObj.className = 'Mask';
        this.reSizeMask();
        document.body.appendChild(this.MaskObj);  
        window.onscroll = window.onresize = function(){ Mask.reSizeMask(); }     
    }   ,
    MaskHide : function(){
        if(this.MaskObj != null){
            document.body.removeChild(this.MaskObj);
            this.MaskObj = null;
        }    
    }   ,
    reSizeMask : function(){
        if(this.MaskObj == null) return;
        var _root=document.compatMode=="CSS1Compat"?document.documentElement:document.body;
		var _win=(_root.scrollLeft==0)?_root.clientWidth:_root.scrollWidth;
		var _height=(_root.scrollTop==0)?_root.clientHeight:_root.scrollHeight;
		this.MaskObj.style.width = _win + 'px';
        this.MaskObj.style.height = _height + 'px';
    }   ,
    LoadShow : function(){
        this.MaskShow();
        this.LoadObj = document.createElement("DIV");
        this.LoadObj.className = 'Load';
        var _root = document.compatMode=="CSS1Compat"?document.documentElement:document.body;
        var _width = (_root.scrollLeft==0)?_root.clientWidth:_root.scrollWidth;
		var _height = (_root.scrollTop==0)?_root.clientHeight:_root.scrollHeight;
        this.LoadObj.style.top = _height / 2;
        this.LoadObj.style.left = _width / 2;
        document.body.appendChild(this.LoadObj);  
    }   ,
    LoadHide : function(){
        this.MaskHide();
        if(this.LoadObj != null){
            document.body.removeChild(this.LoadObj);
        }   
    }   ,
    InsertShow  : function(str , name, top , left){
        this.MaskShow();
        this.InsertObj = document.createElement("DIV");
        this.InsertObj.className = 'Insert';
        this.InsertObj.style.position = 'absolute';      
        
        
        this.InsertObj.innerHTML = "<DIV Class='InsertTitle' OnMouseDown='Drag.StartDrag(this)' OnMouseMove='Drag.Drag(this)' OnMouseUp='Drag.StopDrag(this)'>" +
                                    "<div class='InsertTitleRight'><Span class='Name'>" + name + "</span>"  +
                                    "<a href='javascript:Mask.InsertHide()' class='Close' title='关闭'></a>" +
                                    "</div></div>" + str;  
        document.body.appendChild(this.InsertObj);   
        this.InsertObj.childNodes[0].style.width = this.InsertObj.childNodes[0].childNodes[0].style.width = this.InsertObj.offsetWidth + 'px';
        
        if(top == undefined) top= (window.screen.availHeight - this.InsertObj.offsetHeight) / 2 + document.body.scrollTop;
            this.InsertObj.style.top = top + 'px';
            
        if(left == undefined) left= (document.body.clientWidth - this.InsertObj.offsetWidth)/2;     
            this.InsertObj.style.left = left + 'px';
        
        
        if(this.InsertObj.offsetWidth + left > document.body.offsetWidth) this.InsertObj.style.left = (left - this.InsertObj.offsetWidth) + 'px';
    }   ,
    InsertHide : function(){
        this.MaskHide();
        if(this.InsertObj != null) this.InsertObj.removeNode(true);
    }   
}


// 输出FLASH
function WriteFlash(url,width,height){
    document.write('<object id="MyFlash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + width + '" height="' + height + '">');
    document.write('<param name="movie" value="' + url + '">');
    document.write('<param name="wmode" value="opaque">');
    document.write('<param name="menu" value="false">');
    document.write('<param name="quality" value="high">');
    document.write('<embed src="' + url + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '"></embed>');
    document.write('</object>');
}

// 获取对象
function $(objName){
    return document.getElementById(objName);
}


/*  发送短信息  */
var Message = {
    UserID : 0  ,
    Show : function(userID){
        var ajax;
        try{ ajax = new Ajax(); }catch(e){ alert('错误！未引用Ajax.js'); return; }
        this.UserID = userID;   
        Mask.InsertShow("<DIV Class='MessageObj'><DIV Class='Title'onMousedown='Drag.StartDrag(this)' onMouseup='Drag.StopDrag(this)' onMousemove='Drag.Drag(this)'><A href='javascript:Message.Close()' title='关闭'></A></DIV><DIV ID='MessageBody'>" +
                        "<DIV Class='UserID'>收件人: <INPUT Type='Text' ID='UserID' readonly value='正在加载用户名' /></DIV>" + 
                        "<DIV Class='MessageTitle'>标&nbsp;&nbsp;题: <INPUT Type='Text' ID='MessageTitle' maxlength='20' /></DIV>" +
                        "<DIV Class='MessageContent'>内&nbsp;&nbsp;容: <TEXTAREA ID='MessageContent'></TEXTAREA></DIV>" +
                        "<DIV Class='Send'><A href='javascript:Message.Send()' id='MessageSend' disabled='true'></A>" +
                        "<DIV Class='MessageTitle'>多个用户用英文逗号隔开" +
                        "</DIV></DIV>",Offset.Y(event.srcElement),Offset.X(event.srcElement));
                    
        var url = '/Ajax/UserInfo.aspx?UserID=' + this.UserID + '&r=' + Math.random(); 

        ajax.Open(url,"GET","",MessageGetUserInfo,null,"xml"); 
       
        function MessageGetUserInfo(rexml){           
            var root = rexml.documentElement; 
            var name = root.getElementsByTagName('Name')[0].text;
            var userID = root.getElementsByTagName('UserID')[0].text;
            var postID = root.getElementsByTagName('MyUserID')[0].text;
            if(Number(postID) == 0){    alert('请先登录！');    Message.Close();    return; }
            if(Number(userID) == 0){    alert('收件人ID错误！');    Message.Close();    return;            }
            if(postID == userID){ alert('不能自己给自己发短信！'); Message.Close(); return; }
            $('UserID').value = name;  
            $('MessageSend').disabled = false; 
            $('MessageTitle').focus();      
        }        
                        
    }   ,
    Close   : function(){
        Mask.InsertHide();
    }   ,
    Send    : function(){
        var user = $('UserID').value;
        var title = $('MessageTitle').value;
        var content = $('MessageContent').value;
        if(title == ''){ alert('请输入标题'); $('MessageTitle').focus(); return; }
        if(content == ''){ alert('请输入内容'); $('MessageContent').focus(); return; }
        if(content.length > 1000){ alert('短信内容不要超过1000字'); $('MessageContent').focus(); return; }        
        $('MessageBody').innerHTML = "<DIV Class='Load'>正在发送..</DIV>";
        var url = "/ajax/messagesend.aspx";
        new Ajax().Open(url,"POST","User=" + user + "&Title=" + escape(title) + "&Content=" + escape(content), PostMessage , null , "text");
        function PostMessage(status , re){
            if(re.substring(7) == "OK"){
                setTimeout("alert('发送成功！');    Message.Close();",1000);
            }else{
                alert(re.substring(7));
                Message.Close();
            }
        }        
    }   ,
    Read    : function(userID){
        var ajax;
        try{ ajax = new Ajax(); }catch(e){ alert('错误！未引用Ajax.js'); return; }
         this.UserID = userID;  
         Mask.InsertShow("<DIV Class='MessageRead'><DIV Class='Title'onMousedown='Drag.StartDrag(this)' onMouseup='Drag.StopDrag(this)' onMousemove='Drag.Drag(this)'><A href='javascript:Message.Close()' title='关闭'></A></DIV><DIV ID='MessageBody'>" +
                        "<DIV Class='Load'>正在加载..</DIV>" + 
                        "</DIV></DIV>",(screen.height-400)/2,(screen.width - 500)/2);
         var url = "/ajax/MessageRead.aspx?UserID=" + userID + "&r=" + Math.random();
         ajax.Open(url,"GET","",GetMessageInfo,null,"xml");
         function GetMessageInfo(rexml){
            var root = rexml.documentElement; 
            var msgID = root.getElementsByTagName('MsgID')[0].text;
            var userID = root.getElementsByTagName('UserID')[0].text;
            var postID = root.getElementsByTagName('PostID')[0].text;
            var createAt = root.getElementsByTagName('CreateAt')[0].text;
            var title = root.getElementsByTagName('Title')[0].text;
            var content = root.getElementsByTagName('Content')[0].text;
            if(msgID == 0){ alert('没有新的信息'); Message.Close(); return; }
            var str = '<DIV Class="MessageTitle"> <span>' + title + '</span></DIV>' +            
                        '<DIV Class="MessagePostID">发送者:' + postID + '</DIV>' +
                        '<DIV Class="MessageCreateAt">日期:' + createAt + '</DIV>' +
                        '<DIV Class="MessageContent">内容:' + content + '</DIV>';
            $('MessageBody').innerHTML = str;  
         }
    }
}


/*  Request对象 */
var Request = {
    Url : null  ,
    // 获取url对象，区分大小写
    QueryString : function(key){   
        var url;
        if(this.Url == null) 
            url = location.href;
        else
            url = this.Url;
        url = url.indexOf('?') == -1 ? url : url.substring(url.indexOf('?') + 1);
        var q = url.split('&');
        for(i=0; i<q.length; i++){
            var s = q[i].split("=");
            if(s.length == 2){
                if(s[1].substring(s[1].length-1) == "#")
                     s[1] = s[1].substring(0,s[1].length-1);
                if(s[0] == key) return s[1];
            }
        }
        return "";
    }
}


// 清除Select
function ClearSelect(obj){
    for(i=obj.options.length-1; i>=0; i--){
        obj.options[i] = null;
    }
}