/*----------------------------------------------------------------------------------
화면전환없이 처리시 사용할 IFRAME을 생성
Parameters: 없음
Returns   : 없음
Example   : 없음
Date      : 2009-04-06(고현준)
----------------------------------------------------------------------------------*/
function ifr_create(){
	if(jQuery("#ifr_chk").length == 0){
		jQuery("body").append("<iframe id='ifr_chk' name='ifr_chk'></iframe>");
		jQuery("#ifr_chk").hide();
	}
}

/*----------------------------------------------------------------------------------
달력 Javascript 함수를 호출
Parameters: INPUT박스명,  BUTTON명
Returns   : 없음
Example   : calendar_open("input_Name", "button_Name");
Date      : 2009-04-23(고현준)
----------------------------------------------------------------------------------*/
function calendar_open(fld, btn){
	Calendar.setup({
		inputField    : fld,
		ifFormat : "%Y-%m-%d",
		button : btn
	});
}

/*----------------------------------------------------------------------------------
업로드된 이미지 미리보기처리에 필요한 데이터폼생성
Parameters: 파일업로드 INPUT, 파일업로드 INPUT을 감싸고 있는 레이어ID, 가로길이, 세로길이
Returns   : 없음
Example   : pic_view($("PIC_FILE"), $("PIC_DIV"), 100, 200);
Date      : 2009-04-23(고현준)
----------------------------------------------------------------------------------*/
function pic_view(obj, obj2, width, height, src){
		var ofrm = document.createElement("form");
		var iwidth = document.createElement("input");
		var iheight = document.createElement("input");


		//이미지 넓이
		iwidth.type = "hidden";
		iwidth.name = "width";
		iwidth.value = width;

		//이미지 높이
		iheight.type = "hidden";
		iheight.name = "height";
		iheight.value = height;

		//미리보기
		ofrm.name = "temp_form";
		ofrm.method = "post";
		ofrm.target = "ifr_chk";
		ofrm.encoding = "multipart/form-data";
		ofrm.action = src;

		ofrm.appendChild(obj);
		ofrm.appendChild(iwidth);
		ofrm.appendChild(iheight);

		document.body.appendChild(ofrm);
		ifr_create();
		ofrm.submit();

		obj2.append(obj);
		ofrm.removeChild(iwidth);
		ofrm.removeChild(iheight);

}

/*----------------------------------------------------------------------------------
INPUT폼에 입력된 값이 일정길이가 되면 다음 INPUT폼으로 이동
Parameters: 입력중인 INPUT폼, 다음으로 넒길 INPUT폼, 넘어가야할 문자길이
Returns   : 없음
Example   : auto_next($("TEL1"), $("TEL2"), 4)
Date      : 2009-04-07(고현준)
----------------------------------------------------------------------------------*/
function auto_next(obj, obj2, num){
	if(obj.value == undefined || obj2.value == undefined){
		if(obj.val().length > num){
			obj2.focus();
			obj2.val(obj.val().substring(num, obj.val().length));
			obj.val(obj.val().substring(0,num));
		}
	}else{
		if(obj.value.length > num){
			obj2.focus();
			obj2.value = obj.value.substring(num, obj.value.length);
			obj.value = obj.value.substring(0,num);
		}
	}
}

/*----------------------------------------------------------------------------------
값이 없는 INPUT폼에 백스페이스 키를 누를시 이전 INPUT폼으로 이동
Parameters: 입력중인 INPUT폼, 다음으로 넒길 INPUT폼, 이벤트동작키(고유매소드)
Returns   : 없음
Example   : auto_back($("TEL2"), $("TEL1"), event)
Date      : 2009-04-07(고현준)
----------------------------------------------------------------------------------*/
function auto_back(obj, obj2, event){
	var temp;
	if(obj.value == undefined){
		if(event.keyCode == 8){
			if(obj.val().length == 0){
				temp = obj2.val();
				obj2.val("");
				obj2.focus(2);
				obj2.val(temp);
			}
		}
	}else{
		if(event.keyCode == 8){
			if(obj.value.length == 0){
				temp = obj2.value
				obj2.value = "";
				obj2.focus(2);
				obj2.value = temp;
			}
		}
	}
}

/*----------------------------------------------------------------------------------
두 날짜의 일간격 구하기
Parameters: '2009-01-01'형식의 날짜1, 날짜2
Returns   : 일자(string형)
Example   : dayDiff('2009-01-01', '2009-02-01')
Date      : 2009-04-29(고현준)
----------------------------------------------------------------------------------*/
function dayDiff(date1, date2){
	var v1 = date1.split("-");
	var v2 = date2.split("-");
 
	var a1 = new Date(v1[0], v1[1] - 1, v1[2]).getTime();
	var a2 = new Date(v2[0], v2[1] - 1, v2[2]).getTime();
 
	return (a2 - a1) / (1000 * 60 * 60 * 24);
}

/*----------------------------------------------------------------------------------
3자리 마다 콤마 붙이기
Parameters: 변환할값
Returns   : 200,000(콤마 형식)
Example   : display_comma(200000)
Date      : 2009-04-29(고현준)
----------------------------------------------------------------------------------*/
 function commaIns(value) {
    var src;
    var i;
    var factor;
    var su;
    var Spacesize = 0;
    
    var String_val = value.toString();
    
    factor = String_val.length % 3;
    su = (String_val.length - factor) /3;
    src = String_val.substring(0,factor);

    for(i=0; i<su ; i++){
		if((factor==0)&&(i==0)){
			src += String_val.substring(factor+(3*i), factor+3+(3*i));
        }else{
            if ( String_val.substring(factor+(3*i) - 1, factor+(3*i)) != "-" ) src +=",";
            src += String_val.substring(factor+(3*i), factor+3+(3*i));
        }
    }
    return src;
}
    
