$(function(){
    var oldcolor;

    $(".hover1").hover(
    function(){
        oldcolor = $(this).css('color');
        $(this).css({'color':'#555'});
        $(this).css({'border-bottom':'1px solid #555'});
    }, function(){
        $(this).css({'color':oldcolor});
        $(this).css({'border-bottom':'1px dotted '+oldcolor});
    })
    
    $(".menudiv").hover(
    function(){
        var top = $(this).find('img').css('top');
        top = parseInt(top);
        if (top != -70){
          $(this).find('img').css({'top': -35 +"px"});
        }
    }, function(){
        var top = $(this).find('img').css('top');
        top = parseInt(top);
        if (top != -70){
          $(this).find('img').css({'top': 0 + "px"});
        }
    })
    $(".menudiv2").hover(
    function(){
        var top = $(this).find('img').css('top');
        top = parseInt(top);
        if (top != -70){
          $(this).find('img').css({'top': -35 +"px"});
        }
    }, function(){
        var top = $(this).find('img').css('top');
        top = parseInt(top);
        if (top != -70){
          $(this).find('img').css({'top': 0 + "px"});
        }
    })
    $("#login-layer").dialog({
        bgiframe: true,
        autoOpen: false,
        width: 580,
        height: 345,
        modal: true
    });
})
function checkid(){
  var strMail = getEmail();
  if( strMail == "" ){
      alert("email을 입력해주세요");
      retrun;
  }
  
  if ( isValidEmail(strMail) == false){
      alert("email 주소가 올바르지 않습니다.");
      return;
  }
    
  var tmp = $.ajax({
      type: "GET",
      url: "/user/checkemail/",
      data: "email=" + strMail,
      async: false      
  }).responseText;
  if(tmp == 'T'){
      alert("사용 가능한 email 입니다.");
  } else {
      alert("이미 사용중인 email 입니다. 다른 email을 사용하세요");
      $("#email1").val("");
  }
  $("#emailflag").val(tmp);
}
function checknick(){
  strNick = $("#nickname").val();
  if( strNick == "" ){
      alert("닉네임을 입력해주세요");
      retrun;
  } else if(strNick.indexOf(' ') >= 0){
    alert("공백이 들어간 닉네임은 사용할 수 없습니다.");
    $("#nickname").val("");
    return;
  }
  strNick = encodeURIComponent(strNick);
  var tmp = $.ajax({
      type: "GET",
      url: "/user/checknick/",
      data: "nickname=" + strNick,
      async: false      
  }).responseText
  if(tmp == 'T'){
      alert("사용 가능한 닉네임 입니다.");
  } else if( tmp == "F") {
      alert("이미 사용중인 닉네임 입니다. 다른 닉네임을 사용하세요");
      $("#nickname").val("");
  } else {
    alert("사용할 수 없는 닉네임 입니다. 다른 닉네임을 사용하세요");
    $("#nickname").val("");
  }
  $("#nicknameflag").val(tmp);
}

