var SSO_ERROR_INVALIDREGNAME="-402";
var SSO_ERROR_NOTLOGIN="-403";
var SSO_ERROR_NOTADMIN="-404";
var SSO_ERROR=[SSO_ERROR_NOTLOGIN,SSO_ERROR_NOTADMIN];
var SSO_FATAL_ERROR=[SSO_ERROR_INVALIDREGNAME];
function isSSOError(ex){for(var i in SSO_ERROR)if(SSO_ERROR[i]==ex.message)return true;return false;};
function isSSOFatalError(ex){for(var i in SSO_FATAL_ERROR)if(SSO_FATAL_ERROR[i]==ex.message)return true;return false;};
function showFatalError(msg){showMessage("Fatal Error: " + msg);};
function showMessage(msg){alert(msg);};
function createButton(target,func,title,width,Height,src){
	var img,button;img=document.createElement('img');
	img.width=width;img.height=Height;
	img.style.borderTop=img.style.borderLeft = "1px solid #ccc";
	img.style.borderRight=img.style.borderBottom = "1px solid #888";
	img.style.marginRight="2px";img.src=src;button=document.createElement('a');
	button._target=target;button.title=title;
	button.href='#';button.onclick=func;button.appendChild(img);
	return button;
};
//var newElement = createElement('div',
//	 {'class': 'newDivClass', 'id': 'newDiv', 'name': 'newDivName'},
//	 {'width': '300px', 'height':'200px', 'margin':'0 auto', 'border':'1px solid #DDD'},
//	 '����һ����ԡ�');
function createElement(t,a,y,x){
	var E=document.createElement(t);
	if(a){
	 for(var k in a){
		 if(k=='class')E.className=a[k];
		 else if(k=='id')E.id=a[k];
		 else E.setAttribute(k,a[k]);
	 }
	}
	if(y)
	 for(var k in y)E.style[k]=y[k];
	if(x)E.appendChild(document.createTextNode(x)); 
	return E;
};
function MyArguments(args){
	this.myclass="myarguments";this.args=[];
	for(var i=0;i<args.length;i++)this.args.push(args[i]);
};
function createArgArrayByMyArguments(myargs){
  var ret=null;if (myargs){ret=[];for (var i=0;i<myargs.args.length;i++)ret.push(myargs.args[i]);return ret;}
};
function isEmpty(sz){return (sz==null)||(sz=="");};
function convertNewline2Br(s){if(isEmpty(s))return "";var re=/\r/ig;return s.replace(re,"");re=/\n/ig;return s.replace(re,"<br>");};
function convertBr2Newline(s){if(isEmpty(s))return "";var re=/<br>/ig;return s.replace(re,"\r\n");};
function convertTxt2HtmlWhenEdit(s){if(isEmpty(s))return "";var re=/&/ig;s=s.replace(re,"&amp;");re=/[<]/ig;s=s.replace(re,"&lt;");re=/>/ig;s=s.replace(re,"&gt;");re=/"/ig;s=s.replace(re,"&quot;");return s;};
function convertTxt2HtmlWhenShow(s){
	function handleSpace(s1){
		if(isEmpty(s1)){return "";}
		var r="";var c,got=0;
		for(var i=0;i<s1.length;i++){
			c=s1.charAt(i);
			if(c==' '){
				got++;
			}else{
				if(got>0){
					for(var j=0;j<(got-1);j++){
						r+='&nbsp;';
					}
					if(i==1){
						r+='&nbsp;';
					}else{
						r+=' ';
					}
				}
				r+=c;
				got=0;
			}
		}
		if(got>0){
			for(var j=0;j<got;j++){
				r+='&nbsp;';
			}
		}
		return r;
	};
	function handleOther(s1){
		var r=s1;
		var re=/\t/ig;r=r.replace(re,"  ");
		var re=/&/ig;r=r.replace(re,"&amp;");
		re=/[<]/ig;r=r.replace(re,"&lt;");
		re=/>/ig;r=r.replace(re,"&gt;");
		re=/"/ig;r=r.replace(re,"&quot;");
		return r;
	};
	function oneLine(s1){
		if(isEmpty(s1)){return "";}
		return handleSpace(handleOther(s1));
	};
	var space="\u3000";
	var re=/\r\n/ig;s=s.replace(re,"\n");
	var re=/\r/ig;s=s.replace(re,"\n");
	var a=s.split("\n");
	if(a==null){return "";}if(a.length==0){return "";}
	var r="";
	for(var i=0;i<a.length;i++){if(i>0){r+="<br>";}r+=oneLine(a[i]);}
	return r;
};
function convert2html(s){
  return convertTxt2HtmlWhenShow(s);
};
function replaceKey(sz,kv){if(isEmpty(sz))return "";var reg;for(var i=0;i<kv.length;i++){eval("reg=/"+kv[i][0]+"/ig;");sz=sz.replace(reg,kv[i][1]);}return sz;};
function isValidMail(v){if((v=="")||(v==null))return false;var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;return reg.test(v);};
function _my_utf8_length(){var str=this;var n=0;k=0;for (i=0;i<str.length;i++){n=str.charCodeAt(i);if(n<=255)k+=1;else k+=3;}return k;};
String.prototype.my_utf8_length=_my_utf8_length;
function date2Str(date){
	if(date==null)return "";
  function fmt(n){if(n<10)return "0"+n;else return n+"";}
  return date.getFullYear()+"-"+fmt(date.getMonth()+1)+"-"+fmt(date.getDate())+" "+fmt(date.getHours())+":"+fmt(date.getMinutes())+":"+fmt(date.getSeconds());
};
function date2Str1(date){
	if(date==null)return "";
  function fmt(n){if(n<10)return "0"+n;else return n+"";}
  return date.getFullYear()+"-"+fmt(date.getMonth()+1)+"-"+fmt(date.getDate());
};
function getRadioValue(name){
	var al=document.getElementsByTagName("input");if(al==null)return null;
	for(var i=0;i<al.length;i++){var one=al[i];if((one.type.toLowerCase()=="radio")&&((one.name==name)||(one.id==name))){if(one.checked)return one.value;}}
	return null;
};
function setRadioChecked(name,rvl){
	var al=document.getElementsByTagName("input");if(al==null)return;
	for(var i=0;i<al.length;i++){var one=al[i];if((one.type.toLowerCase()=="radio")&&((one.name==name)||(one.id==name))){if(one.value==rvl){one.checked=true;break;}}}
};
function getCheckValue(name){
	var ret=[];
	var al=document.getElementsByTagName("input");if(al==null)return null;
	for(var i=0;i<al.length;i++){var one=al[i];if((one.type.toLowerCase()=="checkbox")&&((one.name==name)||(one.id==name))){if(one.checked){ret.push(one.value);}}}
	return ret;
};
function $(id){return document.getElementById(id);};
function isValidDate(s){
	var reg=/^(\d+)-(\d{1,2})-(\d{1,2})/;
	var r=s.match(reg);if(r==null)return false;if(r.length<3)return false;
	r[2]--;
	var d=new Date(r[1],r[2],r[3]);
	if(d.getFullYear()!=r[1])return false;
	if(d.getMonth()!=r[2])return false;
	if(d.getDate()!=r[3])return false;
	return true;
};
function isValidDateTime(s){
	var reg=/^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})/;
	var r=s.match(reg);if(r==null)return false;if(r.length<3)return false;
	r[2]--;
	if(r.length==3){
		var d=new Date(r[1],r[2],r[3]);
		if(d.getFullYear()!=r[1])return false;
		if(d.getMonth()!=r[2])return false;
		if(d.getDate()!=r[3])return false;
	}else if(r.length==6){
		var d=new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
		if(d.getFullYear()!=r[1])return false;
		if(d.getMonth()!=r[2])return false;
		if(d.getDate()!=r[3])return false;
		if(d.getHours()!=r[4])return false;
		if(d.getMinutes()!=r[5])return false;
		if(d.getSeconds()!=r[6])return false;
	}
	return true;
};
function dateCompare(s1,s2){
	var reg=/^(\d+)-(\d{1,2})-(\d{1,2})/;
	var r=s1.match(reg);r[2]--;
	var d1=new Date(r[1],r[2],r[3]);
	var r=s2.match(reg);r[2]--;
	var d2=new Date(r[1],r[2],r[3]);
	if(d1<d2)return -1;else if(d1>d2)return 1;else return 0;
};
function isInt(s){var t=new String(s);if((t=="")||(t==null))return false;var p=/^-?\d+$/;if(!p.test(t)){return false;}return true;};
function isFloat(s){var t=new String(s);if((t=="")||(t==null))return false;var p=/^(-?\d+)(\.\d+)?$/;if(!p.test(t)){return false;}return true;};
function num2Currency(s){
	if((s==0)||(s=="0"))return "0";
	var sz=s.toString();var i=sz.indexOf(".");if(i==-1)i=sz.length;
	while(sz.substring(0,i++).length%3){sz="0"+sz;}
	return sz.replace(/(\d{3})/g,"$1,").replace(/,\./,".").replace(/(^0*)|(,$)/g,"");
};
function fileSize2Str(s,bw){
	var d,q,r;
	if(s>=1073741824){d=s/1073741824.0;i=Math.round(d*100);r=i%100;q=(i-r)/100;return q+"."+r+" GB";}
	if(s>=1048576){d=s/1048576.0;i=Math.round(d*100);r=i%100;q=(i-r)/100;return q+"."+r+" MB";}
	if(s>=1024){d=s/1024.0;i=Math.round(d*100);r=i%100;q=(i-r)/100;return q+"."+r+" KB";}
	return s+' '+(bw==null?"Bytes":bw);
};