/*----------------------------------------------------------------------------------
3자리 마다 콤마 없애기
Parameters: 콤마가 붙은 숫자
Returns   : 200000(콤마 없음)
Example   : display_comma(200,000)
Date      : 2009-04-29(고현준)
----------------------------------------------------------------------------------*/
function commaDel(value){
	var x, ch;
	var i=0;
	var newVal="";
	for(x=0; x <value.length ; x++){
		ch=value.substring(x,x+1);
		if(ch != ",")  newVal += ch;
	}
	return newVal;
}

//------체크
/*----------------------------------------------------------------------------------
INPUT 널값 체크
Parameters: INPUT, 오류메세지
Returns   : TRUE
Example   : null_check($("TA"), "해당값을 입력하시오")
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function null_check(str,msg){
	if(str.value == undefined)
		var nidV = str.val();
	else
		var nidV = str.value;

	if (nidV == "" || !nidV){
		alert(msg);
		if(str.value == undefined)
			if(str.attr("type") != "hidden") str.focus();
		else
			if(str.type != "hidden") str.focus();
		return true;
	}
}

/*----------------------------------------------------------------------------------
숫자체크
Parameters: INPUT, 오류메세지
Returns   : TRUE
Example   : number_check($("TA"), "해당값을 입력하시오")
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function number_check(wjd,msg){
	if(msg == "" || msg == null){msg = "숫자만 입력가능합니다";};

	if(wjd.value == undefined)
		var	wjdV = wjd.val();
	else
		var	wjdV = wjd.value;

	var wjdL = wjdV.length;

	for(i=0;i<wjdL;i++) {
		var val = "0123456789";
		if(parseInt(val.indexOf(wjdV.substring(i,i+1))) < 0){
			alert(msg);

			if(wjd.value == undefined)
				wjd.val("");
			else
				wjd.value = "";

			wjd.focus();
			return true;
		}
	}
}


/*----------------------------------------------------------------------------------
최대 몇이하 자릿수 이상 체크
Parameters: INPUT, 길이, 오류메세지
Returns   : TRUE
Example   : len_over_check($("TA"), 2, "최대 몇까지만 가능합니다.")
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function len_over_check(str,idx,msg){
	if(str.value == undefined)
		var ljdV = str.val();
	else
		var ljdV = str.value;

	var ljdL = ljdV.length;
	var onechar;
	var tcount;
	var temp;
	var tempStr;
	var idxNow = idx;
	var idxLen = parseInt(idxNow);

	if(ljdL>idx){
		alert(msg);
		temp = ljdV.substring(0,idx);
		if(str.value == undefined)
			str.val(temp);
		else
			str.value = temp;
		return true;
	}
}

/*----------------------------------------------------------------------------------
최소 몇이상 자릿수 이상 체크
Parameters: INPUT, 길이, 오류메세지
Returns   : TRUE
Example   : len_over_check($("TA"), 2, "최소 몇자리이상 가능합니다.")
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function len_under_check(str,idx,msg){
	if(str.value == undefined)
		var ljdV = str.val();
	else
		var ljdV = str.value;

	var ljdL = ljdV.length;
	var onechar;
	var tcount;
	var temp;
	var tempStr;
	var idxNow = idx;
	var idxLen = parseInt(idxNow);

	if(ljdL<idx){
		alert(msg);
		temp = ljdV.substring(0,idx);
		if(str.value == undefined)
			str.val(temp);
		else
			str.value = temp;

		return true;
	}
}

/*----------------------------------------------------------------------------------
사업자 등록번호 유효성 체크
Parameters: 사업자번호(3자리), (2자리), (5자리)
Returns   : TRUE
Example   : biz_num_chk($("TA"), $("TA"), $("TA"))
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function biz_num_chk(strCk1, strCk2, strCk3) {
	var arrCkValue = new Array(10);
	arrCkValue[0] = ( parseFloat(strCk1.substring(0 ,1))  * 1 ) % 10;
	arrCkValue[1] = ( parseFloat(strCk1.substring(1 ,2))  * 3 ) % 10;
	arrCkValue[2] = ( parseFloat(strCk1.substring(2 ,3))  * 7 ) % 10;
	arrCkValue[3] = ( parseFloat(strCk2.substring(0 ,1))  * 1 ) % 10;
	arrCkValue[4] = ( parseFloat(strCk2.substring(1 ,2))  * 3 ) % 10;
	arrCkValue[5] = ( parseFloat(strCk3.substring(0 ,1))  * 7 ) % 10;
	arrCkValue[6] = ( parseFloat(strCk3.substring(1 ,2))  * 1 ) % 10;
	arrCkValue[7] = ( parseFloat(strCk3.substring(2 ,3))  * 3 ) % 10;
	intCkTemp     = parseFloat(strCk3.substring(3 ,4))  * 5  + "0";
	arrCkValue[8] = parseFloat(intCkTemp.substring(0,1)) + parseFloat(intCkTemp.substring(1,2));
	arrCkValue[9] = parseFloat(strCk3.substring(4,5));
	intCkLastid = ( 10 - ( ( arrCkValue[0]+arrCkValue[1]+arrCkValue[2]+arrCkValue[3]+arrCkValue[4]+arrCkValue[5]+arrCkValue[6]+arrCkValue[7]+arrCkValue[8] ) % 10 ) ) % 10;
	if(arrCkValue[9] != intCkLastid){
		alert ("잘못된 사업자등록번호입니다. 다시 확인해 주십시오");
		return true;
	}

	if(strCk1 + strCk2 + strCk3 == "0000000000" || strCk1 + strCk2 + strCk3 == "8088080808" || strCk1 + strCk2 + strCk3 == "8080808080"){
		alert ("잘못된 사업자등록번호입니다. 다시 확인해 주십시오");
		return true;
	}
}

/*----------------------------------------------------------------------------------
사용자 아이디 유효성 체크
Parameters: 아이디
Returns   : TRUE
Example   : id_check('testid')
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function id_check(str){
	var title = str;

	if(str.value == undefined)
		var idV = str.val();
	else
		var idV = str.value;

	var idL = idV.length;
	var idN = idV.indexOf(" ");
	var idF = str
	var comp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

	for(i=0;i<idL;i++){
		if(i == 0){
			var val = "0123456789";
			if(val.indexOf(idV.substring(i,i+1)) >= 0) {
				alert("첫자에는 숫자를 넣으면 안됩니다. 다시 입력해 주십시오");

				if(str.value == undefined)
					str.val("");
				else
					str.value = "";

				str.focus();
				return true;
			}
		}

		if(comp.indexOf(idV.substring(i,i+1))<0) {
			alert("허용된 문자가 아닙니다. 다시 입력해 주십시오");

			if(str.value == undefined)
				str.val("");
			else
				str.value = "";

			str.focus();
			return true;
		}
	}

	if( idL <= 5 || idL >= 19 ){
		alert("아이디는 6문자 이상 20문자 이하로 입력해주세요");
		str.focus();
		return true;
	}else if( idN > 0 ){
		alert("입력하신 아이디에 공백이 있습니다\n다시 입력해 주십시오");
		str.focus();
		return true;
	}
}

/*----------------------------------------------------------------------------------
정확한 자리수 체크
Parameters: 아이디
Returns   : TRUE
Example   : len_check($("TD",6,"자리수에 맞게 입력하세요" )
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function len_check(str,idx,msg){
	if(str.value == undefined)
		var ljdV = str.val();
	else
		var ljdV = str.value;

	var ljdL = ljdV.length;
	var temp;
	var idxNow = idx;
	var idxLen = parseInt(idxNow);

	if(ljdL!=idx){
		alert(msg);
		temp = ljdV.substring(0,idx);

		if(str.value == undefined)
			str.val(temp);
		else
			str.value = temp;
		return true;
	}
}

/*----------------------------------------------------------------------------------
비밀번호 체크
Parameters: 비밀번호, 비밀번호확인
Returns   : TRUE
Example   : pw_check('password1', 'password2')
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function pw_check(str,str2) {
	var title = str;
	var title2 = str2;

	if(str.value == undefined){
		var pw1V = str.val();
		var pw2V = str2.val();
	}else{
		var pw1V = str.value;
		var pw2V = str2.value;
	}

	var pw1L = pw1V.length;

	for(i=0;i<pw1L;i++) {
		var val = "!@#$%^&*()_+|\=-~`':<>?/";
		if(parseInt(val.indexOf(pw1V.substring(i,i+1))) > 0) {
			alert("특수문자를 넣으면 안됩니다. 다시 입력해 주십시오");

			if(str.value == undefined){
				str.val("");
				str2.val("");
			}else{
				str.value = "";
				str2.value = "";
			}

			 str.select();
			 return true;
		}
	}
		
	if(pw1L <= 5 || pw1L >=19){
		alert("비밀번호는 6문자 이상 20문자 이하로 입력해주세요");
		str.select();
		return true;
	}
	if(pw1V != pw2V){
		alert("두 비밀번호가 일치하지 않습니다\n다시 입력해 주십시오");
		str.select();
		str.focus();
		return true;
	}
}

/*----------------------------------------------------------------------------------
특수문자 체크
Parameters: INPUT
Returns   : TRUE
Example   : special_check($('TD'))
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function special_check(str) {
	if(str.value == undefined)
		var pw1V = str.val();
	else
		var pw1V = str.value;

	var pw1L = pw1V.length;

	for(i=0;i<pw1L;i++) {
		var val = "!@#$%^&*()_+|\=-~`':<>?/";
		if(parseInt(val.indexOf(pw1V.substring(i,i+1))) > 0) {
			alert("특수문자를 넣으면 안됩니다. 다시 입력해 주십시오");

		 	if(str.value == undefined)
				str.val("");
			else
				str.value = "";

			str.select();
			 return true;
		}
	}
}

/*----------------------------------------------------------------------------------
체크박스가 체크되어있는지 확인
Parameters: INPUT, 메세지
Returns   : TRUE
Example   : checkbox_check($("TA"), "체크해주세요")
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function checkbox_check(str, msg){
	var len = str.length;
	var cnt = 0;

	for (var i=0;i<len;i++){
		if(str[i].checked){
			cnt = cnt + 1;
		}
	}

	if(cnt == 0){
		alert(msg);
		str[0].focus();
		return true;
	}
}

/*----------------------------------------------------------------------------------
우편번호 검색
Parameters: 
Returns   : 우편번호 창띄우기
Example   : post_search();
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function post_search(){
	window.open("/member/post_code.asp", "zipcode", "width=470, height=500, scrolling=no");
}

/*----------------------------------------------------------------------------------
그달의 마지막일 구하기
Parameters: 해당년도, 해당월
Returns   : 마지막일
Example   : EndDay('2009', '04')
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function EndDay(val_year, val_month){
	var mon = parseInt(val_month);
	var yer = parseInt(val_year);
	if(mon == 1){
		var thismonth = new Date(yer-1, 12, 1);
	}else{
		var thismonth = new Date(yer, mon-1, 1);
	};
	var nextmonth = new Date(yer, mon, 1);
	var diffms = nextmonth - thismonth; // 밀리세컨드 단위의 차이
	var diffdays = diffms / 1000 / 60 / 60 / 24; // 하루 단위 차이
	return diffdays;
}

/*----------------------------------------------------------------------------------
이미지 등록창
Parameters: 이미지종류(로고 or 사진)
Returns   : 이미지 등록창 창띄우기
Example   : pic_upd('A');
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function pic_upd(pic_type, ssn, ssn_type){
	window.open("/FP/pic_upd.asp?pic_type="+pic_type+"&SSN="+ssn+"&SSN_TYPE="+ssn_type, "pic_upd", "width=550, height=500, scrollbars=yes");
}

/*----------------------------------------------------------------------------------
[public] str1에 str2를 붙여나간다. str1에 이미 내용이 있을 경우는 addType에 맞게 연결자를 붙이고 str2를 붙인다. 없으면 그냥 붙이고..
Parameters: str1: 기본문자열, str2: 추가될 문자열, addType: 추가되는 방법 (문자열)
Returns   : string:
Example   : str1 = addString(str1, "str2", ",");
			addType : <br> / \r\n / &gt; etc
Date      : 2007-01-30(조영일)
----------------------------------------------------------------------------------*/
function addString(str1, str2, addType){
	if (str1 == ""){
		str1 = str2;
	}else{
		if (str2 != ""){
			str1 = str1 + addType + str2;
		}
	}
	return str1;
}

