var sAgent		= navigator.userAgent.toLowerCase() ;
var isIE		= (sAgent.indexOf("msie") != -1) ;
var isGecko		= !isIE ;
var isSafari	= (sAgent.indexOf("safari") != -1) ;
var isNetscape	= (sAgent.indexOf("netscape") != -1) ;
var isOpera		= (sAgent.indexOf("opera") != -1) ;

/**
 * 去除空格
 */
String.prototype.trim = function()
{
	return this.replace(/(^[\s|　]*)|([\s|　]*$)/g, "");
}
/**
 * 去除左空格
 */
String.prototype.ltrim = function()
{
	return this.replace(/(^[\s|　]*)/g, "");
}
/**
 * 去除右空格
 */
String.prototype.ltrim = function()
{
	return this.replace(/([\s|　]*$)/g, "");
}


/**
 * vbscript 的left函数，取字符串最左边len个字符
 */
String.prototype.left = function($len) {
	return this.substr(0,$len);
}

/**
 * vbscript 的right函数，取字符串最右边len个字符
 */
String.prototype.right = function($len) {
	if (this.length-$len>=0 && this.length>=0 && this.length-$len<=this.length) {
		return this.substring(this.length-$len,this.length)
	} else {
		return null
	};
}

/**
 * 字符串对象的mid方法，取字符串指定位置开始的指定长度
 */
String.prototype.mid = function(){
	var $start = arguments[0];
	var $len = arguments[1]?arguments[1]:0;
	if ($start > 0 ){
		if ($len > 0){
			return this.substr($start, $len);
		} else if ($len == 0){
			return this.substr($start);
		}else {
			return this.substring($start+$len, $start);
		}
	} else {
		if ($len == 0){
			return this.substring(this.length+$start-$len, this.length);
		} else {
			return this.substring(this.length+$start+$len, this.length+$start);
		}
	}
}

/**
 * 字符串对象的cut方法，取字符串指定开始位置到结束位置的字符串
 */
String.prototype.cut = function(){
	var $start = arguments[0];
	var $end = arguments[1]?arguments[1]:this.length;
	if ($start > 0 ){
		if ($end > 0){
			return this.substring($start, $end);
		} else {
			return this.substring($start, this.length+$end);
		}
	}else {
		if ($end > 0){
			return this.substring(this.length+$start, $end);
		} else {
			return this.substring(this.length+$start, this.length+$end);
		}
	}
}

/**
 * 简化getElementById
 */
function $(s)
{
	return document.getElementById(s);
}

/**
 * 创建新html元件
 */
function $c(s)
{
	return document.createElement(s);
}

/**
 * 判断html元件是否存在
 */
function exist(s)
{
	return $(s)!=null;
}

/**
 * 输出html内容
 */
function dw(s)
{
	document.write(s);
}

/**
 * 判断一个变量是否为空
 */
function isNull(_sVal)
{
	return (_sVal == "" || _sVal == null || _sVal == "undefined");
}

/**
 * 作用：判断变量st是否由数字组成(包括负数和小数)，如果是返回true,否则返回false。 
 */
function isNumber(st) 
{ 
	var Letters = "1234567890-."; 
	var i; 
	var c; 
	if(st.charAt( 0 )=='.') 
		return false; 
	if(st.charAt( 0 )=='-'&&st.charAt( 1 )=='.') 
		return false; 
	if( st.charAt( st.length - 1 ) == '-' ) 
		return false; 
	for( i = 0; i < st.length; i ++ ) 
	{ 
		c = st.charAt( i ); 
		if (Letters.indexOf( c ) < 0) 
		return false; 
	} 
	return true; 
}
/** 
 * 作用：设置名称为name,值为values，有效期为sec秒的cookie。同时可用做修改。 
 */
function setCookie(name,value,sec){ 
	var expires = ""; 
	if (days) { 
		var date = new Date(); 
		date.setTime(date.getTime()+sec); 
		expires = "; expires="+date.toGMTString(); 
	}; 
	document.cookie = name+"="+value+expires+"; path=/"; 
} 
	
/** 
 * 作用：根据名称，读取出cookie的值。如果无，则返回null。 
 */
function getCookie(name){ 
	var nameEQ = name + "="; 
	var ca = document.cookie.split(';'); 
	for(var i=0;i < ca.length;i++) { 
		var c = ca[i]; 
		while (c.charAt(0)==' '){
			c = c.substring(1,c.length); 
		}
		if (c.indexOf(nameEQ) == 0){
			return c.substring(nameEQ.length,c.length); 
		}
	}; 
	return null; 
};


/**
 * 删除节点
 */
function removeNode(s)
{
	if(exist(s))
	{
		$(s).innerHTML = '';
		$(s).removeNode?$(s).removeNode():$(s).parentNode.removeChild($(s));
	}
}

/** 
 * 作用:返回较大的日期值 
 * 参数:d1 d2 
 * 字符型 年-月-日 类型,如 2005-01-22 
 * 返回值: 较大值
 * 数字型 
 * d1>d2 返回0 
 * d1=d2 返回1 
 * d1<d2 返回2 
 */ 
