﻿
//var City =   
//     {   
//        "username":"andy",   
//        "age":20,   
//        "info": {"tel":"123456","cellphone":"98765"},   
//        "address":   
//             [   
//                 {"city":"beijing","postcode":"222333"},   
//                 {"city":"newyork","postcode":"555666"}   
//             ]   
//     }   



Namespace = new Object();
Namespace.register = function(name)
{
    var nsArray = name.split('.');
    var seval = "";
    var sns = "";
    for (var i = 0; i < nsArray.length; i++)
    {
        if (i != 0) sns += ".";
        sns += nsArray[i];
        seval += "if (typeof(" + sns + ") == 'undefined') " + sns + " = new Object();"
    }
    if (seval != "") eval(seval);
}


var Dongwin=
{
    Test:function(id)
    {
       // alert(Dongwin);
       // return;
      Dongwin.Ajax.Post(id,'abc=fds',{oncomplate:function(){
     
        document.getElementById('testa').innerHTML =parseInt(document.getElementById('testa').innerHTML)+1;
        document.getElementById('testb').innerHTML =Dongwin.Ajax.ResponseText[id];
      //alert(Dongwin.Ajax.ResponseText[id]);
      
      }});
        //alert(this.Style.href);
    }
    ,
    Cursor:''
    ,
    IE:(navigator.appVersion.match(/\bMSIE\b/)=='MSIE')
    ,
    Style:''
    ,
    Path:''
    ,
    Loading:false
    ,
    Error:''
    ,
    $:function(id)
    {
        if (this.Trim(id)=='')
        {
            return null;
        }
        else
        {
            return document.getElementById(id);
        }
    }
    ,
    ModalDialog:function(id,show)
    {
        var obj=this.$(id);
        var iframe=this.$('Dongwin.ModalDialog.Iframe');
            if (null!=obj)
            {
                if (show)
                {             
                    if (obj.style.display=='none')
                    {
                        Dongwin.Remove(iframe);
                var parentNode=document.aspnetForm;
                       obj.style.zIndex='8888888'; 
                       obj.style.display='block'; 
                       obj.style.position='absolute';
                 var left=Dongwin.parsePx(parseInt(parentNode.offsetWidth)/2-parseInt(obj.offsetWidth)/2); 
                 var top=50+parseInt(document.documentElement.scrollTop);
                       obj.style.left=this.parsePx(left);
                       obj.style.top=this.parsePx(top);
                       if (this.IE)
                       {
                           iframe=Dongwin.Create(parentNode,"Dongwin.ModalDialog.Iframe","iframe","modalBackground","block","absolute",parentNode.offsetWidth,parentNode.offsetHeight,1,'','');
                            iframe.style.top='0px';
                            iframe.style.left='0px';
                           iframe.style.filter='alpha(opacity=0)';                            
                      }                 
                  }
                }
                else
                {
                        Dongwin.Remove(iframe);
                        obj.style.display='none';
                }
            }
    }
    ,
    Hover:function(id,show)
    {
        var obj=this.$(id);
        var iframe=this.$('Dongwin.Hover.Iframe');
            if (null!=obj)
            {
                if (show)
                {
                    
                   // obj.parentNode.innerHTML +="<iframe unselectable=\"on\" style=\"border-style:none;z-index:1;margin:0px;position:absolute; padding:0px;width:"+(obj.offsetWidth)+"px;height:"+(obj.offsetHeight)+"px;\" id=\"Dongwin.Temp.Iframe\" name=\"Dongwin.Temp.Iframe\" src=\"about:blank\"  frameborder=\"0\" scroll=\"no\"></iframe>";
                
                    //Create:function(parentNode,id,tagName,className,display,position,width,height,index,top,left)
                    if (obj.style.display=='none')
                    {
                        Dongwin.Remove(iframe);
                       obj.style.zIndex='2'; 
                       obj.style.display='block'; 
                       if (this.IE)
                       {
                           iframe=Dongwin.Create(obj.parentNode,"Dongwin.Hover.Iframe","iframe","modalBackground","block","absolute",obj.offsetWidth,obj.offsetHeight,1,'','');     
                           iframe.style.marginTop=this.parsePx(obj.style.marginTop);
                           iframe.style.marginLeft='-52px';
                           iframe.style.filter='alpha(opacity=0)';                                      
                      }                 
                  }
                }
                else
                {
                        Dongwin.Remove(iframe);
                        obj.style.display='none';
                }
            }
    }
    ,
    Redirect:function(path)
    {
        window.location=path;
    }
    ,
    Refresh:function()
    {
        window.location.reload();
    }
    ,
    SetSrc:function(id,src)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                obj.src=src;
            }
    }
    ,
    GetValue:function(id)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                return obj.value;
            }
            else
            {
                return "";
            }
    }
    ,
    SetHtml:function(id,v)
    {
    //alert(v);
    var obj=this.$(id);
            if (null!=obj)
            {
                obj.innerHTML=v;
            }
    }
    ,
    SetValue:function(id,v)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                obj.value=v;
            }
    }
    ,
    PostBack:function()
    {
    //"[{PostBack:\"Dongwin.SetHtml('ctl00_body_TopicInfo1___rptTopicInfo_ctl01_lbBuyMoney','需<IMG src=\"http://localhost:4580/Images/Emot/em8.gif\">金<IMG src=\"http://localhost:4580/Images/Emot/em4.gif\"><IMG src=\"http://localhost:4580/Images/Emot/em5.gif\">能浏览<IMG src=\"http://localhost:4580/Images/Emot/em2.gif\">');Dongwin.Remove(Dongwin.$('ctl00_body_TopicInfo1___rptTopicInfo_ctl01_lbBuyMoney'));\",Status:false}]"
        if (typeof(ValidatorOnSubmit) == 'function' && ValidatorOnSubmit() == false) 
        {
            if (this.Error!='')
            {
                alert(''+this.Error+'');
            }
            this.Loading=false;
            this.Error=''; 
            return false;
        }
        else
        {
            if (this.Loading)
            {
                Dongwin.Load.Show();
                this.Loading=false;
            }
            return true;
        }
    }
    ,
    Submit:function()
    {
        if (typeof(ValidatorOnSubmit) == 'function' && ValidatorOnSubmit() == false) 
        {
            if (this.Error!='')
            {
                alert(''+this.Error+'');
            }
            this.Loading=false;
            this.Error=''; 
            Dongwin.Ajax.Array=new Array();
            return false;
        }
        else
        {
            if (this.Loading)
            {
                Dongwin.Load.Show();
                this.Loading=false;
            }
            if (Dongwin.Ajax.Array.length!=0)
            {
                var post='';
               
                for(var i=0;i<Dongwin.Ajax.Array.length;i++)
                {
                    
                    var submit=Dongwin.Ajax.Array[i];
                    
                  
                   if (parseInt(submit.type)==7)
                   {
                        post +="&"+submit.id+"="+escape(submit.title);
                        
                   }
                   else
                   {
                    var obj=this.$(submit.id);
                    if (null!=obj)
                    {
                        switch(parseInt(submit.type))
                        {
                            case 0:
                            {
                                post +="&"+submit.title+"="+escape(obj.value);
                                break;
                            }
                            case 1:
                            {
                                if (obj.checked)
                                {
                                    post +="&"+submit.title+"="+escape(obj.value);
                                }
                                break;
                            }
                            case 2:
                            {
                                post +="&"+submit.title+"="+escape(obj.innerHTML);
                                break;
                            }
                            case 3:
                            {
                                if (obj.options.selectedIndex!=-1)
                                {
                                    post +="&"+submit.title+"="+escape(obj.options[obj.options.selectedIndex].value);
                                }
                                break;
                            }
                            case 4:
                            {
                            //getElementsByTagName
                                var cbls='';
                            var span=obj.getElementsByTagName('SPAN');
                                for(var j=0;j<span.length;j++)
                                {
                                    if (span[j].childNodes[0].checked)
                                        {                                            
                                            if (cbls=='')
                                            {
                                                cbls=escape(span[j].getAttribute('v'));
                                            }
                                            else
                                            {
                                                cbls +=','+escape(span[j].getAttribute('v'));
                                            }
                                        }
                                }
                                  if (cbls!='')
                                  {
                                    post +="&"+submit.title+"="+cbls;
                                 }
                                break;
                            }
                            case 5:
                            {
                                var rbl=document.getElementsByName(submit.name);
                                    for(var j=0;j<rbl.length;j++)
                                    {
                                        if (rbl[j].checked)
                                        {                                        
                                            post +="&"+submit.title+"="+escape(rbl[j].value);
                                            break;
                                        }
                                    }
                                break;
                            }
                            case 6:
                            {
                                if (obj.options.selectedIndex!=-1)
                                {
                                    post +="&"+submit.title+"="+escape(obj.options[obj.options.selectedIndex].value);
                                }
                                break;
                            }
                            case 8:
                            {
                                post +="&"+submit.title+"="+escape(obj.value);
                                break;
                            }
                            default:
                            {
                                break;
                            }
                            
                        }
                    }
                    }
                }
                
                 Dongwin.Ajax.Post(Dongwin.Ajax.Action,Dongwin.Ajax.Path,post,{oncomplate:function(){}});
               //Dongwin.Ajax.Post(Dongwin.Ajax.Action,Dongwin.Ajax.Path,post,{oncomplate:function(){}});
                //alert(post);
            }
            else
            {
                Dongwin.Load.Hidden();
            }
            
            Dongwin.Ajax.Array=new Array();
//             TextBox = 0,
//            Checkbox = 1,
//            Div = 2,
//            DropDownList = 3,
//            CheckBoxList = 4,
//            RadioButtonList =5,ctl00$body$Pages1$_$Login1$_$rblAutoLogin ctl00_body_Pages1___Login1___rblAutoLogin
//            ListBox =6
            return false;
        }
    }
    ,
    None:function()
    {
        
    }
    ,
    Alert:function(text)
    {
        text=text.replace(/\[RN]/g,"\r\n");
        alert(text);
    }
    ,
    Trim:function(v)
    {
        return v.replace(/\s/g,"");
    }
    ,
    Remove:function(obj)
    {
        if (null!=obj && null!=obj.parentNode)
        {
            obj.parentNode.removeChild(obj);
        }
    }
    ,
    Display:function(id,show)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                if (show)
                {
                    obj.style.display='block';
                }
                else
                {
                    obj.style.display='none';
                }
            }
    }
    ,
    Typeof:function(name)
    {
       if (typeof(name)=='undefined')
       {
            return false;
       }
       else
       {
            return true;
       }
    }
    ,
    Create:function(parentNode,id,tagName,className,display,position,width,height,index,top,left)
    {
         var obj=Dongwin.$(id);
            if (null!=obj)
            {
                  obj.parentNode.removeChild(obj);
            }            
           // insertBefore，parentNode_

        obj = document.createElement(tagName); 
        parentNode.appendChild(obj);
        if (className!='')
        {
            obj.className=className;
        }
        obj.style.display=display;          
        obj.setAttribute("id",id);        
        obj.setAttribute("unselectable","on");
        obj.style.position=position;
        if (0!=width)
        {
        obj.style.width=Dongwin.parsePx(width);  
        }
        if (0!=height)
        {
        obj.style.height=Dongwin.parsePx(height); 
        } 
        obj.style.zIndex=index;  
        if (top!='')
        {
            obj.style.top=Dongwin.parsePx(parseInt(top)+parseInt(document.documentElement.scrollTop));
        }    
        if (left!='')
        {
            obj.style.left=Dongwin.parsePx(left);
        }  
        return obj;
    }
    ,
    Click:function(id)
    {
        var obj=this.$(id);
            if (null!=id)
            {
                if(this.IE)
                {
                        obj.click();
                 }
                 else
                 {
                    //obj.onclick();
                    
             var event=document.createEvent("MouseEvents"); 
             event.initEvent("click", true, true); 
             obj.dispatchEvent(event);
                    
                 }
        }
    }
    ,
    parsePx:function(px)
    {
        return parseInt(px)+'px';
    }
        ,
        NewGuid:function()
        {
         var   guid   ="";//   "{";   
          for   (var   i   =   1;   i   <=   32;   i++)   
            {   
            var   n   =   Math.floor(Math.random()   *   16.0).toString(16);   
            guid   +=   n;   
            if   ((i   ==   8)   ||   (i   ==   12)   ||   (i   ==   16)   ||   (i   ==   20))   
              guid   +=   "-";   
            }   
          //guid   +=   "}";
          return guid;   
        }
        
    
    ,
    Move:function(id,e)
    {
       // if(this.IE)   return window.event;  
        var element=this.$(id);
      
        //element.style.zIndex=2*parseInt(element.style.zIndex);
         if (this.IE){
         e=window.event;  
                e.cancelBubble=true;
                }
         
        var page=this.getPage(element);    
            var eventX=page.X;
            var eventY=page.Y;
         
             //page=Dongwin.getPage(element);    
          element.onmousemove=function()
          {
                 page=Dongwin.getPage(element); 
                  var dx=parseInt(parseInt(page.X)-parseInt(eventX));
                 var dy=parseInt(parseInt(page.Y)-parseInt(eventY));                               
                 element.style.left=Dongwin.parsePx(parseInt(element.style.left)+parseInt(dx));
                 element.style.top=Dongwin.parsePx(parseInt(element.style.top)+parseInt(dy));
                 
                 
         page=Dongwin.getPage(element);    
             eventX=page.X;
             eventY=page.Y;
             
//            
//                 element.onmouseout=function()
//                 {
//                    setTimeout(function(){
//                    element.onmouseup=
//                    element.onmouseout=
//                    element.onmousemove=null;                    
//                    },1000);
//                 }       
                 //Dongwin.$('teee').value=element.style.left+element.style.top;
          }  
          
                 //element.onmouseout=
                 element.onmouseup=
                 function()
                 {
                    //element.style.zIndex=parseInt(element.style.zIndex)/2;
                    //element.onmouseout=
                    element.onmouseup=
                    element.onmousemove=null;
                 }   
    }
    
    ,
    getEvent:function() //同时兼容ie和ff的写法
        {  
        
                if(this.IE)   return window.event;    
                func=this.getEvent.caller;        
                while(func!=null){  
                    var arg0=func.arguments[0];
                    if(arg0)
                    {
                      if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
                      {  
                      return arg0;
                      }
                    }
                    func=func.caller;
                }
                return null;
        } 
        ,
         getStyle:function(style){
            var ret="";
            for(var i in style){ret+=i+":"+eval("style."+i)+";";}
            return ret;
        }
        ,
        getPage:function(forElement)
        {
        var offsetY = 0, offsetX = 0;
        
        if (this.IE)
        {
            offsetX=this.getEvent().x;
            
            offsetY=this.getEvent().y;
            //return [this.getEvent().x, this.getEvent().y];
           // var eventX=parseInt(e.pageX)-parseInt(page[0]));
           // var eventY=parseInt(e.pageY)-parseInt(page[1]));
        }
        else
        {

            var element = forElement;
            do {
              offsetY += element.offsetTop  || 0;
              offsetX += element.offsetLeft || 0;

              // Safari fix
              if (element.offsetParent==document.body)
                if (this.getStyle(element,'position')=='absolute') break;

            } while (element = element.offsetParent);

            element = forElement;
            do {
              if (!window.opera || element.tagName=='BODY') {
                offsetY -= element.scrollTop  || 0;
                offsetX -= element.scrollLeft || 0;
              }
            } while (element = element.parentNode);

            offsetX=parseInt(this.getEvent().pageX)-parseInt(offsetX);
            offsetY=parseInt(this.getEvent().pageY)-parseInt(offsetY);
           }
           var array=new Array();
                array.X=offsetX;
                array.Y=offsetY;
           return array;
        }
}