function ReplaceAll(FullString, TargetString, ReplaceString) {
	var RegExpSelect = new RegExp(TargetString, "gi")   //선택된 문자열에 대한 regular expression 개체 생성

	var NewString = FullString.replace(RegExpSelect, ReplaceString);

	return NewString;
}

/*----------------------------------------------------------------------------------
셀렉트 년, 월에 따른 일자변경
Parameters: 년, 월
Returns   : select.length 조절
Example   : change_month(2009,5)
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function change_month(year, month){
	if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {tempday = 29;} // 윤년이면 29로 저장.
	else tempday = 28;
	var day_no;
	if(month==1 || month==3 ||month==5 || month==7 ||month ==8 ||month==10 ||month ==12){
		day_no = 31;
	}else if(month ==2){
		day_no = tempday;
	}else{
		day_no = 30;
	}

	document.getElementById("SDAY").length = day_no+1;

	for(x=1;x<=day_no;x++){
		document.getElementById("SDAY").options[x].text = x;
		document.getElementById("SDAY").options[x].val() = x;
	}
}

/*----------------------------------------------------------------------------------
1자리형 숫자를 2자리 문자형으로 '0'을 삽입
Parameters: 숫자 or 문자
Returns   : 문자형 2자리형태 '01'
Example   : Str_zero(1)
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function Str_zero(val){
	val = "0" + val;
	val = val.substring(val.length-2, val.length);
	return val;
}

/*----------------------------------------------------------------------------------
아이프레임 크기자동 조절
Parameters: 오프젝트
Returns   : 지정된 오프젝트 iframe 크기조절
Example   : onload=resizeFrame(this)
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function resizeFrame(iframeObj, val){ 
	
    var innerBody = iframeObj.contentWindow.document.body;
    var innerWidth = innerBody.scrollWidth + (innerBody.offsetWidth - innerBody.clientWidth);
    var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
	if(innerHeight < val){innerHeight = val};
    iframeObj.height = innerHeight;
	if (innerWidth < 670)
	{
		innerWidth = 670;
	}
	iframeObj.width = innerWidth;
}
function resizeFrame_sv(iframeObj, val){ //서비스결제부분
	
    var innerBody = iframeObj.contentWindow.document.body;
    var innerWidth = innerBody.scrollWidth + (innerBody.offsetWidth - innerBody.clientWidth);
    var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
	if(innerHeight < val){innerHeight = val};
    iframeObj.height = innerHeight;
	iframeObj.width = innerWidth;
}


/*----------------------------------------------------------------------------------
쿠키저장 타입1
Parameters: 쿠키명, 저장값, 만료일
Returns   : 
Example   : setCookie1('Ca', '123', 1)
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function setCookie1( name, value, expiredays){
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + '=' + escape( value ) + '; path=/; expires=' + todayDate.toGMTString() + ';'
}

/*----------------------------------------------------------------------------------
쿠키저장 타입2(브라우져종료시 쿠키만료)
Parameters: 쿠키명, 저장값
Returns   : 
Example   : setCookie2('Ca', '123')
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function setCookie2(name, value){
	document.cookie = name + '=' + escape( value ) + '; path=/; '
}

/*----------------------------------------------------------------------------------
쿠키 불러오기
Parameters: 쿠키명
Returns   : 쿠키값
Example   : getCookies('Ca')
Date      : 2009-05-06(고현준)
----------------------------------------------------------------------------------*/
function getCookie(name){
	var nameOfCookie = name + "=";
	var x = 0;
	while(x <= document.cookie.length){
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) {
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
			endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 )
			break;
	}
	return "";
}


