//document_root 변수는 index.html 과 header.html 에 있다
//회원 로그인 체크
//메인 로그인과 같이 써볼까 함.
function chkMemberLogin(form_nm) {
    var f = form_nm;
    
    if(!f.id.value) {
        alert('아이디를 입력해 주세요');
        f.id.focus();
        return false;
    }
    
    if(!f.password.value) {
        alert('비밀번호를 입력해 주세요.');
        f.password.focus();
        return false;
    }
    
    //ajax로 회원 정보를 체크 한다.
    login_request(f);
}

//ajax Request 처리 함수
function login_request(form_nm) {
    var f = form_nm;
    var url = f.action;
    if(f.idsave == undefined || f.idsave.checked == false) {
        var pars = {
            'id' : f.id.value ,
            'password' : f.password.value , 
            'exp_flag' : f.exp_flag.value
        };
    } else {
        var pars = {
            'id': f.id.value,
            'password': f.password.value,
            'exp_flag': f.exp_flag.value,
            'idsave': "Y"
        };
    }
    new Ajax.Request(
        url, {
            method: 'post' , 
            parameters: pars ,
            onComplete: loginAjaxChk
        }
    );
}
//login_request함수의 Request 백콜 함수
function loginAjaxChk(req) {
    var flag = req.responseText;
    //로그인이 정상적으로 처리 되었을때는 flag값에 loginform2의 action 주소를 받고
    //정상적이지 않을때는 flag 값으로 어떤 에러인지 체크를 한다.
    if(flag == 'passwordfail') {
        parent.document.loginform.password.value='';
        parent.document.loginform.password.focus();
        alert('비밀번호가 틀립니다. 다시 입력해주세요.\n\n현재 접속IP는 '+parent.document.loginform2.cli_ip.value+' 입니다.\n계속해서 실패시 관리자에게 통보되므로 확인후 입력하세요.  ');
        parent.location.href = document_root+'/login/login.html';
    } else if(flag == 'passwordfail2') {
        parent.document.loginform.password.value=''; 
        parent.document.loginform.password.focus();
        alert('비밀번호의 경우 대소문자를 구분합니다. 대소문자를 정확하게 다시 입력해주세요.');
        parent.location.href = document_root+'/login/login.html';
    } else if(flag == 'notid') {
        parent.document.loginform.password.value=''; 
        parent.document.loginform.id.select();
        alert('['+parent.document.loginform.id.value+'] 상점ID가 없습니다.');
        parent.location.href = document_root+'/login/login.html';
    } else if(flag == 'withdrawal') {
        alert('['+parent.document.loginform.id.value+'] 탈퇴된 아이디 입니다.');
        parent.document.loginform.id.value = '';
        parent.document.loginform.password.value=''; 
        parent.document.loginform.id.select();
        //parent.location.href = document_root+'/login/login.html';
    } else if(flag == 'serviceEnd') {
        parent.document.loginform.password.value = '';
        parent.document.loginform.password.focus();
        alert('서비스 기간이 만료되었습니다.\n비용을 납부하셔야 계속 사용가능합니다.');
        parent.money_info();
        //parent.location.href = document_root+'/login/login.html';
    } else {
        parent.document.loginform2.id.value=parent.document.loginform.id.value;
        parent.document.loginform2.passwd.value=parent.document.loginform.password.value;
        parent.document.loginform2.exp_flag.value=parent.document.loginform.exp_flag.value;
        parent.document.loginform2.action = flag;
        parent.document.loginform2.submit();
    }
}

//체험하기 로그인
function exp_login_request(form_nm) {
    var f = form_nm;
    var url = f.action;
    
    var pars = {
        'service_flag' : f.service_flag.value
    };
    
    new Ajax.Request(
        url, {
            method: 'post' , 
            parameters: pars ,
            onComplete: exp_loginAjaxChk
        }
    );
}

function exp_loginAjaxChk(req) {
    var flag = req.responseText;
    var arr_data = flag.split('|');
    parent.document.loginform.id.value=arr_data[0];
    parent.document.loginform.password.value=arr_data[1];
    parent.document.loginform.exp_flag.value=arr_data[2];
    chkMemberLogin(document.loginform);
}

