//------------------------------------------
// Prompat Class
//------------------------------------------
function Prompt()
{
    var me = this;
    this.obj				= document.createElement("div");
    this.timeout			= null;
    this.obj.classname		= "prompt";
    //this.obj.title			= "单击隐藏";
    this.obj.style.display  = "none";
    this.obj.onclick		= function(){me.hide();}
    document.body.insertAdjacentElement("afterBegin",this.obj);
}

Prompt.prototype.show = function(strMsg,autoHidden)
{
	var me	= this;
	var table;
	this.obj.style.display	= "";
	this.obj.style.position = "absolute";
	
	this.obj.style.width	= "350px";
	this.obj.style.height	= "70px";
	
	this.obj.style.backgroundColor = "#f2f2f2";
	this.obj.style.border	= "#000000 1px solid";
	
	this.obj.style.left 	= (document.body.offsetWidth - this.obj.offsetWidth)/2;
	this.obj.style.top		= (document.body.offsetHeight - this.obj.offsetHeight)/2;
	
	table = "<table width='100%' height='60' border='0' cellpadding='0' cellspacing='0'  style='cursor:pointer'> "
    		+"<tr bgcolor='#1156f3'> "
      		+"<td height='15' colspan='2' align=right style='color:#ffffff;padding-right:4px;padding-top:0px;padding-bottom:0px;font-size:12px'>×</td>"
    		+"</tr>"
    		+"<tr style='padding:5px'>" 
      		+"<td width='20%' align='center' height='50' valign=top><img src='http://center.hopebook.net/Script_Common/Img/guzhu.gif'></td>"
      		+"<td width='80%'style='font-size:14px;color:#000000;'>" + strMsg +  "</td>"
    		+"</tr>"
  			+"</table>";

	this.obj.innerHTML		= table;
	
	if(autoHidden)
	{
		this.timeout		= window.setTimeout(
													function()
													{
														me.obj.style.display = "none";
													}
													,3000
												);
	}
}

Prompt.prototype.hide = function()
{
	window.clearTimeout(this.timeout);
	this.obj.style.display = "none";
}

//---------------------------------------------------------------------------------



function left(str,len){
	if(str.length<=len)
		return str;
		
	return str.substr(0,len);
}

String.prototype.trim = function()
{   
	return   this.replace(/^\s*/g,"").replace(/\s*$/g,"");   
}

function GetHTMLObjectById(objID)
{
	return document.getElementById(objID);	
}

function GetHTMLObjectsByName(objName)
{
	return document.getElementsByName(objName);	
}

function onlyInputNumber()
{
	if(event.keyCode != 8 
	   && event.keyCode != 9 
	   && !(event.keyCode >=48 && event.keyCode <=57 )
	   && !(event.keyCode >=96 && event.keyCode <=105))
	{
		return false;	
	}
	return true;
}

function onlyInputMoney()
{
	if(event.keyCode != 8 
	   && event.keyCode != 9
	   && event.keyCode != 110
	   && event.keyCode != 190
	   && !(event.keyCode >=48 && event.keyCode <=57 )
	   && !(event.keyCode >=96 && event.keyCode <=105))
	{
		return false;	
	}
	return true;
}

function setTab()
{
	if(event.keyCode == 13)
		event.keyCode = 9;
}

//------------------- Base64 Code ----------------------

var keyStr = "ABCDEFGHIJKLMNOP" +
"QRSTUVWXYZabcdef" +
"ghijklmnopqrstuv" +
"wxyz0123456789+/" +
"=";
function encode64(input) {
input = escape(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
		enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
				enc4 = chr3 & 63;
				if (isNaN(chr2)) {
				enc3 = enc4 = 64;
				} else if (isNaN(chr3)) {
				enc4 = 64;
				}
				output = output + 
				keyStr.charAt(enc1) + 
				keyStr.charAt(enc2) + 
				keyStr.charAt(enc3) + 
				keyStr.charAt(enc4);
				chr1 = chr2 = chr3 = "";
				enc1 = enc2 = enc3 = enc4 = "";
				} while (i < input.length);
				return output;
				}
				function decode64(input) {
				var output = "";
				var chr1, chr2, chr3 = "";
				var enc1, enc2, enc3, enc4 = "";
				var i = 0;
				// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
				var base64test = /[^A-Za-z0-9\+\/\=]/g;
				if (base64test.exec(input)) {
				alert("There were invalid base64 characters in the input text.\n" +
				"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
				"Expect errors in decoding.");
				}
				input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
				do {
				enc1 = keyStr.indexOf(input.charAt(i++));
				enc2 = keyStr.indexOf(input.charAt(i++));
				enc3 = keyStr.indexOf(input.charAt(i++));
				enc4 = keyStr.indexOf(input.charAt(i++));
				chr1 = (enc1 << 2) | (enc2 >> 4);
						chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
								chr3 = ((enc3 & 3) << 6) | enc4;
										output = output + String.fromCharCode(chr1);
										if (enc3 != 64) {
										output = output + String.fromCharCode(chr2);
										}
										if (enc4 != 64) {
										output = output + String.fromCharCode(chr3);
										}
										chr1 = chr2 = chr3 = "";
										enc1 = enc2 = enc3 = enc4 = "";
				} while (i < input.length);
			return unescape(output);
	}
	

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 base64decode(str) {
    var c1, c2, c3, c4;
    var i, len, out;
    len = str.length;
    i = 0;
    out = "";
    while(i < len) {
    /* c1 */
    do {
        c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
    } while(i < len && c1 == -1);
    if(c1 == -1)
        break;
    /* c2 */
    do {
        c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
    } while(i < len && c2 == -1);
    if(c2 == -1)
        break;
    out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
    /* c3 */
    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));
    /* c4 */
    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 isShortDate(date)
{
	var reg=/^\d{4}-\d{1,2}-\d{1,2}$/
	
	if(reg.test(date))
	{
		return true;
	}
	return false;
}

