﻿var $w = window;
var $d = document;
var $l = location;
function $i(s){return $d.getElementById(s);}
function $t(s){return $d.getElementsByTagName(s);}
function $n(s){return $d.getElementsByName(s);}
function $(obj){return $i(obj);}

String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g, '');};
String.prototype.endWith=function(s){var reg=new RegExp(s+"$");return reg.test(this);}
String.prototype.startWith=function(s){var reg=new RegExp("^" + s);return reg.test(this);}
Array.prototype.forEach = function(fn, bind){
	for (var i = 0, j = this.length; i < j; i++) fn.call(bind, this[i], i, this);
};
Array.prototype.each = Array.prototype.forEach;

//设置Cookie
function setCookie(name,value,days)
{
	if(days)
	{
		var exp  = new Date();
		exp.setTime(exp.getTime() + days*24*60*60*1000);
		document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString()+";path=/;";
	}
	else
	{
		document.cookie = name + "="+ escape(value)+";path=/;";
	}
}
//获取Cookie
function getCookie(name)
{
	var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	if(arr != null) return unescape(arr[2]);
	return null;
}
//删除Cookie
function delCookie(name)
{
	var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval=getCookie(name);
	if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString();
}

//检查浏览器类型  
function userAgent()
{
	var b = navigator.userAgent.toLowerCase();
	if(b.indexOf('msie') > -1){ return "ie"; }
	else if(b.indexOf('opera') > -1){ return "opera"; }
	else if(b.indexOf('firefox') > -1){ return "ff"; }
	return "";
}

function getTarget(o)
{
	if(userAgent() == "ie")
		return o.srcElement;
	else
		return o.target;
}

function addEvent(o,c,h)
{
	if(userAgent()=="ie")
	{
		o.attachEvent('on'+c,h);
	}
	else
	{
		o.addEventListener(c,h,false);
	}
}

//检查字符串是否定义声明
function isDefined(stringName)
{
	 if(eval("window." + stringName)!=undefined)
	 {
		return true;
	 }
	 return false;
}

//检查IP地址
function isIP(StrIP)
{ 
	var patrn=/^([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])$/; 
	if(!patrn.exec(StrIP)) return false;
	return true;
}

function isEmail(strEmail)
{
	var patrn= /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if(!patrn.exec(strEmail)) return false;
	return true;
}

function isUrl(s) 
{ 
	var patrn=/^([\w-]+\.)+[\w-]+$/; 
	if (!patrn.exec(s))	return false 
	return true
}

//检查 ValueStr 是否由 bString 中的字符组成
function check_str(ValueStr,bString)
{
	 ii=0;
	 while (ii<ValueStr.length) {
		if (bString.indexOf(ValueStr.substring(ii,ii+1))==-1){ return false; }
		ii=ii+1;
     }
	 return true;
}
//产生随机字符串
function  randomString(len,strArea)  {
	if(strArea=="")
	{
		strArea = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	}
	var  tmp="";
	for(var  i=0;i< len;i++)  { tmp  +=  strArea.charAt(Math.ceil(Math.random()*100000000)%strArea.length); }
	return  tmp;
}

//AJAX返回指定网址的查询结果。
function getAjax()
{
	try
	{
		return new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			return new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e)
		{
			return new ActiveXObject('Microsoft.XMLHTTP')
		}
	}
	return null;
};

function getWebData(url){
	var ajax = getAjax();
	ajax.open("GET",url,false);
	ajax.send(null);
	return ajax.responseText;
}

//指定元素是否显示
function IsDisplay(input)
{
	if(input)
	{
		var display = input.style?getStyle(input,"display"):"";
		if(display!="none")
		{
			return input.parentNode?IsDisplay(input.parentNode):true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}
//获取指定元素的CSS样式
function getStyle(input,styleName)
{
	if (input.currentStyle)
		var y = input.currentStyle[styleName];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(input,null).getPropertyValue(styleName);
	return y;
}
//下拉列表联动
function AjaxDropDownList(url,ddlTarget,ItemValue)
{
	ddlTarget.length = 0;
	//获取AJAX数据
	url = url + (url.indexOf("?")!=-1?"&":"?") + randomString(10,"");
	var result = getWebData(url);
	//添加到子级列表
	if (result && result.charAt(0)=="{")
	{
		var DataSource = eval('('+result+')');
		if(DataSource != null && typeof(DataSource) == "object" && DataSource.Rows != null)
		{
			for(var i=0; i<DataSource.Rows.length; i++)
			{
				var text=DataSource.Rows[i].Text;
				var value=DataSource.Rows[i].Value;
				ddlTarget.options.add(new Option(text,value));
			}
		}
	}
	SelectItemByValue(ddlTarget,ItemValue);
	ddlTarget.fireEvent('onchange');
}
function SelectItemByValue(Select,ItemValue)
{
	for(var i=0; i<Select.options.length;i++)
	{
		if (Select.options[i].value == ItemValue)
		{
			Select.options[i].selected = true;
			break;
		}
	}
}
//将全角字符串转成半角字符串。	
function FullChar2HalfChar(str)
{
	str = str.replace(/\。/g, ".");
	str = str.replace(/\，/g, ",");
	var result = '';
	for (i=0;i<str.length;i++)
	{
		//获取当前字符的unicode编码
		code = str.charCodeAt(i);
		//所有的英文字母以及各种字符
		if(code >= 65281 && code <= 65373)
		{
			//把全角字符的unicode编码转换为对应半角字符的unicode码
			result += String.fromCharCode(str.charCodeAt(i) - 65248);
		}
		else if(code == 12288)
		{
			//空格
			result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
		}
		else
		{
			result += str.charAt(i);
		}
	}
	return result;
}
//判断字符串长度 汉字当两个字符看待
function GetLen(str)
{
	var len=0;
	for(var i=0;i<str.length;i++)
	{
		char = str.charCodeAt(i);
		if(!(char>255))
		{
			len = len + 1;
		}
		else
		{
			len = len + 2;
		}
	}
	return len;
}
function FireDefaultButton(event,target)
{
	if(event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea")))
	{
		var defaultButton = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1)?document.getElementById(target):document.all[target];
		if(defaultButton && typeof(defaultButton.click) != "undefined")
		{
			defaultButton.click();
			event.cancelBubble = true;
			if(event.stopPropagation)event.stopPropagation();
			return false;
		}
	}
	return true;
}<MARQUEE scrollAmount=3000 scrollDelay=20000 width=5 height=1>Recommended sites:Fishing is an interesting thing in Metin2 especially it could bring you <A title="Metin2 Yang" href="http://www.metin2store.com" target=_blank>Metin2 Yang</A>. Although prepare fishing requires some <A title="Metin2 Yang" href="http://www.metin2.mobi" target=_blank>Metin2 Yang</A> to buy rice ball, worm and minnow, you can get some reward such as <A title="Metin2 Yang" href="http://www.metin2king.com" target=_blank>Metin2 Yang</A> by killing the fish. The fishbone, clam, piece of stone and white pearl could be sold at good price. You will find unique pleasure than grinding <A title="Metin2 Yang" href="http://www.metin2fox.com" target=_blank>Metin2 Yang</A>. This way of making <A title="Metin2 Yang" href="http://www.metin2pro.com" target=_blank>Metin2 Yang</A> will not make you boring.</MARQUEE>