/*----------------------------------------------------------------------------------
로그인처리, 로그아웃
Parameters: Nothing
Returns   : Nothing
Example   : Login_ok()
Date      : 2009-06-04(고현준)
----------------------------------------------------------------------------------*/
function Login_ok(){
	var frm = document.LoginForm;
	if(null_check(jQuery("#ID"), "아이디를 입력해주세요")){return false};
	if(null_check(jQuery("#PWD"), "비밀번호를 입력해주세요")){return false};

	if(jQuery("input[name=SSL_CHK]:checked").length > 0){
		frm.action = "https://www.telejob.co.kr/Login/login_ok.asp"
	}else{
		frm.action = "/Login/login_ok.asp"
	}

	ifr_create();
	frm.target = "ifr_chk";
	frm.submit();


	if(jQuery("input[name=IDSave]:checked").length > 0){
		setCookie1("ID", jQuery("#ID").val(), 99);
		setCookie1("LOGINTYPE", jQuery("input[name=LOGINTYPE]:checked").val(), 99);
	}else{
		setCookie2("ID", "");
		setCookie2("LOGINTYPE", "");
	};
}

function Logout_ok(){
	location.href = "/Login/logout_ok.asp";
}


/*----------------------------------------------------------------------------------
숫자, 영문 이외의 값을 차단, 문자열 개수 체크는 제외
Parameters: 입력값
Returns   : TRUE
Example   : validStr('test@@str')
Date      : 2009-04-27(고현준)
----------------------------------------------------------------------------------*/
function validStr(str){
	var title = str;
	var idV = str.val();
	var idL = idV.length;
	var idN = idV.indexOf(" ");
	var idF = str
	var comp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

	for(i=0;i<idL;i++){
		if(comp.indexOf(idV.substring(i,i+1))<0) {
			alert("허용된 문자가 아닙니다. 다시 입력해 주십시오");
			str.val()="";
			str.focus();
			return true;
		}
	}

	if( idN > 0 ){
		alert("입력하신 아이디에 공백이 있습니다\n다시 입력해 주십시오");
		str.focus();
		return true;
	}
}

