function $(obj){
	return typeof(obj) == "string" ? document.getElementById(obj) : obj;
}

function checkedAll(id){
	var id = document.getElementsByName(id+"[]");
	for(i=0;i<id.length;i++){
		if(id[i].checked == true){
			id[i].checked = false;
		}
		else{
			id[i].checked = true;
		}
	}
}

function focus(id){
	window.obj = document.getElementById(id);
	window.setTimeout("window.obj.focus()",100);
}

function secondJump(id,url,target,second){
	second = parseInt(second);
	document.getElementById(id).innerHTML = second;
	if(second > 1){
		second--;
		setTimeout("secondJump('"+id+"','"+url+"','"+target+"',"+second+")",1000);
	}
	else{
		if(url == "-1"){
			history.back();
		}
		else if(target == ""){
			location.href = url;
		}
		else if(target == "parent"){
			window.top.location.href = url;
		}
		else{
			top.target.location.href = url;
		}
	}
}

function goTo(url,target){
	if(url == "-1"){
		history.back();
	}
	else if(target == ""){
		location.href = url;
	}
	else if(target == "parent"){
		window.top.location.href = url;
	}
	else{
		top.target.location.href = url;
	}
}

function setCookie(cookieName,cookieValue){
	var date = new Date();
	date.setTime(date.getTime() + 24*60*60*1000000);
	document.cookie = cookieName + "=" + cookieValue + ";expires=" + date.toGMTString() + ";path=/";
}

function readCookie(cookieName){
	var aCookie = document.cookie.split("; ");
	for (var i=0; i < aCookie.length; i++){
	var aCrumb = aCookie[i].split("=");
	if(cookieName == aCrumb[0])
		return unescape(aCrumb[1]);
	}
	return null;
}

function copy(value,msg){
	var clipBoardContent=''; 	
	clipBoardContent += value;
	window.clipboardData.setData("Text",clipBoardContent);
	alert(msg);
}

function resizeImage(obj,maxW,maxH){
	var obj = $(obj);
	if(obj.readyState!='complete'){
		setTimeout("resizeImage("+obj+","+maxW+","+maxH+")",50);
		return false;
	}
	var w = obj.width/maxW;
	var h = obj.height/maxH;
	var r = w>h?w:h;
	var rw = obj.width / r;
	var rh = obj.height / r;
	obj.width = rw;
	obj.height = rh;
}

function ssort(v){
	document.getElementById('b').value=v;
	document.getElementById('f').submit();
}

function ltrim(str){
    return str.replace(/^\\s*/,"");
}

function rtrim(str){
    return str.replace(/\\s*$/,"");
}

function trim(str){
    return rtrim(ltrim(str));
}

function chkCode(code){
	if((/[A-Za-z1-9]{4}/.test(code)) == false){
		return false;
	}
}

function chkStrLen(str,minLength,maxLength){
	if(str.length < minLength) {
		return false;
	}
	if(maxLength != null && str.length > maxLength) {
		return false;
	}
	return true;
}


function chkString(str,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^[^`%&()=;:/\'"]*$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(str)==false){
		return false;
	}
	return chkStrLen(str,minLength,maxLength);
}

function chkInt(int,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^-?[1-9]+[0-9]*$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(int)==false){
		return false;
	}
	return chkStrLen(int,minLength,maxLength);
}

function chkFloat(float,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^(-?[0-9]+)\\\.([0-9]+)$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(float)==false){
		return false;
	}
	return chkStrLen(float,minLength,maxLength);
}

function chkMail(mail,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^\\\w+((-\\\w+)|(\\\.\\\w+))*\\\@[A-Za-z0-9]+((\\\.|-)[A-Za-z0-9]+)*\\\.[A-Za-z0-9]+$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(mail)==false){
		return false;
	}
	return chkStrLen(mail,minLength,maxLength);
}

function chkURL(url,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]*' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(url)==false){
		return false;
	}
	return chkStrLen(url,minLength,maxLength);
}

function chkDate(date,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^(([0-9]{2})|(19[0-9]{2})|(20[0-9]{2}))-((0[1-9]{1})|(1[012]{1}))-((0[1-9]{1})|(1[0-9]{1})|(2[0-9]{1})|3[01]{1})$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(date)==false){
			return false;
		}
	}
	else{
		if(date!='' && date!=null && pattern.test(date)==false){
			return false;
		}
	}
	return true;
}

function chkTime(time,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^(20|21|22|23|1[0-9]{1}|0?[0-9]{1})(:[0-5]?[0-9]{1})(:[0-5]?[0-9]{1})?$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(time)==false){
			return false;
		}
	}
	else{
		if(time!='' && time!=null && pattern.test(time)==false){
			return false;
		}
	}
	return true;
}

function chkCardID(id,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^[0-9]{15}([0-9]{2}[A-Za-z0-9])?$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(id)==false){
			return false;
		}
	}
	else{
		if(id!='' && id!=null && pattern.test(id)==false){
			return false;
		}
	}
	return true;
}

function chkPostCode(postCode,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^[0-9]{6}$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(postCode)==false){
			return false;
		}
	}
	else{
		if(postCode!='' && postCode!=null && pattern.test(postCode)==false){
			return false;
		}
	}
	return true;
}

function chkPhone(phone,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^(([0-9]{3})|([0-9]{3}\-))?1(3)|(5)|(8)|(9)[0-9]{9}$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(phone)==false){
			return false;
		}
	}
	else{
		if(phone!='' && phone!=null && pattern.test(phone)==false){
			return false;
		}
	}
	return true;
}

function chkTel(tel,necessarily,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^((\([0-9]{3}\))|([0-9]{3}\-))?(\(0[0-9]{2,3}\)|0[0-9]{2,3}-)?[1-9][0-9]{6,7}$' : pattern;
	pattern = new RegExp(pattern);
	if(necessarily==true){
		if(pattern.test(tel)==false){
			return false;
		}
	}
	else{
		if(tel!='' && tel!=null && pattern.test(tel)==false){
			return false;
		}
	}
	return true;
}

function chkCNChr(str,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^[\u4E00-\u9FA5]$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(str)==false){
		return false;
	}
	return chkStrLen(str,minLength,maxLength);
}

function chkIP(str,minLength,maxLength,pattern){
	pattern = typeof(pattern) == 'undefined' ? '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' : pattern;
	pattern = new RegExp(pattern);
	if(pattern.test(str)==false){
		return false;
	}
	return chkStrLen(str,minLength,maxLength);
}