//비회원 로그인 체크
function chkGuestLogin(form_nm) {
    var f = form_nm;
    
    if(!f.email.value) {
        alert('이메일 주소를 입력해 주세요.');
        f.email.focus();
        return false;
    }
    if(!checkEmail1to1bbs(f.email.value)) {
        alert('올바른 이메일 주소로 입력해 주세요.');
        f.email.select();
        return false;
    }
    if(!f.passwd.value) {
        alert('비밀번호를 입력해 주세요.');
        f.passwd.focus();
        return false;
    }
    f.submit();
}

//이메일 체크
function checkEmail1to1bbs(str) {               
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if (filter.test(str)) { return true; }
    else { return false; }
}
function checkNumber(num) {
    var num = num;
    var err = 0;
    
    for (var i=0; i<num.length; i++)  { 
        var chk = num.substring(i,i+1); 
        if(!chk.match(/[0-9]/)) { 
            err = err + 1; 
        } 
    } 
    return err;
}

//1TO1 본문 작성, 수정 체크
function chkWrite(flag) {
    var f = flag;
    
    if(!f.subject.value) {
        alert('제목을 입력해 주세요.');
        f.subject.focus();
        return false;
    }
    
    if(!f.support_type.value) {
        alert('문의유형을 선택해 주세요.');
        f.support_type.focus();
        return false;
    }
    if(!f.phone1.value || checkNumber(f.phone1.value) > 0) {
        alert("연락처를 올바르게 입력해주세요"); 
        f.phone1.value = "";
        f.phone1.select();
        return false;
    }
    if(!f.phone2.value || checkNumber(f.phone2.value) > 0) {
        alert("연락처를 올바르게 입력해주세요"); 
        f.phone2.value = "";
        f.phone2.select();
        return false;
    }
    if(!f.phone3.value || checkNumber(f.phone3.value) > 0) {
        alert("연락처를 올바르게 입력해주세요"); 
        f.phone3.value = "";
        f.phone3.select();
        return false;
    }
    
    if(!f.email.type != 'hidden') {
        if(!f.email.value) {
            alert('이메일 주소를 입력해 주세요.');
            f.email.focus();
            return false;
        }
        
        if(!checkEmail1to1bbs(f.email.value)) {
            alert('올바를 이메일 주소로 입력해 주세요.');
            f.email.select();
            return false;
        }
    }
    if(!f.q_contents.value) {
        alert('내용을 입력해 주세요.');
        f.q_contents.focus();
        return false;
    }
    f.submit();
}

//1to10게시판 게시글 번호를 POST 방식으로 넘기고 링크에 따른 페이지값을 받는다.
//no : 글번호, act : html 파일명
function NumberNext(no,act) {
    document.form.no.value = no;
    document.form.action = act+".html";
    document.form.submit();
}

function money_info() {
    window.open("https://www.makeshop.co.kr/main/prmoney/index.html","","width=450,height=520,scrollbars=no,status=yes");
}

function warningmsg()
{
    if (document.loginform.idsave.checked == true){
        alert("아이디 저장할 때 이런 점을 주의하세요!\n\n학교, 학원, PC방 처럼 컴퓨터를 공동으로 사용하는 환경에서는\n타인에게 정보가 공개될 수 있으므로 ID저장을 설정하지 않는 것이\n좋습니다.");
    }
}