function getEmail(){
    var strEmail= "";
    if($("#email3 > option:selected").text() == "선택하세요"){
//        alert("email을 선택 해 주세요.");
//        f.email3.focus();
        return;
    } else if($("#email3 > option:selected").text() == "직접입력"){
        if ($("#email2").val() == ""){
//            alert("email을 입력 해 주세요.");
//            f.email2.focus();
            return;
        } else {
            strEmail = $("#email1").val() + "@" +$("#email2").val();
        }
    } else {
        strEmail = $("#email1").val() + "@" + $("#email3 > option:selected").text();
    }
    return strEmail;
}
function check_submit(f){
    var strEmail= getEmail();

    if ( strEmail == ""){
        alert("email을 입력 해 주세요");
        f.email1.focus();
        return;
    }
    if ( isValidEmail(strEmail) == false){
        alert("email 주소가 올바르지 않습니다.");
        f.email1.focus();
        return;
    }
    if ( f.emailflag.value == "F"){
        alert("email 중복 검사를 통과하지 못했습니다. 중복 체크를 해 주세요.");
        f.email1.focus();
        return;
    }
    if ( f.nicknameflag.value == "F"){
        alert("닉네임 중복 검사를 통과하지 못했습니다. 중복 체크를 해 주세요.");
        f.nickname.focus();
        return;
    }
    
    strNick = $("#nickname").val();
    
    if( strNick == "" ){
        alert("닉네임을 입력해주세요");
        return;
    } else if(strNick.indexOf(' ') >= 0){
      alert("공백이 들어간 닉네임은 사용할 수 없습니다.");
      $("#nickname").val("");
      return;
    }
    strNick = encodeURIComponent(strNick);
    //strNick = Base64.encode(strNick);
    var tmp = $.ajax({
      type: "GET",
      url: "/user/checknick/",
      data: "nickname=" + strNick,
      async: false      
    }).responseText;
    if (tmp != 'T'){
        alert("닉네임이 올바르지 않습니다.");
        f.nickname.focus();
        return;
    }
    
    if ( f.name.value == ""){
        alert("이름을 입력 해 주세요");
        f.name.focus();
        return;
    }
    if ( f.nickname.value == ""){
        alert("닉네임 입력 해 주세요");
        f.name.focus();
        return;
    }
    if ( f.phone1.value == "" || f.phone2.value == "" || f.phone2.value == ""){
        alert("전화번호를 입력 해 주세요");
        f.name.focus();
        return;
    }
    fc_chk_byte(f.name,20)
    if ( f.password1.value == ""){
        alert("비밀번호를 입력 해 주세요");
        f.password1.focus();
        return;
    }
    if ( f.password1.value.length < 4){
        alert("비밀번호는 4자리 이상 이어야 합니다.");
        f.password1.focus();
        return;
    }
    if ( f.password2.value == ""){
        alert("비밀번호 확인을 입력 해 주세요");
        f.password2.focus();
        return;
    }
    if (f.password1.value != f.password2.value){
        alert("입력하신 두개의 비밀번호가 일치하지 않습니다.");
        f.password1.focus();
        return;
    }
    if ( f.agree1.checked != true){
        alert("이용약관및 개인정보취급방침에 동의 하셔야 합니다.");
        return;
    }
    if (f.flag14.value == 'down'){
        f.pname.value = $("#parents_name").val();
        f.pemail.value = $("#parents_email").val();
      if ( f.pname.value == ""){
          alert("부모님 성함을 입력해 주세요");
          f.pname.focus();
          return;
      }
      if ( f.pemail.value == "" || isValidEmail(f.pemail.value) == false){
          alert("부모님 email을 입력해 주세요");
          f.pname.focus();
          return;
      }
    }
    f.action = '/user/join';
    f.submit();
}

function isValidEmail(str){
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return (!isEmpty(str) && (str.search(format) != -1) ? true : false);
}
function isEmpty(a){
    if (a == null || a == '' ) return true;
    return false;
}
function fc_chk_byte(aro_name,ari_max)
{
    if(!aro_name.value){
        return;
    }
   var ls_str = aro_name.value; // 이벤트가 일어난 컨트롤의 value 값
   var li_str_len = ls_str.length; // 전체길이

   var li_max = ari_max; // 제한할 글자수 크기
   var i = 0; // for문에 사용
   var li_byte = 0; // 한글일경우는 2 그밗에는 1을 더함
   var li_len = 0; // substring하기 위해서 사용
   var ls_one_char = ""; // 한글자씩 검사한다
   var ls_str2 = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

   for(i=0; i< li_str_len; i++) {
      // 한글자추출
      ls_one_char = ls_str.charAt(i);

      if (escape(ls_one_char).length > 4) { // 한글이면 2를 더한다.
         li_byte += 2;
      } else { // 그밗의 경우는 1을 더한다.
         li_byte++;
      }
      
      if(li_byte <= li_max) { // 전체 크기가 li_max를 넘지않으면
         li_len = i + 1;
      }
   }

   if(li_byte > li_max) { // 전체길이를 초과하면
      alert("한글5자, 영문 10자를 초과 할 수 없습니다.\n 초과된 내용은 자동으로 삭제 됩니다. ");
      ls_str2 = ls_str.substr(0, li_len);
      aro_name.value = ls_str2;
      aro_name.focus(); 
      return true
   } else {
       return false
   }
}

