﻿String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.len=function()
{
 return this.replace(/[^\x00-\xff]/g,'aa').length;
} 

function StringBuilder(value)
{
	this.strings = new Array("");
	this.append(value);
}

// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value)
{
	if (value)
	{
		this.strings.push(value);
	}
}



// Clears the string buffer
StringBuilder.prototype.clear = function ()
{
	this.strings.length = 1;
}

// Converts this instance to a String.
StringBuilder.prototype.toString = function ()
{
	return this.strings.join("");
}

//string format prototype
// sample: var test="my name is {0} {2} " ;
// alert(test.format('liang','zhonghua');
 if (!String._FORMAT_SEPARATOR){
 String._FORMAT_SEPARATOR = String.fromCharCode(0x1f);
 String._FORMAT_ARGS_PATTERN = new RegExp('^[^' + String._FORMAT_SEPARATOR + ']*'
 + new Array(100).join('(?:.([^' + String._FORMAT_SEPARATOR + ']*))?'));
 }
 if (!String.format)
	{
		String.format = function (s){
			return Array.prototype.join.call(arguments, String._FORMAT_SEPARATOR).
				replace(String._FORMAT_ARGS_PATTERN, s);
		}
	}
 if (!''.format)
	{
 String.prototype.format = function (){
 return (String._FORMAT_SEPARATOR +
 Array.prototype.join.call(arguments, String._FORMAT_SEPARATOR)).
 replace(String._FORMAT_ARGS_PATTERN, this);
 }
}
//end string format

function SetCookie(name, value)
{
 var argv = SetCookie.arguments;

 var argc = SetCookie.arguments.length;

 var expires = (argc > 2) ? argv[2].toGMTString() : null;

 var path = (argc > 3) ? argv[3] : null;

 var domain = (argc > 4) ? argv[4] : null;

 var secure = (argc > 5) ? argv[5] : false;

 /*
 var content = name + "=" + escape(value) +
 ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
 ((path == null) ? "" : ("; path=" + escape(path))) +
 ((domain == null) ? "" : ("; domain=" + escape(domain))) +
 ((secure == true) ? "; secure" : "");
 **/
 var content = name + "=" + escape(value) + ";";
 if(expires != null)
 {
 content += " expires=" + expires + ";";
 }
 if(path != null)
 {
 content += " path=" + path + ";";
 }
 if(domain != null)
 {
 domain += " domain=" + domain + ";";
 }
 if(secure != null)
 {
 secure += " secure=" + secure + ";"
 }
 
 document.cookie = content;
}

function GetCookie(cookieName) 
{
 var cookieString = document.cookie;
 
 var start = cookieString.indexOf(cookieName + '=');
	
	

 // 加上等号的原因是避免在某些 Cookie 的值里有
 // 与 cookieName 一样的字符串。
	
 if (start == -1) // 找不到
 return null;

 start += cookieName.length + 1;
 var end = cookieString.indexOf(';', start);
 if (end == -1) return unescape(cookieString.substring(start));
 return unescape(cookieString.substring(start, end));
}

function checkLoginByCookie()
{
 var cookieId="AUTHTEST";
 if(window.location.href.toLowerCase().indexOf("qidian.com") > -1)
 {
 cookieId="cmfuToken";
 }

 if((GetCookie(cookieId)!=null && GetCookie(cookieId).length > 0 ))
 {
 return true;
 }
 else
 {
 if(GetCookie('cmfu_al') != null && GetCookie('cmfu_al').length > 0)
 {
 return true;
 }
 }
 return false;
}


function $(objName)
{
 
 if(document.getElementById)
 {
 return document.getElementById(objName );
 }
 else if(document.layers)
 {
 return eval("document.layers['" + objName +"']");
 }
 else
 {
 return eval('document.all.' + objName);
 }
}

function subString(str, len, hasDot)
{
	var newLength = 0;
	var newStr = "";
	var chineseRegex = /[^\x00-\xff]/g;
	var singleChar = "";
	var strLength = str.replace(chineseRegex,"**").length;
	for(var i = 0;i < strLength;i++)
	{
 singleChar = str.charAt(i).toString();
		if(singleChar.match(chineseRegex) != null)
		{
			newLength += 2;
		}	
		else
		{
			newLength++;
		}
		if(newLength > len)
		{
			break;
		}
		newStr += singleChar;
	}
	
	if(hasDot && strLength > len)
	{
	 newStr += "...";
	}
	return newStr;
}

/* 2007-10-26 14:20 Get String Lenth(include chinese character) */
function GetStringLength(strObj)
{
 return strObj.replace(/[^\x00-\xff]/g,"**").length;
}

