﻿// JScript 文件
/*
	[Discuz!] (C)2001-2007 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$RCSfile: common.js,v $
	$Revision: 1.103 $
	$Date: 2007/07/30 09:16:52 $
*/
var lang = new Array();
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
var isIE = (document.all) ? true : false;
function $(id) {
	return document.getElementById(id);
}
function setcookie(cookieName, cookieValue, Days, path, domain, secure) {
	var expires = new Date();
	//expires.setTime(expires.getTime() + seconds);

    expires.setTime(expires.getTime() + Days*24*60*60*1000);   
	document.cookie = escape(cookieName) + '=' + escape(cookieValue)
		+ (expires ? '; expires=' + expires.toGMTString() : '')
		+ (path ? '; path=' + path : '/')
		+ (domain ? '; domain=' + domain : '')
		+ (secure ? '; secure' : '');
}

function getcookie(name) {
	var cookie_start = document.cookie.indexOf(name);
	var cookie_end = document.cookie.indexOf(";", cookie_start);
	return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}

function   readCookie(name)   
  {   
      var   arr   =   document.cookie.match(new   RegExp("(^|)"+name+"=([^;]*)(;|$)"));   
      if(arr   !=   null)   return   unescape(arr[2]);   return   null;   
  }
function   DelCookie(name)   
{   
  var   exp   =   new   Date();   
  exp.setTime(exp.getTime()   -   1);   
  var   cval=readCookie(name);   
  if(cval!=null)   document.cookie=name   +"="+cval+";expires="+exp.toGMTString()+"; path=/";
}


function HTMLEncode(text){
	text = text.replace(/&/g, "&amp;") ;
	text = text.replace(/"/g, "&quot;") ;
	text = text.replace(/</g, "&lt;") ;
	text = text.replace(/>/g, "&gt;") ;
	text = text.replace(/'/g, "&#146;") ;
	text = text.replace(/\ /g,"&nbsp;");
	text = text.replace(/\n/g,"<br />");
	text = text.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");
	return text;
}
/**
 * 删除字符串两边空格
 */
String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g, "");
}


// 获取宽度
function getWidth()
{
    var strWidth,clientWidth,bodyWidth;
    clientWidth = document.documentElement.clientWidth;
    bodyWidth = document.body.clientWidth;
    if(bodyWidth > clientWidth){
        strWidth = (bodyWidth + 20)+"px";
    } else {
        strWidth = clientWidth+"px";
    }
    return strWidth;
}
//获取高度
function getHeight()
{
    var strHeight,clientHeight,bodyHeight;
    clientHeight = document.documentElement.clientHeight;
    bodyHeight = document.body.clientHeight;
    if(bodyHeight > clientHeight){
        strHeight = (bodyHeight + 30)+"px";
    } else {
        strHeight = clientHeight+"px";
    }
    return strHeight;
}
function addEventListener(el, event, func) {
	try {
		el.addEventListener(event, func, false);
	} catch (e) {
		try {
			el.detachEvent('on'+ event, func);
			el.attachEvent('on'+ event, func);
		} catch (e) {
			el['on'+ event] = func;
		}
	} 
}

function removeEventListener (el, event, func) {
	try {
		el.removeEventListener(event, func, false);
	} catch (e) {
		try {
			el.detachEvent('on'+ event, func);
		} catch (e) {
			el['on'+ event] = null;
		}
	}
}
var client={

_W : function () {
	 	var strWidth,clientWidth,bodyWidth;
		clientWidth = document.documentElement.clientWidth;
		bodyWidth = document.body.clientWidth;
		if(bodyWidth > clientWidth){
			strWidth = (bodyWidth + 20);
		} else {
			strWidth = clientWidth;
		}
		return strWidth;
	},
_H :function(){
		var strHeight,clientHeight,bodyHeight;
		clientHeight = document.documentElement.clientHeight;
		bodyHeight = document.body.clientHeight;
		if(bodyHeight > clientHeight){
			strHeight = (bodyHeight + 30);
		} else {
			strHeight = clientHeight;
		}
		return strHeight;
	}
}

// Ajax

var Ajax = {};
Ajax.getXmlHttpObject = function(){
	var objReq;
	if (window.XMLHttpRequest){
		objReq = new XMLHttpRequest();
		if (objReq.overrideMimeType){
			objReq.overrideMimeType("text/xml");
		}
	}else if(window.ActiveXObject){
		try{
			objReq = new ActiveXObject("MSXML2.XMLHTTP");
		}
		catch(e){
			try{
				objReq = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				objReq = false;
			}
		}
	}
	return objReq;
};

Ajax.getText = function(uri,aysn){
	var obj = this.getXmlHttpObject();
	if (aysn){
		
		obj.onreadystatechange = function(){			
			if (obj.readyState == 4){
				if (obj.status == 200){
					aysn(obj.responseText);
				}
			}
		}
	}
	if(uri.indexOf("?") != -1)
		uri += "&rnd="+(Math.random());
	else
		uri += "?rnd="+(Math.random());
		
	obj.open("GET",uri,aysn?true:false);
	obj.send(null);
	if(aysn){return null;}
	return obj.responseText;
};

Ajax.PostData = function(uri,data,aysn){
	var obj = this.getXmlHttpObject();
	if (aysn){
		obj.onreadystatechange = function(){
			if (obj.readyState == 4){
				if (obj.status == 200){
					aysn(obj.responseText);
				}
			}
		}
	}
	if(uri.indexOf("?") != -1)
		uri += "&rnd="+(Math.random());
	else
		uri += "?rnd="+(Math.random());
	
	obj.open("POST",uri,aysn?true:false);
	obj.setRequestHeader("Content-Length",data.length);
	obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	obj.send(data);
	if(aysn){return null;}
	return obj.responseText;
}

Ajax.Update = function(uri,eleid){
	var obj = this.getXmlHttpObject();
	obj.onreadystatechange = function(){
		if (obj.readyState == 4){
			if (obj.status == 200){
				document.getElementById(eleid).innerHTML = obj.responseText;
			}
		}
	}
	if(uri.indexOf("?") != -1)
		uri += "&rnd="+(Math.random());
	else
		uri += "?rnd="+(Math.random());
		
	obj.open("GET",uri,true);
	obj.send(null);
}