function max_date(d1,d2) 
{ 
	if(d1==""&&d2==""){ 
		return 3 ;
	} 
	if(d1==""||d2==""){ 
		return 4 ;
	} 
	d1=d1.split("-") ;
	d2=d2.split("-") ;
	var a = new Date(Number(d1[0]),Number(d1[1]),Number(d1[2])) ;
	var b=new Date(Number(d2[0]),Number(d2[1]),Number(d2[2])) ;
	a = a.valueOf() ;
	b = b.valueOf() ;
	if(a-b>0) 
		return a ;
	if(a-b==0) 
		return 0 ;
	if(a-b<0) 
		return b ;
} 

/**
 * 复制代码
 */
function copyCode(obj)
{
    var rng = document.body.createTextRange();
    rng.moveToElementText(obj);
    rng.scrollIntoView();
    rng.select();
    rng.execCommand("Copy");
    rng.collapse(false);
}


/**
 * 运行代码
 */
function runCode(obj)
{
    var winname = window.open('', "_blank", '');
    winname.document.open('text/html', 'replace');
    winname.opener = null // 防止代码对论谈页面修改
    winname.document.write(obj.value);
    winname.document.close();
}


/**
 * 保存代码
 */
function saveCode(obj)
{
    var winname = window.open('', '_blank', 'top=10000');
    winname.document.open('text/html', 'replace');
    winname.document.write(obj.value);
    winname.document.execCommand('saveas','','code.htm');
    winname.close();
}



/**
 * 刷新页面
 */
function refreshPage() {
	window.location.reload();
}

/**
 * 字符串长度
 */
function strlen(key){
	var l=escape(key),len;
	len=l.length-(l.length-l.replace(/\%u/g,"u").length)*4;
	l=l.replace(/\%u/g,"uu");
	len=len-(l.length-l.replace(/\%/g,"").length)*2;
	return len;
}
/**
 * 取URL参数
 */
function GetUrlParam( paramName )
{
	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
	var oMatch;
	try {
		oMatch = oRegex.exec( window.top.location.search ) ;
	} catch (e) {
	    oMatch = oRegex.exec( location.search ) ;
	}
	
	if ( oMatch && oMatch.length > 1 )
		return unescape( oMatch[1] ) ;
	else
		return '' ;
}


/**
 * 初始化 $_GET,$_SERVER 全局变量
 */
var $_GET = {};
var $_SERVER = {};

function isNull(obj){
	if (obj == '' || obj == null || typeof(obj) == 'undefined') {
		return true;
	} else {
		return false;
	}
}
	
try{
	$_SERVER['URL'] = location.href;
} catch(e){
	$_SERVER['URL'] = window.top.location.href;
}
$_SERVER['QUERY_STRING'] = $_SERVER['URL'].substring($_SERVER['URL'].indexOf('?')+1, $_SERVER['URL'].length);
$_SERVER['SCRIPT_URI']   = $_SERVER['URL'].substring(0, $_SERVER['URL'].indexOf('?'))

function _GET(){
	if (!isNull($_SERVER['QUERY_STRING'])){
		var $Get = $_SERVER['QUERY_STRING'].split('&');
		for (var i in $Get){
			var $tmp = $Get[i].split('=');
			$_GET[$tmp[0]] = $tmp[1];
		}
	}
}
_GET();

/**
 * 隐藏显示块
 * @param string blockName 块的ID
 * @param string imageName 对应变换图像的ID
 * @param string image1    块显示时对应的图标
 * @param string image2    块隐藏时对应的图标
 * @param string textName  对应变换文本ID
 * @param string text1     块显示时对应的文本
 * @param string text2     块隐藏时对应的文本
 */
function showHide(blockName,imageName,image1,image2,textName,text1,text2) {
	var display = $(blockName).style.display;
	if (display=='none') {
		$(blockName).style.display='block';
	} else {
		$(blockName).style.display='none';
	}
	if (imageName) {
		if (display=='none') {
			$(imageName).src = image1;
		} else {
			$(imageName).src = image2;
		}
	}
	if (textName) {
		if (display=='none') {
			$(textName).innerHTML = text1;
		} else {
			$(textName).innerHTML = text2;
		}
	}
}

/**
 * 列表项选择
 */
var itemSelecteds = [];
function itemSelect(itemObj,selectBoxId,selectedClassName) {

	if (!selectBoxId) {
		selectBoxId = 'selectedId';
	}
	if (!selectedClassName) {
		selectedClassName = 'itemSelected';
	}
	var selectObjId = itemSelecteds[selectBoxId];
	if (selectObjId!=0 && !isNull(selectObjId)) {
		var selectObj = $(selectObjId);
		if (selectObj) {
			selectObj.className = selectObj.getAttribute('oldClass');
		}
	}
	itemObj.setAttribute('oldClass', itemObj.className);
	itemObj.className = selectedClassName;
	itemSelecteds[selectBoxId] = itemObj.id;
}
/**
 * 取选择项id值
 */
function getSelectId(idName,selectBoxId) {
	if (!selectBoxId) {
		selectBoxId = 'selectedId'; 
	}
	var selectObjId = itemSelecteds[selectBoxId];
	if (selectObjId!=0 && !isNull(selectObjId)) {
		var selectObj = $(selectObjId);
		result = selectObj.getAttribute(idName);
	} else {
		result = 0;	
	}
	return result;
}