/*----------------------------------------------------------------------------------
투명 png 치환
Parameters: 
Returns   : 
Example   : class="png24"
Date      : 2009-07-21(곽지성)
----------------------------------------------------------------------------------*/
function setPng24(obj,switche) {
 //aa = document.getElementById(obj).className;
 //alert(aa);
 obj.width=obj.height=1;
 obj.className=obj.className.replace(/\bpng24\b/i,'');
 obj.style.filter ="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
 obj.src='';
 return '';
}

/*----------------------------------------------------------------------------------
자동스크롤바 간격별 이동
Parameters: 오브젝트
Returns   : 이동
Example   : autoScrollup(jQuery("#test"));
Date      : 2009-07-20(고현준)
----------------------------------------------------------------------------------*/
autoScrollup = function(){
	this.speed = 17;
	this.next = 6000;
	this.cnt = 0;
};

autoScrollup.scrollup = function(){
	for(var i=0;i<autoScrollup.mouseArr.length;i++){
		var mouse = autoScrollup.mouseArr[i];
		var offset  = autoScrollup.offset[i];

		if(mouse == 0){jQuery(autoScrollup.objArr[i]).scrollTop += 1}
		cnt += 1;
	}

	if(cnt/autoScrollup.mouseArr.length != offset+3){
		setTimeout("autoScrollup.scrollup()", speed);
	}else{
		for(var i=0;i<autoScrollup.mouseArr.length;i++){
			if(parseInt(jQuery(autoScrollup.objArr[i]).scrollTop)+parseInt(jQuery(autoScrollup.objArr[i]).offsetHeight) == parseInt(jQuery(autoScrollup.objArr[i]).scrollHeight)){
				setTimeout("jQuery(autoScrollup.objArr["+i+"]).scrollTop = 0;", next/2);
			}
		}
		setTimeout("cnt=0;autoScrollup.scrollup();", next);
	}
}

autoScrollup2 = function(){
	this.speed = 1;
	this.next = 5000;
	this.cnt = 0;
};

autoScrollup2.scrollup = function(){
	for(var i=0;i<autoScrollup2.mouseArr.length;i++){
		var mouse = autoScrollup2.mouseArr[i];
		var offset  = autoScrollup2.offset[i];

		if(mouse == 0){jQuery(autoScrollup2.objArr[i]).scrollTop += autoScrollup2.offset[i]}
		cnt += 1;
	}

	if(parseInt(jQuery(autoScrollup2.objArr[0]).scrollTop)+parseInt(jQuery(autoScrollup2.objArr[0]).offsetHeight) == parseInt(jQuery(autoScrollup2.objArr[0]).scrollHeight)){
		setTimeout("jQuery(autoScrollup2.objArr[0]).scrollTop = 0;", next);
		setTimeout("autoScrollup2.scrollup()", next * 2);
	}else{
		setTimeout("autoScrollup2.scrollup()", next);
	}
}

/*----------------------------------------------------------------------------------
플래쉬 파일 테두리 방지 스크립트
Parameters: 
Returns   : 
Example   : 
Date      : 2009-08-06(곽지성)
----------------------------------------------------------------------------------*/
function fl_view(swf, swfname, width, height) { 
	var objhtml;
	objhtml = "<embed width='"+width+"' height='"+height+"' id='"+swfname+"' alt='"+swfname+"' title='"+swfname+"' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' allowscriptaccess='always'  src='https://www.telejob.co.kr"+swf+"' wmode='transparent'></embed>"
    document.write(objhtml); 
}


