var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;
var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;
var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
var isFirefox=(navigator.userAgent.indexOf("Firefox")!=-1)?true:false;
var IEVer=getIEVer();
function getIEVer(){
var iVerNo=0;
var sVer=navigator.userAgent;
if(sVer.indexOf("MSIE")>-1){
var sVerNo=sVer.split(";")[1];
sVerNo=sVerNo.replace("MSIE","");
iVerNo=parseFloat(sVerNo);
}
return iVerNo;
}
function getLongDateTime(str){
var d=new Date(str);
var year=d.getFullYear().toString();
var monthInt=d.getMonth()+1;
var month=monthInt.toString();
if(month.length<2){
month="0"+month;
}
var day=d.getDate().toString();
if(day.length<2){
day="0"+day;
}
var hour=d.getHours().toString();
if(hour.length<2){
hour="0"+hour;
}
var minute=d.getMinutes().toString();
if(minute.length<2){
minute="0"+minute;
}
var second=d.getSeconds().toString();
if(second.length<2){
second="0"+second;
}
return year+"年"+month+"月"+day+"日 "+hour+":"+minute+":"+second;
}
function getDateForMysql(str){
var d=new Date(str);
var year=d.getFullYear().toString();
var monthInt=d.getMonth()+1;
var month=monthInt.toString();
if(month.length<2){
month="0"+month;
}
var day=d.getDate().toString();
if(day.length<2){
day="0"+day;
}
var hour=d.getHours().toString();
if(hour.length<2){
hour="0"+hour;
}
var minute=d.getMinutes().toString();
if(minute.length<2){
minute="0"+minute;
}
var second=d.getSeconds().toString();
if(second.length<2){
second="0"+second;
}
return year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
}
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length<1){
return"";
}
TRIM_VALUE=RTrim(TRIM_VALUE);
TRIM_VALUE=LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return"";
}
else{
return TRIM_VALUE;
}
}
function RTrim(VALUE,w_spaces){
if(w_spaces==undefined||w_spaces==null){
w_spaces=[];
w_spaces.push(String.fromCharCode(32));
}
var v_length=VALUE.length;
var strTemp="";
if(v_length<0){
return"";
}
var iTemp=v_length-1;
while(iTemp>-1){
var ch=VALUE.charAt(iTemp);
var match=false;
for(var i=0;i<w_spaces.length;i++){
if(ch==w_spaces[i]){
match=true;
break;
}
}
if(!match){
strTemp=VALUE.substring(0,iTemp+1);
break;
}
iTemp=iTemp-1;
}
return strTemp;
}
function LTrim(VALUE,w_spaces){
if(w_spaces==undefined||w_spaces==null){
w_spaces=[];
w_spaces.push(String.fromCharCode(32));
}
if(v_length<1){
return"";
}
var v_length=VALUE.length;
var strTemp="";
var iTemp=0;
while(iTemp<v_length){
var ch=VALUE.charAt(iTemp);
var match=false;
for(var i=0;i<w_spaces.length;i++){
if(ch==w_spaces[i]){
match=true;
break;
}
}
if(!match){
strTemp=VALUE.substring(iTemp,v_length);
break;
}
iTemp=iTemp+1;
}
return strTemp;
}
function TrimSBCandDBC(TRIM_VALUE){
if(TRIM_VALUE.length<1){
return"";
}
TRIM_VALUE=RTrim(TRIM_VALUE,[String.fromCharCode(32),'　']);
TRIM_VALUE=LTrim(TRIM_VALUE,[String.fromCharCode(32),'　']);
if(TRIM_VALUE==""){
return"";
}
else{
return TRIM_VALUE;
}
}
function isEmptyDiv(str){
var trim=Trim(str);
if(trim=="")
return true;
var rep=/^<DIV>(&nbsp;<\/DIV><DIV>)*(&nbsp;)*<\/DIV>$/i;
if(rep.test(trim)){
return true;
}
else
return false;
}
function isEmptyContent(str){
var trim=Trim(str);
if(trim=="")
return true;
trim=trim.replace(/<\/?(div|p|span|br).*?>/ig,"");
trim=trim.replace(/(&nbsp;|\s)*/ig,"");
if(trim=="")
return true;
else
return false;
}
function removeAllChild(el){
var firstChild=el.firstChild;
var curChild=firstChild;
while(curChild!=null){
el.removeChild(curChild);
if(isIE)curChild.outerHTML='';
curChild=curChild.nextSibling;
}
}
function insertAfter(parent,node,referenceNode){
parent.insertBefore(node,referenceNode.nextSibling);
}
function testUrl(str){
var illegalChar=/^(.*)['"‘“<>](.*)$/;
if(illegalChar.test(str))
return false;
else
return true;
}
function checkMail(str){
var mail=/^(.+)@(.+)\.(.+)$/;
if(!mail.test(str))
return false;
if(str.indexOf('@')!=str.lastIndexOf('@'))
return false;
var illegalChar=/^(.*)['"‘“\/\\<>](.*)$/;
if(illegalChar.test(str))
return false;
else
return true;
}
function checkDateFormat(str){
var format=/^\d{4}\-\d{2}\-\d{2}$/;
if(format.test(str))
return true;
else
return false;
}
function checkBirthday(str){
var today=new Date();
var barray=str.split(new RegExp("-","g"));
var birthday=new Date(barray[0],barray[1]-1,barray[2]);
if(parseInt(barray[0])<1900){
return-1;
}
if(birthday.getTime()>today.getTime()){
return 1;
}
else if(birthday.getFullYear()<1900){
return-1;
}
else{
return 0;
}
}
function _ge(id){
return document.getElementById(id);
}
function extractHtmlText(content){
content=content
.replace(/&nbsp;/ig," ")
.replace(/&lt;/ig,"<")
.replace(/&gt;/ig,">")
.replace(/&#039;/ig,"'")
.replace(/&quot;/ig,"\"")
.replace(/&amp;/ig,"&");
return content;
}
function textareaLimit(field,maxlen){
if(field.value.length>maxlen){
field.value=field.value.substring(0,maxlen);
alert("超过最大字数限制"+maxlen+"个! ");
}
}
String.prototype.nlToBr=function(){return this.trim().nl2br();}
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");};
String.prototype.nl2br=function(){return this.split("\n").join("<br />\n");};
String.prototype.trimSQ=function(){return this.replace("&#39;","\\\'");};
String.prototype.escape=function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&#34;").replace(/'/g,"&#39;");};
String.prototype.js_escape=function(){return this.replace(/\\/g,"\\\\").replace(/'/g,"\\&#39;").replace(/"/g,"\\&#34;");};
String.prototype.escape_freemark=function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");};
String.prototype.unescape_freemark=function(){return this.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,"\"");};
function searchList(el,list){
var i=0;
for(i=0;i<list.length;i++){
if(el==list[i]){
return true;
}
}
return false;
}
function removeSameEl(list){
var newList=new Array();
var i;
var el;
for(i=0;i<list.length;i++){
el=list[i];
if(el!=null){
var data;
if(!searchList(el,newList)){
newList.push(el);
}
}
}
return newList;
}
function insertShiftAt(list,el,position){
if(position<0){
position=0;
}else if(position>list.length){
positon=list.length;
}
var prevList
var nextList;
for(i=list.length;i>position;i--){
list[i]=list[i-1];
}
list[position]=el;
}
var _get_event_src=function(e){
if(e){
return e.target;
}
if(window.event){
return window.event.srcElement;
}
return null;
};
function appendCss(elem,newCss){
$(elem).className+=" "+newCss;
}
function removeLastCss(elem,oldCss){
$(elem).className=$(elem).className.replace(new RegExp(" "+oldCss+"\\b"),"");
}
function attachFocusEvent(focusArray,focusCss){
focusArray.each(function(E){
if($(E)){
$(E).onfocus=function(){
this.className+=" "+focusCss;
}
$(E).onblur=function(){
this.className=this.className.replace(new RegExp(" *"+focusCss+"\\b"),"");
}
}
});
}
function applySelectCss(id){
var _htc_select_reg=/\bselitm\b/g;
if(window.$$_last_select!=null){
window.$$_last_select.className=window.$$_last_select.className.replace(_htc_select_reg,"");
}
if($(id)){
$(id).className+=" selitm";
window.$$_last_select=$(id);
}else{
window.$$_last_select=null;
}
}
function attachFocusEvent2(focusArray,focusCss,focusFunc,blurFunc){
focusArray.each(function(E){
if($(E)){
$(E).onfocus=function(){
this.className+=" "+focusCss;
if(focusFunc!=null){
focusFunc($(E));
}
}
$(E).onblur=function(){
this.className=this.className.replace(new RegExp(" "+focusCss+"\\b"),"");
if(blurFunc!=null){
blurFunc($(E));
}
}
}
});
}
function disable(elem){
$(elem).disabled=true;
}
function enable(elem){
$(elem).disabled=false;
}
function copyText(elemId){
ie=(document.all)?true:false
if(ie){
var rng=document.body.createTextRange();
rng.moveToElementText($(elemId));
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
return true;
}else{
alert("你的浏览器安全设置不允许自动执行复制操作，请选中文本使用键盘(Ctrl+C)复制！");
return false;
}
}
function detectFlash(){
var reqMajorVer=7;
var reqMinorVer=0;
var reqRevision=0;
reqVer=parseFloat(reqMajorVer+"."+reqRevision);
if(isIE&&isWin&&!isOpera){
versionStr=VBGetSwfVer();
}else{
versionStr=JSGetSwfVer();
}
if(versionStr==-1){
return false;
}else if(versionStr!=0){
if(isIE&&isWin&&!isOpera){
tempArray=versionStr.split(" ");
tempString=tempArray[1];
versionArray=tempString.split(",");
}else{
versionArray=versionStr.split(".");
}
versionMajor=versionArray[0];
versionMinor=versionArray[1];
versionRevision=versionArray[2];
if(versionRevision<=0&&versionArray.length>3)
versionRevision=versionArray[3];
versionString=versionMajor+"."+versionRevision;
versionNum=parseFloat(versionString);
if((versionMajor>reqMajorVer)&&(versionNum>=reqVer)){
return true;
}else{
return((versionNum>=reqVer&&versionMinor>=reqMinorVer)?true:false);
}
}
}
function JSGetSwfVer(){
if(navigator.plugins!=null&&navigator.plugins.length>0){
if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){
var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";
var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;
descArray=flashDescription.split(" ");
tempArrayMajor=descArray[2].split(".");
versionMajor=tempArrayMajor[0];
versionMinor=tempArrayMajor[1];
if(descArray[3]!=""){
tempArrayMinor=descArray[3].split(/\D/);
}else{
tempArrayMinor=descArray[4].split(/\D/);
}
versionRevision=tempArrayMinor[1]>0?tempArrayMinor[1]:0;
flashVer=versionMajor+"."+versionMinor+"."+versionRevision;
}else{
flashVer=-1;
}
}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;
else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;
else{
flashVer=-1;
}
return flashVer;
}
function getBrowserPositionX(obj){
var res=obj.offsetWidth+5;
while(obj!=null){
res+=obj.offsetLeft;
obj=obj.offsetParent;
}
return res;
}
function getBrowserPositionY(obj){
var res=0;
while(obj!=null){
res+=obj.offsetTop;
obj=obj.offsetParent;
}
return res;
}
function processTagString(tags){
tags=tags.replace(/，/gi,",").replace(/“/g,"\"").replace(/”/g,"\"");
tags=tags.toLowerCase();
var tagList=tags.split(",");
for(var i=0;i<tagList.length;i++){
tagList[i]=Trim(tagList[i]);
}
tagList=removeSameEl(tagList);
tags="";
for(var i=0;i<tagList.length;i++){
if(tagList[i]!=""){
if(tags!="")
tags+=",";
tags+=tagList[i].substring(0,36);
}
}
return tags;
}
function getTagObjByTagname(tagName,tagId,tagList){
for(var i=0;tagId&&i<tagList.length;i++){
if(tagList[i].id==tagId){
return tagList[i];
}
}
for(var i=0;tagName&&i<tagList.length;i++){
if(tagList[i].tagName==tagName||tagList[i].tagName==tagName.toLowerCase()
||tagList[i].tagName==tagName.escape()||tagList[i].tagName==tagName.escape_freemark()){
return tagList[i];
}
}
return null;
}
function formatnumber(value,num)
{
var a,b,c,i
a=value.toString();
b=a.indexOf('.');
c=a.length;
if(num==0){
if(b!=-1)a=a.substring(0,b);
}else{
if(b==-1){
a=a+".";
for(i=1;i<=num;i++)a=a+"0";
}else{
a=a.substring(0,b+num+1);
for(i=c;i<=b+num;i++)a=a+"0";
}
}
return a;
}
function createJST(jstId,jstContent){
var textarea=document.createElement('textarea');
textarea.value=jstContent;
textarea.id=jstId;
textarea.style.display='none';
document.body.appendChild(textarea);
}
function createJSTAndParse(jstId,jstContent){
createJST(jstId,jstContent);
return TrimPath.parseDOMTemplate(jstId);
}
function getInputCharsFromDisplayHTML(sHTML){
var chars=sHTML;
chars=chars.replace(/<br>/ig,(Browser.isFirefox()?"\n":"\r\n"));
chars=chars.replace(/&lt;/g,"<");
chars=chars.replace(/&gt;/g,">");
chars=chars.replace(/&quot;/g,"\"");
chars=chars.replace(/&#039;/g,"'");
chars=chars.replace(/&amp;/g,"&");
chars=chars.replace(/&nbsp;/g," ");
return chars;
}
function toHtmlStr(sChars){
var html=sChars;
html=html.replace(/&/g,"&amp;");
html=html.replace(/</g,"&lt;");
html=html.replace(/>/g,"&gt;");
html=html.replace(/"/g,"&quot;");
html=html.replace(/'/g,"&#039;");
html=html.replace(/ /g,"&nbsp;");
html=html.replace(/\n/g,"<br>");
return html;
}
function formatImageUrl(url){
if(url!=null&&url!="-1000")
return url;
return Const.STDomain+"/style/common/user_default.png";
}
function filterWarning(keywordRuntimeEx,needTip,tips){
if(keywordRuntimeEx==undefined||keywordRuntimeEx==null||
keywordRuntimeEx.type!="KeyWordRuntimeException"){
return 0;
}
if(needTip==undefined||needTip==false){
if(tips==undefined||tips==null)
alert("你发表的内容包含敏感关键字，不允许发布！");
else
alert(tips);
return-1;
}
return-1;
}
function captchaWarning(captchaEx,hintid){
if(captchaEx==undefined||captchaEx==null||
captchaEx.type!="CaptchaException"){
return false;
}
showInfo(hintid,"验证码不正确","error");
return true;
}
function checkOtherSiteUrl(content){
var match=false;
var index=0;
while((index=content.indexOf("http://"))!=-1){
var url=content.substring(index+7);
var endIndex=url.indexOf("163.com");
if(endIndex>-1){
var j=index;
while(j<endIndex){
var ch=url.charAt(j);
if(!((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||ch=='.')){
match=true;
break;
}
j++;
}
if(endIndex>0&&url.charAt(endIndex-1)!='.'){
match=true;
break;
}
content=url;
}else{
endIndex=url.indexOf(".126.net");
if(endIndex>-1){
var j=index;
while(j<endIndex){
var ch=url.charAt(j);
if(!((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||ch=='.')){
match=true;
break;
}
j++;
}
content=url;
}else{
match=true;
break;
}
}
if(match==true){
break;
}
}
return match;
}
function showInfo(id,msg,type){
var infodiv=document.getElementById(id);
if(infodiv==null){
alert(msg);
return false;
}
infodiv.style.display='inline';
if(type=="ok")
infodiv.innerHTML='<img src="/style/common/ico_alert.gif"/>'+msg;
else if(type=="info")
infodiv.innerHTML='<img src="/style/common/ico_alert.gif"/>'+msg;
else if(type=="error")
infodiv.innerHTML='<img src="/style/common/ico_alert.gif"/>'+msg;
else
infodiv.innerHTML='<img src="/style/common/ico_alert.gif"/>'+msg;
window.setTimeout(
function(){
fadeInfo(id);
},5000);
}
function fadeInfo(id){
document.getElementById(id).style.display='none';
}
function stripData(content,noStripTags){
var badContent=["head","script","style","object","applet","noscript","frameset","noframes"];
var badTag=["form","meta","body","html","label","select","optgroup","option",
"textarea","title","script","xmp","applet","embed","head","frameset",
"iframe","noframes","noscript","object","style",
"input","base","basefont","isindex","link","frame","param","xml","xss","st1:chsdate"];
var badAction=["on[a-z]+?","disabled","id","name","class"];
var badCss=["position","javascript","vbscript","actionscript","xmp","activex"];
var isHarm=false;
var regStr;
var reg=new RegExp("(&#(?!039;))|(&%)","ig");
if(reg.test(content)){
content=content.replace(reg,"&");
}
delete reg;
reg=new RegExp("(\t)","ig");
if(reg.test(content)){
content=content.replace(reg," ");
}
delete reg;
regStr="(<[^<>]*)(\r|\n)([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
content=content.replace(reg,"$1 $3");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
regStr="(<[^<>]*)(\\\\|/\\*.*\\*/)([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
content=content.replace(reg,"$1$3");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
for(var i=0;i<badContent.length;i++){
if(findNoStripTag(badContent[i],noStripTags))
continue;
regStr="<\\s*"+badContent[i]+"[^>]*>[\\s\\S]*?<\\s*/\\s*"+badContent[i]+"[^>]*>";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
}
for(var i=0;i<badTag.length;i++){
if(findNoStripTag(badTag[i],noStripTags))
continue;
regStr="<\\s*[/\?]?\\s*"+badTag[i]+"[^>]*>";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
}
for(var i=0;i<badAction.length;i++){
if(findNoStripTag(badAction[i],noStripTags))
continue;
var attrValueStr="(?:\"[^\"]*?\")|(?:'[^']*?')|(?:[^\\s'\">]+?(?:[\\s'\"]|(?=>)))";
regStr="(<\\s*\\w+\\s*)((\\w+\\s*=\\s*(?:"+attrValueStr+")\\s*)*?)"+badAction[i]+"\\s*=\\s*(?:"+attrValueStr+")([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
if(badAction[i]!="allowScriptAccess"&&badAction[i]!="allowNetworking")
isHarm=true;
content=content.replace(reg,"$1$2$4");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
}
for(var i=0;i<badCss.length;i++){
if(findNoStripTag(badCss[i],noStripTags))
continue;
regStr="(<[^<>]*)"+badCss[i]+"\\s*:\\s*[^\\s;\">]*([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"$1$2");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
}
regStr="(<[^<>]*)expression\\s*\\([^\\)]*\\)([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"$1$2");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
regStr="(<[^<>]*)url\\s*\\([^\\)]*\\.(js|do)\\s*\\)([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"$1$3");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
regStr="(<[^<>]*[\\s'\"])src\\s*=\\s*['\"]?.*?\\.(js|do)(>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"$1$3");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
regStr="(<[^<>]*[\\s'\"])src\\s*=\\s*['\"]?.*?\\.(js|do)[\\s'\"]([^>]*>)";
reg=new RegExp(regStr,"ig");
while(reg.test(content)){
isHarm=true;
content=content.replace(reg,"$1$3");
delete reg;
reg=new RegExp(regStr,"ig");
}
delete reg;
var retobj={};
retobj.content=content;
retobj.isHarm=isHarm;
return retobj;
}
function findNoStripTag(tag,tags){
if(tags==null||tags=="")
return false;
for(var i=0;i<tags.length;i++){
if(tags[i]==tag)
return true;
}
return false;
}
var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars=new Array(
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,
52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);
function base64encode(str){
var out,i,len;
var c1,c2,c3;
len=str.length;
i=0;
out="";
while(i<len){
c1=str.charCodeAt(i++)&0xff;
if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt((c1&0x3)<<4);
out+="==";
break;
}
c2=str.charCodeAt(i++);
if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)>>4));
out+=base64EncodeChars.charAt((c2&0xF)<<2);
out+="=";
break;
}
c3=str.charCodeAt(i++);
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)>>4));
out+=base64EncodeChars.charAt(((c2&0xF)<<2)|((c3&0xC0)>>6));
out+=base64EncodeChars.charAt(c3&0x3F);
}
return out;
}
function base64decode(str){
var c1,c2,c3,c4;
var i,len,out;
len=str.length;
i=0;
out="";
while(i<len){
do{
c1=base64DecodeChars[str.charCodeAt(i++)&0xff];
}while(i<len&&c1==-1);
if(c1==-1)
break;
do{
c2=base64DecodeChars[str.charCodeAt(i++)&0xff];
}while(i<len&&c2==-1);
if(c2==-1)
break;
out+=String.fromCharCode((c1<<2)|((c2&0x30)>>4));
do{
c3=str.charCodeAt(i++)&0xff;
if(c3==61)
return out;
c3=base64DecodeChars[c3];
}while(i<len&&c3==-1);
if(c3==-1)
break;
out+=String.fromCharCode(((c2&0XF)<<4)|((c3&0x3C)>>2));
do{
c4=str.charCodeAt(i++)&0xff;
if(c4==61)
return out;
c4=base64DecodeChars[c4];
}while(i<len&&c4==-1);
if(c4==-1)
break;
out+=String.fromCharCode(((c3&0x03)<<6)|c4);
}
return out;
}
function setHomePageUtil(url){
if(document.all){
document.body.style.behavior="url(#default#homepage)";
document.body.setHomePage(url);
}else{
alert("浏览器不支持，请手动设置为首页");
}
return false;
}
function addFavoriteUtil(url,desc,descOther){
if(desc==null||desc=="")
desc=descOther;
if(document.all&&window.external){
window.external.AddFavorite(url,desc+"的网易博客");
}else if(window.sidebar){
window.sidebar.addPanel(desc+"的网易博客",url,"");
}else{
alert("浏览器不支持，请手动加入收藏夹");
}
}
function toDHTML(str){
return str.replace(/&/g,'&amp;')
.replace(/</g,'&lt;')
.replace(/>/g,'&gt;')
.replace(/"/g,'&quot;')
.replace(/'/g,'&#039;')
.replace(/ /g,'&nbsp;')
.replace(/\n/g,'<br>');
}
function fromDHTML(str){
return str.replace(/&lt;/g,'<')
.replace(/&gt;/g,'>')
.replace(/&quot;/g,'\"')
.replace(/&#039;/g,'\'')
.replace(/&nbsp;/g,' ')
.replace(/<br>/g,'\n')
.replace(/&amp;/g,'&');
}
function trimStrByEnLength(str,length){
if(str==null){
return"null string";
}
var i=0;
var j=0;
for(i=0;i<str.length;i++){
if(str.charCodeAt(i)>127||str.charCodeAt(i)==94){
j=j+2;
}
else{
j=j+1;
}
if(length<j){
break;
}
}
var counter=i;
var needTrim=(str.length>counter);
if(needTrim){
return str.substr(0,counter)+'...';
}
else{
return str;
}
}
function getStringEnLength(str){
if(str==null){
return"0";
}
var i=0;
var j=0;
for(i=0;i<str.length;i++){
if(str.charCodeAt(i)>127||str.charCodeAt(i)==94){
j=j+2;
}
else{
j=j+1;
}
}
return j;
}
function getInnerTextUtil(el){
var s=el.innerText;
if(isIE){
if(s)return s;
}
s=el.text;
if(s)return s;
s=el.innerHTML;
if(s)return s;
}
function constructHelp(obj,tip){
obj=$(obj);
var _h=document.createElement("div");
_h.className="g_p_left";
_h.innerHTML='<span class="n_ n51">&nbsp;</span>';
obj.appendChild(_h);
var _i=document.createElement("div");
_i.className="g_p_left g_w_85 selitm g_c_spdin bd01 g_t_wrap";
if(!isIE){
_i.style.marginLeft='25px';
}
_i.style.width='150px';
_i.style.display='none';
_i.style.position='absolute';
_i.style.fontSize='14px';
_i.innerHTML=tip;
obj.appendChild(_i);
_h.onmouseover=function(){_i.style.display='block';};
_h.onmouseout=function(){_i.style.display='none';};
delete _h;delete _i;
}
function constructProfileHelp(obj,tip){
obj=$(obj);
var _i=document.createElement("div");
_i.className="g_p_left selitm g_c_spdin bd01 g_t_wrap";
if(!isIE){
_i.style.marginLeft='25px';
}
_i.style.width='110px';
_i.style.display='none';
_i.style.position='absolute';
_i.style.fontSize='12px';
_i.innerHTML=tip;
obj.appendChild(_i);
obj.onmouseover=function(){_i.style.display='block';};
obj.onmouseout=function(){_i.style.display='none';};
delete _i;
}
function simpleScrollTo(){
var scrollTarget;
scrollTarget=arguments.length>0?arguments[0]:'layout_ctrl';
if(scrollTarget==null)return;
new Effect.ScrollTo(scrollTarget);
}
function listenMusic(name,author,url,lrc,wapId,music){
if(music!=null&&music.userName!=null&&music.id!=null){
window.open("http://"+DomainMap.getParentDomain(music.userName)+"/m/?t=3&mid="+encodeURIComponent(music.id)+"&aid="+encodeURIComponent(music.albumId),"_blank","resizable=no,scrollbars=no,status=yes,width=772px,height=595px");
}else{
window.open("http://blog.163.com/m/?t=2&n="+encodeURIComponent(name)+"&a="+encodeURIComponent(author)+
"&w="+encodeURIComponent(wapId)+"&l="+base64encode(encodeURIComponent(lrc))+"&u="+base64encode(encodeURIComponent(url)),"_blank","resizable=no,scrollbars=no,status=yes,width=772px,height=595px");
}
}
function g_previewImg(id,target){
try{
$(target).src=$(id).value;
}catch(ex){}
}
function g_loadingBar(style){
return'<p style="'+style+'"><img style="vertical-align:middle;" src="'+Const.STDomain+'/style/common/loading.gif" />&nbsp;&nbsp;&nbsp;数据加载中。。。<p>';
}
function g_setInnerHTML(node,html){
var d=document.createElement("div");
d.innerHTML=html;
for(var i=node.childNodes.length-1;i>=0;i--){
node.removeChild(node.childNodes[i]);
}
for(var i=d.childNodes.length-1;i>=0;i--){
node.appendChild(d.childNodes[i]);
}
}
function dynamic_load_javascript(jsurl,onload)
{
var head=document.getElementsByTagName('head').item(0);
var script=document.createElement('script');
jsurl=jsurl.replace(/\*/g,'&');
script.src=jsurl.replace(/\(([\w]+)\)/g,function(e){return UD[e.substring(1,e.length-1)];});
script.type='text/javascript';
if(onload){
if(Browser.isIE())
script.onreadystatechange=function(_script,_onload){
if(_script.readyState=="loaded"||_script.readyState=="complete"){
_onload();
}
}.bind(this,script,onload);
else
script.onload=onload;
}
head.appendChild(script);
}
function getUrlParam(key){
var params={};
var s=window.location.search;
if(s){
s=s.replace(/^\?/,'').replace(/\/$/,'');
var ps=s.split('&');
var t;
for(var i=0;i<ps.length;i++){
t=ps[i].split('=');
params[t[0]]=t[1]||'';
}
}
return params[key];
}
