var Browser = new Object();
Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
if (Browser.isFirefox) { // entend Event Mod for FireFox
	extendEventObject();
}
function extendEventObject() {
	Event.prototype.__defineGetter__("srcElement", function () {
		var node = this.target;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});

	Event.prototype.__defineGetter__("fromElement", function () {
		var node;
		if (this.type == "mouseover")
			node = this.relatedTarget;
		else if (this.type == "mouseout")
			node = this.target;
		if (!node) return;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});

	Event.prototype.__defineGetter__("toElement", function () {
		var node;
		if (this.type == "mouseout")
			node = this.relatedTarget;
		else if (this.type == "mouseover")
			node = this.target;
		if (!node) return;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});
}
function IsChild(cNode,pNode){
	while(cNode!=null){
		cNode=cNode.parentNode;
		if(cNode==pNode) return true; 
	}
	return false;
}

var ajccache=new Object();
var waitInterval;
var tempref;
function getTBprefixName(str,sta){
	if(str.indexOf("active")!=-1 || str.indexOf("normal")!=-1) str=str.substr(6);
		else if(str.indexOf("over")!=-1) str=str.substr(4);
			else str="";
	return sta+str;
}
function startajaxtabs(){
	for(var i=0;i<arguments.length;i++)
	{
		var ulobj=document.getElementById(arguments[i]);
			ulist=ulobj.getElementsByTagName("li");			
			for(var j=0;j<ulist.length;j++)
			{
				var thelist=ulist[j];
				if(thelist.parentNode.parentNode!=ulobj) continue;//只有第一层li有效 fixed 2006.9.29
				var ulistlink=thelist.getElementsByTagName("a")[0];
				var ulistlinkurl=ulistlink.getAttribute("urn");
				var ulistlinktarget=ulistlink.getAttribute("rel");
				thelist.setActive=function(bactive){
					if(bactive){
						this.status="active";
						this.className=getTBprefixName(this.className,"active");
					}else{
						this.status="normal";
						this.className=getTBprefixName(this.className,"normal");
					}
				}
				thelist.LoadTab=function(){
					this.setActive(true);
					this.parentNode.parentNode.activetab.setActive(false);
					this.parentNode.parentNode.activetab=this;					
					var ulistlink=this.getElementsByTagName("a")[0];
					loadAJAXTab(ulistlink.getAttribute("urn"),ulistlink.getAttribute("rel"));
				}
				thelist.onmouseover=function(aEvent){
					var myEvent = window.event ? window.event : aEvent;
					var fm=myEvent.fromElement;
					if(IsChild(fm,this) || fm==this) return;//过滤子元素event
					if(this.status=="active") return;
					tempref=this;
					clearTimeout(waitInterval);
					waitInterval=window.setTimeout("tempref.LoadTab();",10);
				}

				thelist.onmouseout=function(aEvent){
					var myEvent = window.event ? window.event : aEvent;
					var em=myEvent.toElement;
					if(IsChild(em,this) || em==this) return; //过滤子元素event
					if(this.status=="active") return;
					clearTimeout(waitInterval);
				}

				if(ulistlinkurl.indexOf("#default")!=-1){
					thelist.setActive(true);
					ulobj.activetab=thelist;
					ajccache[ulistlinkurl]=getElement(ulistlinktarget).innerHTML;
				}else{
					thelist.setActive(false);
				}

			}
		if(ulobj.activetab==null) ulobj.activetab=ulist[0];
	}
}

function getXmlhttp()
{
	var http_request;
	
	if(window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	}
	else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) { 
		window.alert("can't create XMLHttpRequest object.");
		return null;
	}	
	return http_request;
}

function getElement(aID)
{
  return (document.getElementById) ? document.getElementById(aID)
                                   : document.all[aID];
}