function getCurrentMonthStartDate(){
	var date = new Date();
	return date.getYear() + "-" + (date.getMonth()+1) + "-01"; 
}

function getCurrentDate(){
	var date = new Date();
	return date.getYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
}


function isEmail(email){
	var emailReg=/^([a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return emailReg.test(email);	
}


function validateEmail(obj){
	var str = obj.value;
	
	if(!checkByteLength(str,1,50)) return 1;
		var patn = /^\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,6}$/;
	if(patn.test(str)){
		return true;
	}else{
		return false; //incorrect format
	}
}

function checkByteLength(str,minlen,maxlen) {
	if (str == null) return false;
	var l = str.length;
	var blen = 0;
	for(i=0; i<l; i++) {
		if ((str.charCodeAt(i) & 0xff00) != 0) {
			blen ++;
		}
		blen ++;
	}
	if (blen > maxlen || blen < minlen) {
		return false;
	}
	return true;
} 

function isNumeric(str) {
	var digit = /^\d+$/;
	if(digit.test(str)) {
		return true
	}
	
	return false;	
}

function checkPasswd(str){
	var pwd="^\\w{6,12}$";
	var pwdReg = new RegExp(pwd,"g");
	
	return pwdReg.test(str);
}

function isDigitOrChar(str) {
	var digit = /^\d+$/;
	var words  = /^[a-zA-Z]+$/;
	if(digit.test(str) || words.test(str)) {
		return 1;
	}else {
		return 0;
	}	
}

//呢称：小写英文字母,中文、数字组成，长度4-20位。
function isNickName(str) {
	var nickName = "^[a-zA-Z0-9\\u4e00-\\u9fa5]{2,20}$";
	var nickReg =  new RegExp(nickName,"g");
	
	return nickReg.test(str);
}
//姓名
function isName(str) {
	var nickName = "^[a-zA-Z\.\\u4e00-\\u9fa5]{2,20}$";
	var nickReg =  new RegExp(nickName,"g");
	
	return nickReg.test(str);
}

function isChinese(str)
{
	//如果值为空，通过校验
	if (str == "")
		return true;
	var pattern = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
	if (pattern.test(str))
		return true;
	else
		return false;
}

function isZipcode(str){
	if(!checkByteLength(str,5,6)) return false;
	var patn = /^[0-9]+$/;
	if(!patn.test(str)) return false;
	return true;
}

function isPhone(str1){

	var str = tot(str1); 
	if(!checkByteLength(str,6,14)) return false;
	
	var patn = /^[0-9-\/]+$/;
	if(!patn.test(str)) return false;
	return true;
}

function isMobile(str1){
	var str = tot(str1); 
	if(!checkByteLength(str,11,12)) return false;
	var patn = /^[0-9]+$/;
	if(!patn.test(str)) return false;
	return true; 	
}

function tot(mobnumber){                        
	while(mobnumber.indexOf("０")!=-1){           
		mobnumber = mobnumber.replace("０","0");        
	}                                               
	while(mobnumber.indexOf("１")!=-1){             
	mobnumber = mobnumber.replace("１","1");}       
	while(mobnumber.indexOf("２")!=-1){             
	mobnumber = mobnumber.replace("２","2");}       
	while(mobnumber.indexOf("３")!=-1){             
	mobnumber = mobnumber.replace("３","3");}       
	while(mobnumber.indexOf("４")!=-1){             
	mobnumber = mobnumber.replace("４","4");}       
	while(mobnumber.indexOf("５")!=-1){             
	mobnumber = mobnumber.replace("５","5");}       
	while(mobnumber.indexOf("６")!=-1){             
	mobnumber = mobnumber.replace("６","6");}       
	while(mobnumber.indexOf("７")!=-1){             
	mobnumber = mobnumber.replace("７","7");}       
	while(mobnumber.indexOf("８")!=-1){             
	mobnumber = mobnumber.replace("８","8");}       
	while(mobnumber.indexOf("９")!=-1){             
	mobnumber = mobnumber.replace("９","9");}       
	return mobnumber;                               
}	  