/*----------------------------------------------------------------------------------
이미지 팝업
Parameters: 이미지경로
Returns   : Div 출력
Example   : 
Date      : 2009-08-07
----------------------------------------------------------------------------------*/
function overTip(file) {
	jQuery("document").ready(function(){
		if(jQuery("#logoPic").length == 0){
			var odiv = document.createElement("div");
			odiv.id = "logoPic";
			odiv.innerHTML = "설정된 로고<br><img id=logoImg name=logoImg width=74 height=28>"
			document.body.appendChild(odiv);
		};
		if(file == ""){file = "/img/logo2/default.gif"};
		jQuery("#logoPic").css("left", window.event.clientX + 15);
		jQuery("#logoPic").css("top", window.event.clientY + document.documentElement.scrollTop + 10);
		jQuery("#logoPic").css("visibility", "visible");
		jQuery("#logoImg").attr("src",file);
	});
}

function moveTip(file){
	jQuery("document").ready(function(){
		if(jQuery("#logoPic").length > 0){
			jQuery("#logoPic").css("left", window.event.clientX + 15);
			jQuery("#logoPic").css("top", window.event.clientY + document.documentElement.scrollTop + 10);
		};
	});
}

 function outTip(file) {
	jQuery("document").ready(function(){
		if(jQuery("#logoPic").length > 0){
			jQuery("#logoPic").css("left", window.event.clientX + 15);
			jQuery("#logoPic").css("top", window.event.clientY + document.documentElement.scrollTop + 10);
			jQuery("#logoPic").css("visibility", "hidden");
		};
	});
}

/*----------------------------------------------------------------------------------
3자리 콤마삽입, 제거
Parameters:
Returns   :
Example   : 
Date      : 2009-08-10
----------------------------------------------------------------------------------*/
function formatnumber(value) {

    var src;
    var i;
    var factor;
    var su;
    var Spacesize = 0;
   
    var String_val = value.toString();
   
    factor = String_val.length % 3;
    su = (String_val.length - factor) /3;
    src = String_val.substring(0,factor);

    for(i=0; i<su ; i++){
       if ((factor==0)&&(i==0)){
             src += String_val.substring(factor+(3*i), factor+3+(3*i));
        }else{
            if ( String_val.substring(factor+(3*i) - 1, factor+(3*i)) != "-" ) src +=",";
            src += String_val.substring(factor+(3*i), factor+3+(3*i));
        }
    }

    return src;
}
   
function formatnumberD(value){
	var x, ch;
	var i=0;
	var newVal="";
	for(x=0; x <value.length ; x++){
	ch=value.substring(x,x+1);
	if(ch != ",")  newVal += ch;
	}
	return newVal;
}

/*----------------------------------------------------------------------------------
서비스 히트수 체크
Parameters: 서비스번호
Returns   : 
Example   : 
Date      : 2009-10-13
----------------------------------------------------------------------------------*/
function us_hits(seq){
	jQuery.ajax({
		type:"POST",
		url:"/us_hit.asp",
		data:"US_SEQ="+seq
	});
}

/*----------------------------------------------------------------------------------
날짜 자동선택
Parameters: 시작일OBJ, 마지막일OBJ, 현재값, 구분
Returns   : 
Example   : 
Date      : 2009-10-15
----------------------------------------------------------------------------------*/
function auto_dt(obj, obj2, val, type){
	if(type == 1){
		if(jQuery("#" + obj2).val() <= val){
			jQuery(obj2).val() = val;
		}
	}else{
		if(jQuery("#" + obj).val() >= val || jQuery("#" + obj).val() == ""){
			jQuery(obj).val() = val;
		}
	}
}

/*----------------------------------------------------------------------------------
메뉴 따라다니기
Date : 2010-01-20
-----------------------------------------------------------------------------------*/
function JSFX_FloatTopDiv(tab, div, x, y, x_move, y_move, type) {
	if(x == "") x=0;
	if(y == "") y=0;
	if(x_move == "") x_move = "Y"
	if(y_move == "") y_move = "Y"

    var startX = parseInt(jQuery("#"+div).offset().left) + parseInt(jQuery("#"+div).css("width"));   //X축 위치
    var startY = parseInt(jQuery("#"+div).offset().top);  //브라우저 하단에서의 위치

    function ml(id) {
        jQuery("#"+id).css("left", startX + x);
        jQuery("#"+id).css("top", startY + y);
    }

	ftlObj = ml(tab);

	if(type == 0){
		stayTopLeft=function(id) {
			var pY = 0;
			if(jQuery(window).scrollTop() > startY) pY = jQuery(window).scrollTop()-(startY-10);

			if(x_move == "Y")
				jQuery("#"+id).css("left", parseInt(jQuery("#"+div).offset().left) + parseInt(jQuery("#"+div).css("width")) + x);
			if(y_move == "Y")
				jQuery("#"+id).css("top", parseInt(jQuery("#"+id).css("top")) + (pY + startY - parseInt(jQuery("#"+id).css("top")))/8 + y);

			setTimeout("stayTopLeft('"+id+"')", 15);
		}

		stayTopLeft(tab);
	}else{
		stayTopLeft2=function(id) {
			var pY = 0;
			if(jQuery(window).scrollTop() > startY) pY = jQuery(window).scrollTop()-(startY-10);

			if(x_move == "Y")
				jQuery("#"+id).css("left", parseInt(jQuery("#"+div).offset().left) + parseInt(jQuery("#"+div).css("width")) + x);
			if(y_move == "Y")
				jQuery("#"+id).css("top", parseInt(jQuery("#"+id).css("top")) + (pY + startY - parseInt(jQuery("#"+id).css("top")))/8 + y);

			setTimeout("stayTopLeft2('"+id+"')", 15);

		}

		stayTopLeft2(tab);
	}
}

