	var _api_url = "http://api.mand.co.kr/1.0/";

	function GetCookie(cKey) {
		var allcookies = document.cookie;
		var cookies = allcookies.split("; ");
		for (var i = 0; i < cookies.length; i++) {
		var keyValues = cookies[i].split("=");
			if (keyValues[0] == cKey) {
				return unescape(keyValues[1]);
			}
		}
		return "";
	}

	function _session_get_cookie() {
		data = GetCookie("mand2");
		try
		{
			_session_info = JSON.parse(data);
		}
		catch (e){}
	}

	var _session_info;
	_session_get_cookie();

	// text input의 size를 체크하고 alert 출력 
	// 사용법 ex : if(_ib_size_check_focus($("#tel"),0,"전화번호를 입력하세요.")){return;};
	function _ib_size_check(obj, size, msg) {
		
		if(obj.val().length <= size) {
			alert(msg);
			return true;
		}
		return false;
	}

	// text input의 size를 체크하고 alert 출력 후 focus 이동
	function _ib_size_check_focus(obj, size, msg) {
		if(_ib_size_check(obj, size, msg) == true) {
			obj.focus();
			return true;
		}
	}
	
	// text input 2개의 값이 동일한지 체크 
	// 사용법 ex : _ib_same_check_focus($("#pass1"),$("#pass2"),"비밀번호가 일치하지 않습니다");
	function _ib_same_check_focus(obj,obj2,msg){
		if(obj.val() != obj2.val()){
			alert(msg);
			obj.val("");
			obj2.val("");
			obj.focus();
			return true;
		}
	}
	
	// 숫자값을 3자리 단위로 (,)를 넣어 number format으로 리턴
	function _ib_format_number(number) {
		if(number == "" || number == null) number = 0;
		return number.toString().replace( /([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,' );
	}

	// text input에 숫자값만 찍히도록 함 <input type="text" onkeypress="_ib_only_number();" >
	function _ib_only_number(){
	   if((event.keyCode<48)||(event.keyCode>57))
		  event.returnValue=false;
	}

	// text input에 값이 없을 경우 기본으로 1값이 들어가도록 함 <input type="text" onkeyup="_ib_default_number(this,1);" >
	function _ib_default_number(obj, def) {
		if(!(obj.value > 0 && obj.value < 9999999)) obj.value = def;
	}

	// 전화번호 형태로 파싱하여 리턴 01012345678 => 010-1234-5678
	function _ib_format_phone(number) {
		var arrNum = new Array();
		var list = ",02,051,053,032,062,042,052,031,033,043,041,063,061,054,055,064,010,011,013,014,015,016,017,018,019,070,080,060,";

		if(list.indexOf(","+number.substring(0,2)+",") >= 0) {
			arrNum[0] = number.substring(0,2);
			number = "0"+number;
		}
		else arrNum[0] = number.substring(0,3);
		
		if(number.length >= 11) {
			arrNum[1] = number.substring(3,7);
			arrNum[2] = number.substring(7,20);
		}
		else {
			arrNum[1] = number.substring(3,6);
			arrNum[2] = number.substring(6,20);
		}

		return arrNum[0]+"-"+arrNum[1]+"-"+arrNum[2];
	}

	// 이메일 형식이 맞는지 체크(맞다면 true)
	function _ib_is_email(email) {
		var regExp = /[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+){1,2}$/;

         //입력을 안했다면
         if(email.length == 0) return true;
 
         //데이터 형식이 맞지 않다면
         if (!email.match(regExp)) return false;
		 else return true;
	}

	// 폰번호 형식이 맞는지 체크
	function _ib_is_phone(mdn) {
		var regExp1 = /^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$/;
		var regExp2 = /^0\d{2,3}-?\d{3,4}-?\d{4}$/;

         //입력을 안했다면
		 
         if(mdn.length == 0) return false;
 
         //데이터 형식이 맞지 않다면
         if (mdn.match(regExp1)) return 1;
		 else if (mdn.match(regExp2)) return 2;
		 else return false;
	}
	// 핸드폰 or 집전화 유효성 체크 
	function _ib_is_phone2(mdn) {
		mdn = mdn.replace(/-/gi, '');
		
		if(mdn.length == 0) return false;
		
		if(mdn.substr(0,2) == "02"){
			if(mdn.length < 9) return false;
			if(mdn.length > 10) return false;
		}
		else{
			if(mdn.length > 11) return false;
			if(mdn.length < 10) return false;
			
			localNum = new Array("031","032","033","041","042","043","051","052","053","054","055","061","062","063","064","010","011","016","017","018","019","070");
			telCnt = 0;			  
			for (ia=0; ia<localNum.length; ia++) { // 앞에 세 자리(ex.031..) 가운데 지역번호 유효성 검사 (localNum.length : 23)
			   if (mdn.substr(0,3) == localNum[ia]) {
				   telCnt++;
			   } //end if       
			}//end for
			if(telCnt == 0) return false;
		}
		return true;
	}

	// 원하는 길이로 문자를 잘라서 overflow 부분은 ...으로 표시
    function _ib_strcut(str, limit){
        var tmpStr = str;
        var byte_count = 0;
        var len = str.length;
        var dot = "";    

        for(i=0; i<len; i++){
            byte_count += chr_byte(str.charAt(i)); 
            if(byte_count == limit-1){
                if(chr_byte(str.charAt(i+1)) == 2){
                    tmpStr = str.substring(0,i+1);
                    dot = "...";
                }
                else {
                    if(i+2 != len) dot = "...";
                    tmpStr = str.substring(0,i+2);
                }
                break;
            }
            else if(byte_count == limit){
                if(i+1 != len) dot = "...";
                tmpStr = str.substring(0,i+1);
                break;
            }
        }    

        return (tmpStr+dot);
    }

	function chr_byte(chr){
        if(escape(chr).length > 4)	return 2;
        else	return 1;
    }

	// byte 데이터를 2진수로 끊어서 array 형태로 리턴
	function _ib_byte_separate(val) {
		var arr_temp = new Array();
		var num=0;
		val = val.toString();

		if(val.length > 0) {
			str = parseInt(val,10).toString(2);

			for(var i=0;i<str.length;i++) {
				bin = str.substring(str.length-(i+1), str.length-i);

				if(bin == "1") {
					arr_temp[num] = Math.pow(2,i);
					num++;
				}
			}
		}

		return arr_temp;
	}

	// byte 데이터를 합친다. `"1,4,128"` or `new Array(1, 4, 128)` or `new Array("1","4","128")`
	function _ib_byte_combine(arr) {
		var arr_temp = new Array();
		var num = 0;
		var sum = 0;

		if(typeof(arr) == "string") {
			arr = arr.split(",");
		}
		else if(typeof(arr) == "number") {
			var temp = arr;
			arr = new Array();
			arr[0] = temp;
		}

		if(typeof(arr) == "object") {
			for(i=0;i<arr.length;i++) {
				if(arr[i] > 0) arr_temp[num] = arr[i];
				num++;
			}
		}

		for(i=0;i<arr_temp.length;i++) {
			sum = sum + parseInt(arr_temp[i]);
		}

		return sum;
	}

	function _ib_platform(arr) {
		var arr_temp = new Array();
		arr_temp[1] = "iPhone";
		arr_temp[2] = "Android";
		arr_temp[4] = "Web";
		var str = "";
		for(var val in arr) {
			if(str.length > 0) str += ",";
			str += " "+arr_temp[arr[val]];
		}
		return str;
	}

	function _ib_location(arr) {
		var arr_temp = new Array();
		arr_temp[1] = "국내";
		arr_temp[2] = "해외";
		var str = "";
		for(var val in arr) {
			if(str.length > 0) str += ",";
			str += " "+arr_temp[arr[val]];
		}
		return str;
	}


	// sns 링크 걸기
	function _ib_share_sns(share_site_info, result, title) {
		// Text형태 받기
		var siteurl = "";

		if(share_site_info == "twitter") {
			siteurl = "http://twitter.com/share?text=[infobank] "+title+" "+result;
		}
		else if(share_site_info == "facebook") {
			siteurl = "http://www.facebook.com/sharer.php?u="+result+"&t=infobank";
		}
		else if(share_site_info == "me2day") {
			siteurl = "http://me2day.net/posts/new?new_post[body]=[infobank] "+title+" "+result+"&new_post[tags]=infobank";
		}
		else if(share_site_info == "yozm") {
			siteurl = "http://yozm.daum.net/api/popup/prePost?prefix=[infobank] "+title+" "+result+"";
		}

		window.open(siteurl,"_blank","");
	}

	// validation msg 출력
	function _ib_validation(obj, msg) {
		$(".validation",obj.parent()).remove();
		obj.after("<div class='validation'><br>"+msg+"</div>");
	}

	// validation msg 출력
	function _ib_validation2(obj, msg) {
		$(".validation2",obj.parent()).remove();
		obj.after("<div class='validation2'>"+msg+"</div>");
	}

	function _ib_validation_reset() {
		$(".validation").remove();
		$(".validation2").remove();
	}
	//바이트수 체크 
	function calBytes(object,iMax) 
	{ 
		var iCount = 0;    // 길이 
		var sVal = new String(object.value);    //값 
		var iLen = sVal.length;    //현재 길이 
	    
		var oChar; 
		for ( i=0; i<iLen; i++ ) 
		{ 
			oChar = sVal.charAt(i); 
			if (escape(oChar).length > 4) 
			{ 
				iCount += 2; 
			} 
			else{ 
				iCount += 1; 
			} 
		} 	    
		if (iCount>iMax){    //최대 길이 비교 
	  
	      alert("최대길이를 초과 하였습니다.[최대 "+iMax+"byte 입력 가능]"); 
	      object.value=sVal.substring(0,iLen-1);	  
	      object.focus(); 
	  
		} 	  
	} 