/* div login */
function ShowLoginDiv()
{
 var builder = new StringBuilder();
 builder.append("<table border='0' cellpadding='0' cellspacing='0'>");
 builder.append("<tr class='TitleTR'>");
 builder.append("<td align='left'>");
 builder.append("登录");
 builder.append("</td>");
 builder.append("<td align='right'>");
 builder.append("<span title='关闭' onclick='HideLoginMask();'>×</span>");
 builder.append("</td>");
 builder.append("</tr>");
 builder.append("<tr>");
 builder.append("<td colspan='2'>");
 builder.append("<iframe src='/DivUserLogin.aspx' width='225px' height='125px' name='loginFrame' ");//src=''
 builder.append("id='loginFrame' frameborder='0' scrolling='no'></iframe>");
 builder.append("</td>");
 builder.append("</tr>");
 builder.append("</table>"); 
 //window.top.scrollTo(0,0);
 document.getElementById("DivMask").style.height=document.body.scrollHeight;
 document.getElementById("DivMask").style.width=document.body.scrollWidth;
 document.getElementById("DivMask").style.display = 'block'; 
 document.getElementById("DivLogin").style.display = "block";
 document.getElementById("DivLogin").innerHTML = builder.toString();
 ScrollDiv(); 
 window.onscroll=ScrollDiv;
 window.onresize=ScrollDiv;
 window.onload=ScrollDiv; 
} 
function HideLoginMask()
{
 document.getElementById("DivMask").style.display="none";
 document.getElementById("DivLogin").style.display="none";
} 
/*随屏幕滚动*/
function ScrollDiv()
{
 if($("DivLogin"))
 {
 document.getElementById("DivLogin").style.top=(document.documentElement.scrollTop+
 (document.documentElement.clientHeight-document.getElementById("DivLogin").offsetHeight)/2)+"px";
 
 document.getElementById("DivLogin").style.left=(document.documentElement.scrollLeft+
 (document.documentElement.clientWidth-document.getElementById("DivLogin").offsetWidth)/2)+"px";
 
 }
 
 if($("AddMark"))
 {
 if(!event )
 return;
 
 $("AddMark").style.top=document.body.clientHeight + document.body.scrollTop-100
 $("AddMark").style.left=document.body.clientWidth-56;
 
 // (document.body.clientHeight-$("AddMark").offsetHeight)/2)+"px";
 
 } 
}

function getUrlParam(name)
{ 
 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)","i"); 
 var r = window.location.search.substr(1).match(reg); 
 if (r!=null) 
 {
 return unescape(r[2]);
 }
 else
 { 
 return null; 
 }
}

function CheckPostFromCookie(urlPara, sepSecond, curContent)
{
	var curForumId = getUrlParam(urlPara);
	var forumId = GetCookie(urlPara);
	//alert(curForumId + "_" + forumId);
	if(forumId != null && curForumId != null && forumId == curForumId)
	{
		var curTime = new Date();
		var lastTime = new Date(GetCookie("pTime"));
		if(parseInt(Math.abs(curTime - lastTime) / 1000) <= sepSecond)
		{
			alert("您发帖速度太快了, 先休息一会吧.");
			return false;
		}
//		var content = GetCookie("content");
//		if(curContent.substring(0, 12) == content)
//		{
//			alert("不能发表重复帖！");
//			return false;
//		}
	}
	return true;
}

function SetPostCookie(urlPara, curContent)
{
 var urlParaValue = getUrlParam(urlPara);
 //alert(urlPara + "_" + urlParaValue);
	SetCookie(urlPara, urlParaValue);
	SetCookie('pTime', new Date());
	SetCookie("content", curContent);
} 

//回车提交表单
function KeydownSubmitForm(btnId)
{
 var btn=document.getElementById(btnId);
 if (btn!=null&& event.keyCode== 13)
 {
 event.returnValue=false;
 event.keyCode=9;
 btn.click(); 
 } 
} 

/*文本框得到焦点*/
function TextBoxOnFocus(txtControl,strDefaultText)
{
 if (txtControl.value==strDefaultText)
 txtControl.value="";
}
/*文本框失去焦点*/
function TextBoxOnBlur(txtControl,strDefaultText)
{
 if (txtControl.value.replace(/(^[\s]*)|([\s]*$)/g,"")=="")
 txtControl.value=strDefaultText;
}

function addMark(title,url) {
try{
if (window.sidebar) { 
window.sidebar.addPanel(title, url,""); 
} else if( document.all ) {
window.external.AddFavorite( url, title);
} else if( window.opera && window.print ) {
return true;
}
}catch(e)
{
 alert("您的浏览器安全设置不允许该项操作")
}
}

function ShowServerMessage(result)
{
 eval(result.value);
}

function playSwf(path, style)
{
	document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" style='"+style+"'><param name=\"movie\" value=\"" + path + "\"><param name='wmode' value='transparent'><param name=\"quality\" value=\"high\"><embed src=\"" + path + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" style='"+style+"'></embed></object>");
}


//获取当前请求的相对路径
function GetCurrentRawUrl()
{
 var retUrl= document.location.href;
 var retDomain=document.location.host;
 retUrl=retUrl.replace(retDomain,"");
 retUrl=retUrl.replace("http://","");
 return escape(retUrl);
}
function AdLinkAct(url)
{
 var referkey;
 try
 {
 referkey = GetCookie("rk");
 if (referkey!=null && referkey!="")
 {
 MyAjax.UseAdLinkView(url,AfterUseAdLinkView);
 }
 }
 catch(e)
 {}
}

function AfterUseAdLinkView(result)
{}