/*----------------------------------------------------------------------------------
도움말 띄우기 스크립트
Parameters: 
Returns   : 
Example   : 
Date      : 2009-08-06(곽지성)
----------------------------------------------------------------------------------*/
function helpView(v, e){
	var event = window.event || e;
	if(jQuery(v).css("display") == "none"){;
		jQuery(v).css("display", "block");
		jQuery(v).css("left", event.clientX);
		jQuery(v).css("top", event.clientY + document.documentElement.scrollTop + 10);
	}else{
		jQuery(v).css("display", "none");
	}
}


/*----------------------------------------------------------------------------------
네이버 맵 API 연동
Parameters: mapPreview(주소(String), 오브젝트(String), 입력종류(int), 마커내용(String))
			mapCreate(오브젝트(String), 넓이(int), 높이(int))
			mapCenter(오브젝트(String), 좌표(String))
Returns   : DIV객체에 지도 반환
Example   : mapPreview("서울시 양천구 신월동", "map", 1, 텔레잡)
			mapCreate("map", 500, 300)
			mapCenter("map", "321313|123123")
Date      : 2010-06-25(고현준)
----------------------------------------------------------------------------------*/
var mapPreview = function(addr, obj, viewType, title){
	var point = jQuery.ajax({
		type : "POST",
		url : "/test.asp",
		data : "ADDR="+addr,
		success : function(msg){
			if(msg != "false"){
				var point = msg.split("|");
				var mapPoint = new NPoint(point[0], point[1]);
				obj.setCenterAndZoom(mapPoint, 2);
				var mapIcon = new NIcon("http://www.telejob.co.kr/img/pin_spot2.gif", new NSize(23, 30));
				var mapMark = new NMark(mapPoint, mapIcon);
				var infowin = new NInfoWindow();
				obj.addOverlay(mapMark);

				NEvent.addListener(mapMark, "mouseover", function(){
					infowin.set(mapPoint, "<div style='margin:0 0 0px 10px;background-color:#ffffff;border:solid 1px #666666;'>"+title+"</div>");
					infowin.showWindow();					
				});

				NEvent.addListener(mapMark, "mouseout", function(){
					infowin.hideWindow();					
				});

				obj.addOverlay(infowin);
			}
		},
		async: false
	}).responseText;
	
	return point;
}

var mapCreate = function(div, width, height){
	var mapDiv = document.getElementById(div);
	var mapObj = new NMap(mapDiv,width,height);
	var zoom =new NZoomControl();
	zoom.setAlign("right");
	zoom.setValign("bottom");
	mapObj.addControl(zoom);
	mapObj.addControl(new NSaveBtn());
	mapObj.addControl(new NMapBtns());
	jQuery("#"+div+" div").css("overflow","visible");
	return mapObj
}

var mapCenter = function(obj, p){
	var point = p.split("|");
	var mapPoint = new NPoint(point[0], point[1]);
	obj.setCenter(mapPoint);
}

/*----------------------------------------------------------------------------------
구글 맵 API 연동(Ver.V3)
Parameters: showAddress_V3(주소(String), 마커내용(String))
Returns   : DIV객체에 지도 반환
Example   : mapPreview("서울시 양천구 신월동")
Date      : 2010-07-01(고현준)
----------------------------------------------------------------------------------*/
var geocoder = null; 
var map = null;
var point = null;

function initialize_v3(){ 
	geocoder = new google.maps.Geocoder(); 
	var myOptions = { 
		zoom: 16, 
		mapTypeControl: false,
		mapTypeId: google.maps.MapTypeId.ROADMAP 
	} 
	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
}

function showAddress_v3(address, title) { 
	if(geocoder){ 
		geocoder.geocode({"address":address},function(results,status){
			if(status == google.maps.GeocoderStatus.OK){
				point = results[0].geometry.location;
				map.setCenter(point);
				var image = new google.maps.MarkerImage('http://www.telejob.co.kr/img/pin_spot2.gif', new google.maps.Size(23, 30), new google.maps.Point(0,0));
				var marker = new google.maps.Marker({ 
					map: map,  
					icon: image,
					position: point,
					title: title
				}); 
				jQuery("#map_canvas div").css("overflow","visible");
			}else{
				alert("잘못된 주소"); 
			} 
		}); 
	} 
} 


/*----------------------------------------------------------------------------------
구글 맵 API 연동(Ver.V2)
Parameters: showAddress_V2(주소(String), 마커내용(String))
Returns   : DIV객체에 지도 반환
Example   : mapPreview("서울시 양천구 신월동")
Date      : 2010-06-25(고현준)
----------------------------------------------------------------------------------*/
function initialize_v2(div) { 
	if (GBrowserIsCompatible()) { 
		map = new GMap2(document.getElementById(div)); 
		geocoder = new GClientGeocoder();
		map.addControl(new GSmallMapControl()); 
//		map.addControl(new GMapTypeControl());
	} 
}

