﻿// JScript 파일
//////////////////get, set, init lib/////////////////////
function initSelect(id, title, getList, onCancel, cols, nextSelect, defaultVal, x)
{
    if (!$(id)) return;
    var onClickFunc = null;
    $(id).title = title;
    if (typeof(getList) == "function") {$(id).getListFunc = getList; onClickFunc = onSelectClick;}
    else  { $(id).getListURL = getList; onClickFunc = onSelectClick2; }
    $(id).cols = (cols) ? cols : 1;
    $(id).onCancel = (onCancel) ? true : false;
    $(id).nextSelect = null;
    if (nextSelect && $(nextSelect)) { $(id).nextSelect = nextSelect; $(nextSelect).beforeSelect = id; }
    if (typeof(defaultVal) != "string") defaultVal = '';
    if (typeof(x) != "number") x=0;
    addSelectBox(id, 'Searchlist', title, '', defaultVal, onClickFunc, onSelectSelected, onSelectCanceled, x, 0, false, false, null, true, (onCancel) ? true : false);
}
function onSelectClick(id)
{
    if ($(id).beforeSelect) {if (getSelectBoxValue($(id).beforeSelect).length < 1) return;}
    displaySelectListArray(id, $(id).cols, $(id).getListFunc());
}
function onSelectClick2(id)
{
    if ($(id).beforeSelect) {if (getSelectBoxValue($(id).beforeSelect).length < 1) return;}
    //alert(eval($(id).getListURL));
    new Ajax(eval($(id).getListURL), { onSuccess:function(ajax){displaySelectList(id,$(id).cols,ajax.getResponseXML());}, onError:function(ajax){ alert('죄송합니다.\n잠시후에 다시 해주세요.'); }});
}
function onSelectCanceled(id) {if ($(id).onCancel) resetSelectBox(id); if ($(id).nextSelect) onSelectCanceled($(id).nextSelect);}
function onSelectSelected(id) {var nextSelect = $(id).nextSelect; if (nextSelect) {onSelectCanceled(nextSelect); callBeforeClick(nextSelect);}}

function getInnerVal(id) {if ($('spn'+id)) return $('spn'+id).innerHTML; return '';}
function getCodeVal(id) {if ($('spn'+id)) return $('spn'+id).title; return '';}
function getTextVal(id) {if ($('txt'+id)) return trim($('txt'+id).value); return '';}
function getTextNum(id) {if ($('txt'+id)) return trim($('txt'+id).value.replace(/,/g,'')); return '';}
function getCheckVal(id, trueVal, falseVal) {if ($('chk'+id)) return ($('chk'+id).checked) ? trueVal : falseVal; return '';}
function getSelectVal(id) {if ($('div'+id)) return getSelectBoxValue('div' + id); return '';}
function getSelVal(id) {if ($(id)) return getSelectBoxValue(id); return '';}
function getRadioVal(id) {if ($('radio'+id)) return getRadioValue('radio'+id); return '';}
function getChecksVal(id)
{
    var checks = $('chk'+id).getElementsByTagName("INPUT"); var ret = "";
    for (var i=0; i<checks.length; i++) { if (checks[i].checked) ret += checks[i].id.substring(3+id.length) + "$"; }
    return ret;
}

function setCodeVal(id) {if ($('spn'+id)) $('txt'+id).value = $('spn'+id).title;}
function setTextVal(id) {if ($('spn'+id)) $('txt'+id).value = $('spn'+id).innerHTML;}
function setTextAVal(id) {if ($('spn'+id)) $('txt'+id).value = $('spn'+id).innerHTML.replace(/<br>/ig, "\n");}
function setCheckVal(id) {if ($('spn'+id)) $('chk'+id).checked = true;}
function setSelectVal(id) {var spn =$('spn'+id); if (spn) setSelectBoxValue('div'+id, spn.innerHTML, spn.title); }
function setRadioVal(id) {if ($('spn'+id)) setRadioValue('radio'+id, $('spn'+id).title);}
function setChecksVal(id) 
{
    var types = $('spn'+id).getElementsByTagName("SPAN");
    for (var i=0; i<types.length; i++) $('chk'+ id + types[i].title).checked =true;
}