//플래쉬 관련 스크립트
function MS_Flash(fid,src,wid,hei,fvs,wmd) { 
    this.fPrint = ''; 
    this.Id = document.getElementById(fid); 
    this.Src = src; 
    this.Width = wid; 
    this.Height = hei; 
    this.FlashVars = ( typeof fvs != 'undefined')? fvs :''; 
    this.Wmod = ( typeof wmd != 'undefined')? wmd :''; 
    if(isObject(Id)) { 
        fPrint = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'; 
        fPrint += ' width="'+Width+'"'; 
        fPrint += ' height="'+Height+'">'; 
        fPrint += '<param name="wmode" value="opaque">'; 
        fPrint += '<param name="movie" value="'+Src+'">'; 
        fPrint += '<param name="quality" value="high">'; 
        fPrint += '<param name="AllowScriptAccess" value="always" />';
        fPrint += (FlashVars != null) ? '<param name="FlashVars" value="'+FlashVars+'">' : ''; 
        fPrint += (Wmod != null) ? '<param name="wmode" value="'+Wmod+'">' : ''; 
        fPrint += '<embed'; 
        fPrint += ' src="'+Src+'"'; 
        fPrint += (FlashVars != null) ? ' FlashVars="'+FlashVars+'"' : ''; 
        fPrint += (Wmod != null) ? ' wmode="'+Wmod+'"' : ''; 
        fPrint += ' quality="high"'; 
        fPrint += ' pluginspage="http://www.macromedia.com/go/getflashplayer"'; 
        fPrint += ' type="application/x-shockwave-flash"'; 
        fPrint += ' width="'+Width+'"'; 
        fPrint += ' height="'+Height+'"'; 
        fPrint += ' AllowScriptAccess="always"></embed>'; 
        fPrint += '</object>'; 
        Id.innerHTML = fPrint; 
    } 
} 

function isObject(a) {
    return (a && typeof a == 'object');
}

function MS_Embed() 
{ 
    var obj = new String; 
    var parameter = new String; 
    var embed = new String; 
    var html = new String; 
    var allParameter = new String; 
    var clsid = new String; 
    var codebase = new String; 
    var pluginspace = new String; 
    var embedType = new String; 
    var src = new String; 
    var width = new String; 
    var height = new String; 


    this.init = function( s ,w , h, getType ) { 
        getType = (getType != undefined)? getType :'flash'; 
        if ( getType == "flash") 
        { 

            clsid = "D27CDB6E-AE6D-11cf-96B8-444553540000";        
            codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"; 
            pluginspage = "http://www.macromedia.com/go/getflashplayer"; 
            embedType = "application/x-shockwave-flash"; 
        } 
        /* type 추가 
           else if ( ) 
           { 
           } 
         */ 

        parameter += "<param name='movie' value='"+ s + "'>\n";  
        parameter += "<param name='quality' value='high'>\n";    
        parameter += "<param name='AllowScriptAccess' value='always' />\n";    

        src = s; 
        width = w; 
        height = h; 
    } 

    this.parameter = function( parm , value ) {      
        parameter += "<param name='"+parm +"' value='"+ value + "'>\n";        
        allParameter += " "+parm + "='"+ value+"'"; 
    }  

    this.show = function() { 
        if ( clsid ) 
        { 
            obj = "<object classid=\"clsid:"+ clsid +"\" codebase=\""+ codebase +"\" width='"+ width +"' height='"+ height +"'>\n"; 
        } 

        embed = "<embed src='" + src + "' pluginspage='"+ pluginspage + "' type='"+ embedType + "' width='"+ width + "' height='"+ height +"'"+ allParameter +" AllowScriptAccess='always'></embed>\n"; 

        if ( obj ) 
        { 
            embed += "</object>\n"; 
        } 

        html = obj + parameter + embed; 

        document.write( html );  
    } 

} 

function activemovie(str, wid, hei) {
    document.write(" <object src='"+str+"' width='"+wid+"' height='"+hei+"'></object>")
}

function inner_html_err_write(msg, oj_nm) {
    if(msg != '') {
        var err_img = "<img src=\"../images/error_bar_1.gif\" align=\"absmiddle\">";
        var err_font1 = "<font style=\"vertical-align:-3px;\">";
        var err_font2 = "</font>";
        var err_msg = err_img + err_font1 + msg + err_font2;
    } else {
        var err_msg = '';
    }
    
    $("err_"+oj_nm).innerHTML = err_msg;
}

function inner_html_success_write(msg, oj_nm) {
    if(msg != '') {
        var suc_img = "<img src=\"../images/success_bar_1.gif\" align=\"absmiddle\">";
        var suc_font1 = "<font style=\"vertical-align:-3px;\" color=\"#48931b\">";
        var suc_font2 = "</font>";
        var suc_msg = suc_img + suc_font1 + msg + suc_font2;
    } else {
        var suc_msg = '';
    }
    
    $("err_"+oj_nm).innerHTML = suc_msg;
}