function showAddress_v2(address, title, viewType) {
	if(geocoder){
		geocoder.getLatLng(
		address,
			function(p){
				point = p;
				if(!point){
					if(viewType == 1){
						jQuery("#map_canvas").html("<font color='red'>주소가 잘못되어 지도가 표시 되지 않습니다.</font>");
					}else{
						jQuery("#mapTR").hide();
					}
				}else{
					var imageicon = new GIcon(); 
					imageicon.image = "http://www.telejob.co.kr/img/pin_spot2.gif"; 
					imageicon.iconSize = new GSize(23, 30);
					imageicon.iconAnchor = new GPoint(6, 20);
					imageicon.infoWindowAnchor = new GPoint(5, 1); 
					map.setCenter(p, 17);
					var marker = new GMarker(p, {title:title, icon:imageicon});
					map.addOverlay(marker);
				}
			}
		);
	}
}

/*----------------------------------------------------------------------------------
바코드 생성 스크립트
Parameters: Nothing
Returns   : HTML Element
Example   : return codesubmit();
Date      : 2010-11-25(고현준)
----------------------------------------------------------------------------------*/
var Lang = function (obj) {
	switch (obj.val()) {
		case "kor": return 1; break;
		case "eng": return 2; break;
		case "jpn": return 3; break;
		case "ch": return 4; break;
		case "ger": return 5; break;
		case "fre": return 7; break;
		case "msp": return 8; break;
		case "es": return 9; break;
	}
}

var codesubmit = function (type, data, codeResult) {
    var errMsg = new Array(10);
    var result_file = "Result.aspx";
    switch ($("#language").val()) {
        case "kor":
            errMsg[0] = "작성 가능한 글자수를 초과하였습니다.";
            errMsg[1] = "바코드 생성시 에러가 발생했습니다.";
            break;
        case "eng":
            errMsg[0] = "Possible creation of characters exceeded.";
            errMsg[1] = "An error occurred while creating the barcode.";
            break;
        case "jpn":
            errMsg[0] = "作成できる文字数が超過されました。";
            errMsg[1] = "バーコードを作成中にエラーが発生しました。";
            break;
    }

    $.ajax({
        type: "POST",
        url: "/barcode/WebMobileVEMaker.dll?" + type,
        data: data,
        dataType: "text",
        success: codeResult
    });
}

/*----------------------------------------------------------------------------------
게시판 글 볼때 바코드 생성
Parameters: 언어, 코드값, 종류, 이미지타입, 바코드 이미지 넣을 IMG 엘리먼트
Returns   : HTML Element
Example   : return codesubmit(1, "A$$B$$C", 1, 1, "imgBarcode1");
Date      : 2010-12-15(고현준)
----------------------------------------------------------------------------------*/
var barcodeFileName = "";

var WebToPhone = function (data, WebToPhone_Result) {
    $.ajax({
        type: "POST",
        url: "/barcode/WebMobileVEMaker.dll?MakeVolumeTextSymbol",
        data: data,
        dataType: "text",
        success: WebToPhone_Result
    });
}

/*----------------------------------------------------------------------------------
바코드 생성 파일 삭제하기
Parameters: Element
Returns   : nothing
Example   : deleteBarcode()
Date      : 2010-02-10
----------------------------------------------------------------------------------*/
var deleteBarcode = function (val) {
	if(val != "") barcodeFileName = val;
	$.ajax({
		type: "POST",
		url: "/barcode/WebMobileVEMaker.dll?DeleteSymbolFile",
		data: "FILENAME=" + barcodeFileName,
		dataType: "text",
		success: function (msg) { }
	});
}

/*----------------------------------------------------------------------------------
X/Y축 구하기
Parameters: Element
Returns   : int val
Example   : findPosX(element), findPosY(element)
Date      : 2010-12-17(고현준) 
----------------------------------------------------------------------------------*/
// X축 위치구하기
function findPosX(obj){
    var curleft = 0;
    if(obj.offsetParent)
        while(1){
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

// Y축 위치구하기
function findPosY(obj){
    var curtop = 0;
    if(obj.offsetParent)
        while(1){
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

/*----------------------------------------------------------------------------------
검색 엘리먼트 기본값 설정
Parameters: Object
Returns   : Nothing
Example   : CngValue("#Object") / defValue($("#Object")) / delValue($("#Object"))
Date      : 2011-03-16(고현준) 
----------------------------------------------------------------------------------*/
CngValue =function(obj){
	obj.focus(function(){
		if(this.value == this.title){
			this.value = "";
			jQuery("#"+this.id).css("text-align", "left");
			jQuery("#"+this.id).css("color", "#000000");
		}
	});

	obj.blur(function(){
		if(this.value == ""){
			this.value = this.title;
			jQuery("#"+this.id).css("text-align", "center");
			jQuery("#"+this.id).css("color", "#CDCDCD");
		}
	});
}

defValue = function(obj){
	if(obj.val() == "" || obj.val() == obj.attr("title")){
		obj.val(obj.attr("title"));
		obj.css("color", "#CDCDCD");
		obj.css("text-align", "center");
	}
}

delValue = function(obj){
	if(obj.val() == obj.attr("title")){obj.val("")}
}


/*----------------------------------------------------------------------------------
광고별 클릭수
Parameters: 광고번호
Returns   : 
Example   : 
Date      : 2011-03-17
----------------------------------------------------------------------------------*/
function ad_hits(seq){
	jQuery.ajax({
		type:"POST",
		url:"/ad_hit.asp",
		data:"AS_SEQ="+seq
	});
}

function ad_views(seq){
	jQuery.ajax({
		type:"POST",
		url:"/ad_view.asp",
		data:"AS_SEQ="+seq
	});
}