//function setTextJson(obj, row, id) { if($('txt'+id)) $('txt'+id).value = obj[row][id]; }
//function setSelectJson(obj, row, id, id2) { $('txt'+id).value = obj[row][id]; }
function getValFromList(list,code) { if (list.length < 2) return ""; var ags=list.split("|"); for (var i=(ags.length-1); i>=0; i--) { var tmp = ags[i].split(":"); if (tmp[1]==code) return tmp[0]; } return ""; }
function setSelectValue(id,listfunc,code) {setSelectBoxValue('div'+id,getValFromList(listfunc(),code),code);}
//////////////////get, set, init lib/////////////////////
//////////////////etc.js////////////////
//function getFilePath(fileName) {var fn = fileName.split("(")[0].split("."); return "http://upload.surae.com/" + (fid?"forum/":"") + bid + "/tmb_" + fn[0] + ".jpg";}
function getFilePath(fileName) {var fn = fileName.split("(")[0].split("."); return "http://upload.surae.com/" + (fid?"forum/":"") + (bid=='all'? $('bid').value:bid) + "/" + fileName;}
function getQuery(argName) { if (window.location.search.length < 2) return ""; var ags=window.location.search.substring(1).split("&"); for (var i=(ags.length-1); i>=0; i--) { var tmp = ags[i].split("="); if (tmp[0]==argName) return tmp[1]; } return ""; }
function trim(str) { if(!str||str.length<1) return ""; return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); }
function getRadioValue(spanId) { var objs = $(spanId).getElementsByTagName("INPUT"); for (var i=0; i<objs.length; i++) { if (objs[i] && objs[i].checked == true) return objs[i].value; } }
function setRadioValue(spanId, val) { var objs = $(spanId).getElementsByTagName("INPUT"); for (var i=0; i<objs.length; i++) { if (objs[i] && objs[i].value == val) {objs[i].checked = true; break;} } }
function onAjaxErr(ajax) { alert("Ajax Error!!!"); }
function $RM(id) {if ($(id)) {var rp=$(id).parentNode; rp.removeChild($(id));}}
//function showLayer(o, x, y) { o.style.left = x + "px"; o.style.top = y + "px"; o.style.display = "block"; }
//function hideLayer(o) { o.innerHTML = ""; o.style.display = "none"; }
function expertAjax(act, etcquery, onfunc, method, content)
{
    if (!method) {method = 'get'; content = '';}
    var url = "/expert/ajax/ExpertAjax.aspx";
    var query = "?" + "act="+act+(bid?"&bid="+bid:"")+"&bno="+bno+(fid?"&fid="+fid:"")+etcquery;
    //var onfunction = (onfunc) ? onfunc : onExpertAjaxFunc;
    new Ajax(url+query, {method:method, content:content, onSuccess:function(ajax) { onfunc(ajax.getResponseText());}, onError:function(ajax) { onAjaxErr(ajax);} });
}
function onExpertAjaxAlert(retStr)
{
    var ret = trim(retStr);
    switch (ret) {
        case "-1000" : alert("권한이 없습니다." + ret); break;
        case "-1" : 
        case "-2" : 
        case "0"  : alert("시스템 에러입니다. 잠시 후 다시 시도하십시오."); break;
        default   : alert("정상처리되었습니다.");
    }
    return ret;
}
function getToday()
{
    var day = new Date();
    var mon = day.getMonth() + 1;
    var month = (mon < 10) ? "0" + mon : mon.toString();
    var date = (day.getDate() < 10) ? "0" + day.getDate() : day.getDate().toString();
    return day.getFullYear() + "." + month + "." +  date;
}
function setCookie( name, value, expires, path, domain, secure )
{
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name + "=" +escape( value ) +
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
        ( ( path ) ? ";path=" + path : "" ) +
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ( ( secure ) ? ";secure" : "" );
}
//////////////////etc.js////////////////
//////////////////validation.js////////////////
var previousValidatedId = "";
function initValidation(id)
{
    if (!$(id)) {alert(id+" 없습니다."); return false;}
    if ($(previousValidatedId)) $(previousValidatedId).style.backgroundColor = "white";
    previousValidatedId = id;
    return true;
}
function isRequired(id, fg, alertstr)
{
    switch (id.substring(0,3)) {
        case "txt" : return isRequiredText(id, fg, alertstr);
        case "div" : return isRequiredSelect(id, fg, alertstr);
        case "chk" : return isRequiredCheck(id, alertstr);
        default    : return isRequiredText(id, fg, alertstr);
    }
}
function isRequiredText(id, fg, alertstr)
{
    if (!initValidation(id)) return false;
    if (alertstr == null || alertstr.length < 1) alertstr = "입력 필수항목입니다.";
    if (trim($(id).value).length < 1) {
        if (!$(fg) || !$(fg).checked) {$(id).style.backgroundColor="yellow"; alert(alertstr); $(id).focus(); return false;}
    }
    $(id).style.background="";
    return true;
}
function isRequiredSelect(id, fg, alertstr)
{
    if (!initValidation(id)) return false;
    if (alertstr == null || alertstr.length < 1) alertstr = "선택 필수항목입니다.";
    if (getSelectBoxValue(id).length < 1) {
        if (!$(fg) || !$(fg).checked) {$(id).style.backgroundColor="yellow"; alert(alertstr); $(id).focus(); return false;}
    } 
    $(id).style.background="";
    return true;
}
function isRequiredCheck(id, alertstr)
{
    if (!initValidation(id)) return false;
    var checks = $(id).getElementsByTagName("INPUT");
    for (var i=0; i<checks.length; i++) {if (checks[i].checked) {$(id).style.backgroundColor=""; return true;}}
    if (alertstr == null || alertstr.length < 1) alertstr = "선택 필수항목입니다.";
    $(id).style.background="yellow";
    alert(alertstr);
    return false;
}
function isRequiredEditor(id, alertstr)
{
    if (!initValidation(id)) return false;
    var con = tinyMCE.get(id).getContent();
    if (con && con.length > 10) return true;
    if (alertstr) {alert(alertstr); return false;}
    alert('내용을 10자이상 입력하여 주시기 바랍니다.');
    return false;
}
function isNumber(id, n, alertstr)
{
    if (!initValidation(id)) return false;
    var str = trim($(id).value.replace(/,/g,''));
    if (str.length < 1) return true;
    var re = (n == null || n < 1) ? new RegExp("\\d\+") : new RegExp("\\d\{" + n + "\}");
    var ret = re.exec(str);
    if (alertstr == null || alertstr.length < 1) alertstr = ((n > 0) ? n+"자리 " : "") + "숫자를 입력하시기 바랍니다.";
    if (ret == null || ret[0].length != str.length) {$(id).style.backgroundColor="yellow"; alert(alertstr); $(id).focus(); return false;}
    $(id).style.backgroundColor="";
    return true;
}
function isMoreThanToday(id)
{
    if (!initValidation(id)) return false;
    if ($(id).value >= getToday()) return true;
    alert('현재 날짜보다 지났습니다. 다시 선택해 주세요.');
    $(id).style.backgroundColor="yellow"; $(id).focus();
    return false;
}
function isLessThan(id, id2)
{
    if (!initValidation(id)) return false;
    if (!$(id2)) {alert(id2+' 없습니다.'); return false;}
    if ($(id).value <= $(id2).value) return true;
    alert('시작일이 종료일보다 큽니다. 다시 선택해 주세요.');
    $(id).style.backgroundColor="yellow"; $(id).focus();
    return false;
}
function isLengthLessThan(id, len)
{
    if (!initValidation(id)) return false;
    if ($(id).value.length <= len) return true;
    alert(len + '자까지 입력가능합니다.');
    $(id).style.backgroundColor="yellow"; $(id).focus();
    return false;
}
function isAlphaNumeric(id)
{
    if (!initValidation(id)) return false;
    if ($(id).value.match(/[\w]+/) && $(id).value.length == $(id).value.match(/[\w]+/)[0].length) return true;
    alert("한글과 특수문자는 사용하실 수 없습니다.");
    $(id).style.backgroundColor="yellow"; $(id).focus();
    return false;
}
//////////////////validation.js////////////////
//////////////////checks.js////////////////
function SetComma(data)
{
    var obj = document.getElementById(data);
    var number = obj.value.replace(/,/g,'');
    var leng = number.length;
    //if (e && (e.keyCode < 48 || e.keyCode > 57)) {obj.value = number.substring(0,leng-1);return;}
    var result = '';

    if(leng > 3) {
        for(var i=0; leng-i-3 > 0; i+=3) {
            result = ',' + number.substring(leng-3-i, leng-i) + result;
        }
      result = number.substring(0,leng-i) + result;
      obj.value = result;
    }
}
function processEnter(e, onfunc)
{
    if(e.keyCode!=13) return true;
    if(onfunc) onfunc(); 
    return false;
}
//////////////////checks.js////////////////
//////////////////history.js////////////////
function addHistory(type, arg)
{
    //var search = window.location.search;
    //if (search.substring(search.length-1, 1) == '#') {window.location.search = search.substring(0, search.length-1);}
    //alert(type+"|"+arg);
    try {dhtmlHistory.add(type+'|'+arg,'');}catch(e){}
}
function getArgVal(arg,name) { if (arg.length < 2) return ""; var ags=arg.split("&"); for (var i=(ags.length-1); i>=0; i--) { var tmp = ags[i].split("="); if (tmp[0]==name) return tmp[1]; } return ""; }
//////////////////history.js////////////////
//////////////////Owner.js////////////////
function hideWrite(utype)
{
    var hutype = ($('hidUType')) ? $('hidUType').value : "";
    if (utype != hutype) return;
    hideWriteButtons();
}
function checkAuthWrite(utype)
{
    var hutype = ($('hidUType')) ? $('hidUType').value : "";
    if (utype != hutype) return;
    switch (utype) {
        case "D" : alert("운전자회원은 글쓰기를 하실 수 없습니다."); break;
        case "E" : alert("전문가회원은 글쓰기를 하실 수 없습니다."); break;
        case "S" : alert("정비소회원은 글쓰기를 하실 수 없습니다."); break;
    }
    window.location.href="/owner";
}
function hideWriteButtons()
{
    if ($('btnWrite1')) $HIDE('btnWrite1');
    if ($('btnWrite2')) $HIDE('btnWrite2');
    if ($('btnWrite3')) $HIDE('btnWrite3');
}
//////////////////Owner.js////////////////