﻿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);
}
function Test(v)
{
    alert(How2go.Trim(a));
}
var How2go=
{
    UserName:''
    ,
    Email:''
    ,
    Mobile:''
    ,
    NickName:''
    ,
    CityName:''
    ,
    IE:false
    ,
    Path:''
    ,
    Submit:function()
    {
        return(false);
    }
	,
	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;   
	}
    ,
    Error:function()
    {
        alert('error');
    }
    ,
    Alert:function(message)
    {
        message=message.replace(/&#10;/g,"\n");
        alert(message);
    }
    ,
    Trim:function(v)
    {
        return v.replace(/\s/g,"");
    }
    ,
    Mark:function(v)
    {
        return v.replace(/'/g,"");
    }
    ,
    Typeof:function(name)
    {
       if (typeof(name)=='undefined')
       {
            return false;
       }
       else
       {
            return true;
       }
    }
    ,
    $:function(id)
    {
        if (id==null || id=='')
        {
            return null;
        }
        return document.getElementById(id);
    }
    ,
    parsePx:function(v)
    {
        return parseInt(v)+'px';
    }
    
    ,
    Remove:function(obj)
    {
        if (null!=obj && null!=obj.parentNode)
        {
            obj.parentNode.removeChild(obj);
        }
    }
    ,
    CreateObjcet:function(parent,tabName,id,display,width,height,position,index,left,top)
    {
        var obj = document.createElement(tabName); 
            obj.style.display=display;
            parent.appendChild(obj);              
            obj.setAttribute("id",id);        
            obj.setAttribute("unselectable","on");
            obj.style.position=position;
            obj.style.width=this.parsePx(width);  
             obj.style.height=this.parsePx(height);  
            obj.style.position=position;            
            obj.style.zIndex=parseInt(index);  
                    
            if (top!='')
            {
            obj.style.top=this.parsePx(top);
            }
            if (left!='')
            {
            obj.style.left=this.parsePx(left);
            }
            return obj;
    }
    ,
    Redirect:function(page)
    {
        window.location=this.Path+''+page+'';
    }
    ,
    Select:function(obj)
    {
        return obj.options[obj.options.selectedIndex]
    }
    ,
    setIndex:function(id,value)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                for (var i=0;i<obj.length;i++)
                {
                   if (obj.options[i].value==value)
                   {
                        obj.options[i].selected=true;
                        break;
                   }
                }
            }
    }
    ,
    setCheck:function(id,check)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                obj.checked=check;
            }
    }
    ,
    None:function()
    {
        
    }
    ,
    setValue:function(id,value)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                obj.value=value;
            }
    }
    ,
    Display:function(id,show)
    {
        var obj=this.$(id);
            if (null!=obj)
            {
                if (show)
                {
                    obj.style.display='block';
                }
                else
                {
                    obj.style.display='none';
                }
            }
    }
    ,
    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);
                    
                 }
        }
    }
    ,
    Move:function(id,e)
    {
        var element=this.$(id);
        //element.style.zIndex=2*parseInt(element.style.zIndex);
         if (this.IE){
                e.cancelBubble=true;
                }
         
        var page=this.getPage(element);    
            var eventX=page.X;
            var eventY=page.Y;
         
             //page=How2go.getPage(element);    
          element.onmousemove=function()
          {
                 page=How2go.getPage(element); 
                  var dx=parseInt(parseInt(page.X)-parseInt(eventX));
                 var dy=parseInt(parseInt(page.Y)-parseInt(eventY)); 
                 element.style.left=How2go.parsePx(parseInt(element.style.left)+parseInt(dx));
                 element.style.top=How2go.parsePx(parseInt(element.style.top)+parseInt(dy));
                 
                 
         page=How2go.getPage(element);    
             eventX=page.X;
             eventY=page.Y;
             
//            
//                 element.onmouseout=function()
//                 {
//                    setTimeout(function(){
//                    element.onmouseup=
//                    element.onmouseout=
//                    element.onmousemove=null;                    
//                    },1000);
//                 }       
                 //How2go.$('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;
        }
}