//회원가입
function memJoin() {
    //회원가입 폼이름
    //파이어폭스에서 이런식으로 써도됨
    var f = document.frm;
    
    //name check
    if($F("name").length < 2 || $F("name").length > 40) {
        inner_html_err_write("신청인 이름은 반드시 입력해야 하는 항목입니다.(2~40자이내)","name");
        $("name").select();
        return false;
    } else {
        inner_html_err_write("","name");
    } 

    //email check 
    if($F("email").length > 0) {
        var emailPattern = /[-!#$%&'*+/^_~{}|0-9a-zA-Z]+(.[-!#$%&'*+/^_~{}|0-9a-zA-Z]+)*@[-!#$%&'*+/^_~{}|0-9a-zA-Z]+(.[-!#$%&'*+/^_~{}|0-9a-zA-Z]+)*/ ;
        var email  = document.frm.email.value; 
        var result = email.match(emailPattern) ; 
        if(result == null){
            inner_html_err_write("입력하신 E-Mail 주소(user@example.com)는 유효하지 않은 형식입니다.","email");
            $("email").select();
            return false;
        } else {
            inner_html_err_write("","email");
        }
    } else {
        inner_html_err_write("E-Mail은 반드시 입력해야 하는 항목입니다.","email");
        $("email").select();
        return false;
    }
    
    //phone_number check
    if($F("phone_number").length > 0) {
        var phone_pattern = /^\d{2,3}-\d{3,4}-\d{4}$/;
        if (false == phone_pattern.test($F("phone_number"))) {
            inner_html_err_write("입력하신 전화번호(" + $F("phone_number") + ")는 유효하지 않은 형식입니다. 지역번호를 포함한 10~12자리의 숫자가 포함되어 있어야 합니다.","phone_number");
            $("phone_number").select();
            return false; 
        } else {
            inner_html_err_write("","phone_number");
        }
    } else {
        inner_html_err_write("전화번호는 반드시 입력해야 하는 항목입니다.","phone_number");
        $("phone_number").select();
        return false;
    }

    //cellular_phone check
    var cell_pattern = /^(010|011|016|017|018|019)-\d{3,4}-\d{4}$/;
    if($F("cellular_phone").length > 0) {
        if (false == cell_pattern.test($F("cellular_phone"))) {
            inner_html_err_write("입력하신 전화번호(" + $F("cellular_phone") + ")는 유효하지 않은 형식입니다. 올바른 핸드폰 번호를 입력해 주세요.","cellular_phone");
            $("cellular_phone").select();
            return false; 
        } else {
            inner_html_err_write("","cellular_phone");
        }
    } else {
        inner_html_err_write("핸드폰번호는 반드시 입력해야 하는 항목입니다.","cellular_phone");
        $("cellular_phone").select();
        return false;
    }
    
    //login id check
    var id_pattern = /^[0-9A-Z]{4,10}$/i;
    if (f.id.value.length == 0) {
        inner_html_err_write("아이디를 입력하세요.","id");
        f.id.select();
        return false;
    } else {
        inner_html_err_write("","id");
    } 
    if(false == id_pattern.test(f.id.value)) {
        inner_html_err_write("회원아이디는 영문숫자로만 4자에서 10자 까지 입니다.","id");
        f.id.select();
        return false;
    } else {
        inner_html_err_write("","id");
    }
    if ($F('id_duplicate_check') == 'N') {
        inner_html_err_write("중복된 아이디 입니다. 다른아이디를 입력해 주세요.","id");
        f.id.select();
        return false;
    } else {
        inner_html_success_write("","id");
    }
    if (f.passwd.value.length == 0) {
        inner_html_err_write("비밀번호를 입력하세요.","passwd");
        f.passwd.focus();
        return false;
    } else {
        inner_html_err_write("","passwd");
    }
    if (f.passwd2.value.length == 0) {
        inner_html_err_write("비밀번호를 재입력하세요.","passwd2");
        f.passwd2.focus();
        return false;
    } else {
        inner_html_err_write("","passwd2");
    }
    if (f.passwd.value != f.passwd2.value) {
        inner_html_err_write("비밀번호가 일치하지 않습니다. 확인해 주세요.","passwd2");
        f.passwd2.select();
        return false;
    } else {
        inner_html_err_write("","passwd2");
    }
    if (f.type_business_id.value.length == 0) {
        inner_html_err_write("업종을 선택해 주세요.","type_business_id");
        f.type_business_id.focus();
        return false;
    } else {
        inner_html_err_write("","type_business_id");
    }
    
    if (f.coupon_number.value != '' && (f.coupon_number.value.length < 6 || f.coupon_number.value.length > 10)) {
        inner_html_err_write("쿠폰번호를 정확하게 입력해 주세요.","coupon_number");
        f.coupon_number.focus();
        return false;
    } else {
        inner_html_err_write("","coupon_number");
    }
    $("frm").submit();
}
function chkIdDuplicate(obj) {
    new Ajax.Updater("err_id", "id_duplicate_check.html?id=" + obj.value, {evalScripts:true, method:"get"});
}
function chkPasswd(obj) {
    var f = document.frm;
    
    f.passwd2.value = "";
    inner_html_err_write("","passwd2");
    
    if(obj.value.length == 0) {
        inner_html_err_write("비밀번호가 없습니다.","passwd");
        return false;
    } 
    if(obj.value.length >= 4 && obj.value.length <= 12) {
        inner_html_success_write("비밀번호의 길이가 적당합니다.","passwd");
        return true;
    }
    if(obj.value.length < 4) {
        inner_html_err_write("비밀번호의 길이가 너무 짧습니다.(4자 이상)","passwd");
        return false;
    }
    if(obj.value.length > 12) {
        inner_html_err_write("비밀번호의 길이가 너무 깁니다.(12자 이하)","passwd");
        return false;
    } 
}
function chkPasswd2(obj) {
    //폼네임
    var f = document.frm;
    
    if(obj.value == "") {
     inner_html_err_write("","passwd2");
        return false;   
    }
    
    if(f.passwd.value != obj.value) {
        inner_html_err_write("비밀번호가 일치하지 않습니다.","passwd2");
        return false;
    }
    if(f.passwd.value == obj.value) {
        inner_html_success_write("올바르게 비밀번호가 확인되었습니다.","passwd2");
        return true;
    }
}
function chkForm1() {
    if(document.frm1.email.value.length == 0) {
        alert('이메일 주소를 입력해 주세요.');
        document.frm1.email.focus();
        return false;
    }
    if(!checkEmail1to1bbs(document.frm1.email.value)) {
        alert('올바를 이메일 주소로 입력해 주세요.');
        document.frm1.email.select();
        return false;
    }
    
    search_request(document.frm1,'1');
    return false;
}
function chkForm2() {
    if(document.frm2.user_id.value.length == 0) {
        alert('아이디를 입력해 주세요.');
        document.frm2.user_id.focus();
        return false;
    }
    if(document.frm2.email.value.length == 0) {
        alert('이메일 주소를 입력해 주세요.');
        document.frm2.email.focus();
        return false;
    }
    if(!checkEmail1to1bbs(document.frm2.email.value)) {
        alert('올바를 이메일 주소로 입력해 주세요.');
        document.frm2.email.select();
        return false;
    }
    
    search_request(document.frm2,'2');
    return false;
}
function chkForm() {
    if(document.frm.id.value.length == 0) {
        alert('아이디를 입력해 주세요.');
        document.frm.id.focus();
        return false;
    }
    if(document.frm.email.value.length == 0) {
        alert('이메일 주소를 입력해 주세요.');
        document.frm.email.focus();
        return false;
    }
    if(!checkEmail1to1bbs(document.frm.email.value)) {
        alert('올바를 이메일 주소로 입력해 주세요.');
        document.frm.email.select();
        return false;
    }
    if(document.frm.passwd.value.length == 0) {
        alert('새로운 비밀번호를 입력해 주세요.');
        document.frm.passwd.focus();
        return false;
    }
    if(document.frm.passwd_confirm.value.length == 0) {
        alert('비밀번호 재확인을 입력해 주세요.');
        document.frm.passwd_confirm.focus();
        return false;
    }
    if(document.frm.passwd.value != document.frm.passwd_confirm.value) {
        alert('비밀번호가 틀립니다. 다시한번 입력해주세요.');
        document.frm.passwd.select();
        return false;
    }
    
    search_request(document.frm,'3');
    return false;
}
function search_request(form_nm,flag) {
    var f = form_nm;
    var url = f.action;
    if(flag == 1) {
        var pars = {
            'email' : f.email.value
        };
    } else if(flag == 2) {
        var pars = {
            'user_id' : f.user_id.value, 
            'email' : f.email.value
        };
    }
    else if(flag == 3) {
        var pars = {
            'id' : f.id.value, 
            'email' : f.email.value, 
            'passwd' : f.passwd.value, 
            'passwd_confirm' : f.passwd_confirm.value, 
            'auth_key' : f.auth_key.value
        };
    }
        
    new Ajax.Request(
        url, {
            method: 'post' , 
            parameters: pars ,
            onComplete: searchAjaxChk
        }
    );
}

//search_request함수의 Request 백콜 함수
function searchAjaxChk(req) {
    var flag = req.responseText;
    
    if(flag == 'mailsuccess') {
        alert('해당 메일로 아이디가 발송 되었습니다.');
    } else if(flag == 'notemail') {
        alert('해당하는 이메일이 존재하지 않습니다.');
    } else if(flag == 'locationfail') {
        alert('잘못된 접근입니다.');
    } else if(flag == 'notid') {
        alert('해당하는 아이디가 존재하지 않습니다.');
    } else if(flag == 'idsuccessbutnotemail') {
        alert('이메일정보가 일치하지 않습니다. 이메일 주소를 확인하여 주십시오.');
    } else if(flag == 'changepasswordfail') {
        alert('패스워드 초기화 처리중 오류가 발생했습니다. 관리자에게 문의하여 주시기 바랍니다.');
    } else if(flag == 'changepasswordsuccess') {
        alert('해당 메일로 비밀번호 초기화 메일이 발송 되었습니다.');
    } else if(flag == 'changenotid') {                                        //여기부터 비번 초기화페이지에서 넘어오는 값
        alert('해당하는 아이디가 존재하지 않습니다.');
    } else if(flag == 'changefail') {
        alert('이미 변경하였거나 변경할 데이터가 없습니다.');
    } else if(flag == 'changesuccess') {
        alert('정상적으로 비밀번호가 변경 되었습니다.');
        location.href = document_root+'/login/login.html';
    }
}
//제휴문의
function sendform() {
    if (document.form1.company.value.length==0) {
        document.form1.company.focus();
        alert('회사명을 입력하세요.');return;
    }
    if (document.form1.manager_hname.value.length==0) {
        document.form1.manager_hname.focus();
        alert('담당자 이름을 입력하세요.');return;
    }
    if (document.form1.email.value.length==0) {
        document.form1.email.focus();
        alert('이메일을 입력하세요.');return;
    }
    if (document.form1.manager_tel.value.length==0) {
        document.form1.manager_tel.focus();
        alert('전화를 입력하세요.');return;
    }
    if (document.form1.manager_phone.value.length==0) {
        document.form1.manager_phone.focus();
        alert('핸드폰을 입력하세요.');return;
    }
    if (document.form1.content.value.length==0) {
        document.form1.content.focus();
        alert('제휴및 상품공급 내용을 입력하세요.');return;
    }
    document.form1.submit();
}

// 왼쪽배너 스크롤바 따라다니게...
function fixLeftBanner(e) {
    fixRightBanner(e, 'left_banner');
}

// 오른쪽배너 스크롤바 따라다니는 함수
function fixRightBanner(e, obj_id) {
    if (obj_id) {
        var obj = $(obj_id);
    } else {
        var obj = $('right_banner');
    }
    var tmp = $('top_wrap').cumulativeScrollOffset();
    var gap = 72;
    var limit = 50;
    obj.style.top = tmp[1] + gap + 'px';
}

function fitBanner(e) {
    var dim = $('sub_nav').getDimensions();
    var pos = $('sub_nav').cumulativeOffset();
    var r = $('right_banner');
    var l = $('left_banner');
    if (e.type == 'load') {
        r.style.top = pos.top + 'px';
        l.style.top = pos.top + 'px';
    }
    r.style.left = pos.left + dim.width + 5 + 'px';
    l.style.left = pos.left - 110 + 'px';
    r.style.display = 'block';
    l.style.display = 'block';
}
