
//replace字串(同asp用法)
function replaceString (s,s1,s2)
{
	s = '' + s;
	if (s.length == 0 || s1.length == 0)
		return s;
	
	// process head
	if (s.indexOf(s1) == 0)
		s = s2 + s.substr(s1.length, s.length - s1.length);
	
	// process tail
	if (s.lastIndexOf(s1) == s.length - s2.length)
		s = s.substr(0, s.length - s1.length) + s2;
	
	// process middle
	var arrS = s.split(s1);
	
	if (arrS.length == 1)
		return s;
	
	var result = "";
	var nLen = arrS.length;
	for (i=0 ; i < nLen ; i++) {
		result += arrS [i];
	
	if (i != nLen - 1)
		result += s2;
	}
	
	return result;
}

//去掉空白
function trim(s)
{
	s += "";
	
	if (s.length == 0)
		return s;
	
	var b = 0;
	var e = s.length - 1;
	
	while (s.substr(b, 1) == " " && b < s.length - 1) b++;
	while (s.substr(e, 1) == " " && e != 0) e--;
	
	if (b == s.length) // all blank
	return "";
	
	return s.substr(b, e - b + 1);
}


/*********************************************************************************************
' Purpose : 將url依照 DJ規則編碼
'			"{" --> "??" , "}" --> "==" , "Z" --> "^" , "." --> "]" , "_" --> "[" , "/" --> "$" ,
'			"?" --> "{" , "=" --> "}" , "&" --> "!"
' Param:
'  sURL : 傳入 url
' Return:
'  sURL : 編碼過的 
'*********************************************************************************************/

function DJEnCode(sURL)
{
	if (sURL == "") return sURL;
	sURL = sURL.toUpperCase();
	sURL = replaceString(replaceString(sURL ,"{", "??"), "}" , "==");
	sURL = replaceString(replaceString(replaceString(replaceString(replaceString(replaceString(replaceString(sURL ,"Z", "^"), "." , "]"), "_" , "["), "/" , "$"),"?","{"),"=","}"),"&","!");
	
	return sURL;
}


/*********************************************************************************************
' Purpose : 將url依照 DJ規則解碼
' Param:
'  sURL : 傳入編碼 url
' Return:
'  sURL : 解碼過的 
'*********************************************************************************************/

function DJDeCode(sURL)
{
	if (sURL == "") return sURL;
	sURL = sURL.toUpperCase();
	sURL = replaceString(replaceString(replaceString(replaceString(replaceString(replaceString(replaceString(sURL ,"^", "Z"), "]" , "."), "[" , "_"), "$" , "/"),"{","?"),"}","="),"!","&");
	sURL = replaceString(replaceString(sURL ,"??", "{"), "==" , "}");
	
	return sURL;
}

function XPUpdateWrite(str)
{
	document.write(str);
}

function XPUpdateWriteObj( obj, str)
{
	obj.innerHTML = str;
}

//取得亂數的值ex: num=10000  則取得0~10000之間的亂數
function getRandom(strVIPVersion,key)
{
	if(strVIPVersion == "D"){
		var date = new Date();
		var hours, minutes, seconds;
		hours = "" + date.getHours();
		minutes = "" + date.getMinutes();
		seconds = "" + date.getSeconds();
		if(hours.length == 1){
			hours = "0" + hours;
		}
		if(minutes.length == 1){
			minutes = "0" + minutes;
		}
		if(seconds.length == 1){
			seconds = "0" + seconds;
		}
		var time =  "" + hours + minutes + seconds;
		return time;
	}else{
		var argv = getRandom.arguments;
		var argc = getRandom.arguments.length;
		var sNum = (argc > 1) ? argv[1] : 10000;	//預設是Random 0 ~ 10000 之間的亂數
		return Math.random() * sNum ;
	}
}

/*********************************************************************************************
' String Buildler Begin
'*********************************************************************************************/

function objStrBuild()
{
	this.aTmpStr        = null;
	this.objStrBuildInit = objStrBuildInit;
	this.objStrBuildAdd  = objStrBuildAdd;
	this.objStrBuildResult = objStrBuildResult;
	this.objStrBuildFinial = objStrBuildFinial;

}

function objStrBuildInit()
{
	this.aTmpStr = new Array();
}

function objStrBuildAdd( sStr)
{

	this.aTmpStr.push(sStr);
}

function objStrBuildResult()
{
	return this.aTmpStr.join('');
}


function objStrBuildFinial()
{
	this.aTmpStr.length = 0;
	delete this.aTmpStr;
}