function setPng24(obj){
    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='about:blank;';
    return '';
}

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            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 +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._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);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
function onlyNum(evt){
   e = (evt)?evt:window.event;
   //숫자열 0 ~ 9 : 48 ~ 57, 키패드 0 ~ 9 : 96 ~ 105 ,8 : backspace, 46 : delete -->키코드값을 구분합니다. 저것들이 숫자랍니다.
   if(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 46 || e.keyCode == 9){
       return; //-->입력시킨다.
   }else{ //숫자가 아니면 넣을수 없다.
       e.returnValue = false;
       e.preventDefault();
       e.stopPropagation();
    }
}
function clickInputKey(){
    if ($(".input_key").val() == "인증코드"){
      $(".input_key").val("");
    }
}
function SetCookie(cookieName,cookieVal){
  str='';
  date=new Date();
  date.setDate(date.getDate()+10);
  document.cookie=cookieName+'='+escape(cookieVal)+'; expires='+date.toGMTString();
  //str+=cookieName+' 쿠키 생성 완료<BR>';
}

function GetCookie(cookieName){
  str='';
  allCookies=document.cookie.split('; ');  // cookies are separated by semicolons
  for (i=0;i<allCookies.length;i++){
    cookieArray=allCookies[i].split('='); // a name/value pair (a crumb) is separated by an equal sign
    if (cookieName==cookieArray[0]) str+=unescape(allCookies[i]+'<BR>');
  }
  return str;
}

function DelCookie(name){
   document.cookie=name+'= ; expires= ;';
}

function openPop(layerName ) {
    $("#"+layerName).dialog("open");

    $("#email").val("");
    $("#email").focus();

    SetCookie( 'test', 'none');
    if ( GetCookie( 'test' ) )
    {
      DelCookie('test');
    }
    else
    {
      alert("브라우저가 쿠키를 사용하지 못하도록 설정되어 있습니다.\n\nPiczza를 정상적으로 사용하기 위해서 설정변경을 추천합니다.\n\n자세한 사항은 http://piczza.tistory.com/60 에서 확인세요.");
    }
}

  function login_submit(){
    var userEmail = $("#email").val();
    var userPwd = $("#pw").val();
    var memoryid = $("#memory_id").attr("checked");
    var memorypw = $("#memory_pw").attr("checked");
    
    if ( userEmail == ""){
      alert("email을 입력 해 주세요");
      return;
    }
    if ( isValidEmail(userEmail) == false){
      alert("email 주소가 올바르지 않습니다.");
      return;
    }
    if ( userPwd == ""){
      alert("비밀번호를 입력 해 주세요");
      return;
    }

    var tmp = $.ajax({
        type: "GET",
        url: "/user/login_check/",
        data: "email=" + userEmail + "&pwd=" + userPwd,
        async: false
    }).responseText;
    if(tmp != 'T'){
        login_failed();
        return
    }

    tmp = $.ajax({
        type: "GET",
        url: "/user/login/",
        data: "email=" + userEmail + "&pwd=" + userPwd + "&memoryid=" + memoryid + "&memorypw=" + memorypw,
        async: false
    }).responseText;
    if(tmp != 'T'){
        alert("로그인 오류");
        return
    } else {
        window.parent.location.reload();
    }
    
  }
    function findpwd(){
    var userEmail = $("#email_for_pw").val();
    var userName = $("#name_for_pw").val();

    if ( userEmail == ""){
      alert("email을 입력 해 주세요");
      return;
    }
    if ( isValidEmail(userEmail) == false){
      alert("email 주소가 올바르지 않습니다.");
      return;
    }
    if ( userName == ""){
      alert("이름을 입력 해 주세요");
      return;
    }

    var tmp = $.ajax({
        type: "POST",
        url: "/user/sendpwd",
        data: "email=" + userEmail + "&name=" + userName,
        async: false
    }).responseText;
    if(tmp == 'T'){
        alert("암호찾기 메일을 발송 했습니다.");
    } else {
        alert(tmp);
    }
  }
  function check_key(e){
    if (e.keyCode == 13){
      if (document.f.email.value != "" && document.f.pw.value != ""){
        login_submit();
      }
    }
  }
  
  function login_failed() {
        $("#img_login_title").attr("src", "/images/user/title_login_failed.png");
        $("#img_login_main").attr("src", "/images/user/login_contents3.png");
        $("#pw").val("");
      }