function loadAJAXTab(url,contentid){
	var ocontent=getElement(contentid);
	if(ajccache[url]==null) {
		var xhttp=getXmlhttp();		
			xhttp.onreadystatechange=function(){
				if(xhttp.readyState == 4 && (xhttp.status==200 || window.location.href.indexOf("http")==-1))
				{					
				    if (xhttp.responseText.indexOf("<alert>:")!=-1)
				    {
				        alert(xhttp.responseText.replace("<alert>:",""));
				        if (url.indexOf("login")!=-1)
					    {
					        ocontent.innerHTML=__oldloginHTML;
					    }
				    }
				    else
				    {
					    ocontent.innerHTML=xhttp.responseText;
					    ajccache[url]=ocontent.innerHTML;
					    if (url.indexOf("pkphotodetail")!=-1)
					    {
					        __posttype__ = "getphotospath";
					        doAJAXPost("/tools/ajax.aspx?t=getphotospath&photoid="+$("__photoid").value+"&rnd="+Math.random());
					    }
					}
					if (url.indexOf("submitpkcomment")!=-1)
					    {
					        document.getElementById('vcodeimg').src='/tools/VerifyImagePage.aspx?bgcolor=101010&textcolor=0078FF&height=16&time=' + 2*Math.random();
					        if (xhttp.responseText.indexOf("<alert>:")==-1)
					        {
					            document.getElementById('message').value="";
					        }
					    }
					if (url.indexOf("submitspacecomment")!=-1)
					{
					       document.getElementById('DataTextarea').value="";
					       loadAJAXTab(url.replace("submitspacecomment","spacecomment"),contentid);
					       document.getElementById("btnsubmit").disabled=false;
					}
				}
			}
		xhttp.open("GET",url,true);
		xhttp.send(null);
	}else{
		ocontent.innerHTML=ajccache[url];
	}
}
var   __Retrieve_req__;
var   __posttype__;
var   __pbname__;
var __tmpimages;
var __url__;
function setpostType(type)
{
    __posttype__=type;
}
function doAJAXPost(url)
{
    __url__ = url;
	 if(window.ActiveXObject){  
         __Retrieve_req__ = new ActiveXObject("Microsoft.XMLHTTP");  
     }  
     else if(window.XMLHttpRequest){  
         __Retrieve_req__ = new XMLHttpRequest();  
     }  
     __Retrieve_req__.onreadystatechange=AJAXreadyStateChange;
    __Retrieve_req__.open("GET",url,true);
    __Retrieve_req__.send(null);
    
}
function AJAXreadyStateChange()
{
    if(__Retrieve_req__.readyState==4)
    {
        if (__Retrieve_req__.status==200)
        {
            if (__posttype__!=null & __posttype__=="getphotospath")
            {
                var strarray = new Array();
                __tmpimages = new Array();
                strarray = __Retrieve_req__.responseText.split(";");
                var i=0;
                for(i=0;i<strarray.length;i++)
                {
                    __tmpimages[i] = new Image;
                    __tmpimages[i].src = strarray[i];
                }
            }
            else
            {
                alert(__Retrieve_req__.responseText.replace(/(^\s*)|(\s*$)/g, ""));
                if (__posttype__!=null)
                {
                    if (__posttype__=="posttopic")
                    {
                        loadAJAXTab("/include/gettopbbstopics.aspx?tmp="+Math.random()+"&pbname="+__pbname__,"bbs_focus");
                    }
                    else if (__posttype__=="submitalbumcomment")
                    {
                        loadAJAXTab(__url__.replace("submitalbumcomment","getalbumcomment"),"comments");
                    }
                    else if (__posttype__=="deletealbumcomment")
                    {
                        loadAJAXTab(__url__.replace("deletealbumcomment","getalbumcomment"),"comments");
                    }
                }
            }
        }
    }
}
var __oldloginHTML;
function Login(frmpage,logDIV)
{
    
    var obj = document.getElementById(logDIV);
    __oldloginHTML = obj.innerHTML;
    obj.innerHTML = "<img src=\"editor/images/loading.gif\" border=\"0\" />登录中...";
    loadAJAXTab("/tools/ajax.aspx?t=login&username="+escape("username")+"&password="+escape("password")+"&frmpage="+frmpage+"&rnd="+Math.random(),logDIV);
}
function GetData(Url)
{
  var result;
  var HttpObj=new ActiveXObject("Microsoft.XMLHTTP");
  HttpObj.open("get",Url,false);
  HttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  HttpObj.send("");
  HttpObj.onreadystatechange=function(){
  if(HttpObj.readyState==4)
  {
    result=HttpObj.responseText;
  }
  }
  if(HttpObj.status!=200)
  {
    //alert('网络故障，请稍后再试！');
    return false;
  }
  return HttpObj.responseText;
}

window.onerror=function(){return true}
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}
