var d=document;
var msgid = -1 ; 
var msgidArray = new Array() ;
var loopCnt = 0 ;
var loopCntMax = 5 ;

var mSaving   = "ÀúÀåÁß..." ;
var mSaved    = "ÀúÀåµÊ"    ;
var mUpdating = "¼öÁ¤Áß..." ;
var mBlocking = "Â÷´ÜÁß.."  ;
var mBlocked  = "Â÷´ÜµÊ"    ;
var mAddMemo  = "¸Þ¸ðÃß°¡"  ;

var mMyWebName = new Array() ;
var mMyWebTCnt = new Array() ;

mMyWebName[0] = "site" ;
mMyWebTCnt[0] = 15 ;

mMyWebName[1] = "web" ;
mMyWebTCnt[1] = 15 ;

mMyWebName[2] = "official" ;
mMyWebTCnt[2] = 1 ;


function yksrch_init()
{
    msgid = -1 ;
    loopCnt = 0 ;
    for ( i = 0 ; i < loopCntMax ; i++ ) msgidArray[i] = -1 ;
}

function yksrch_syncAll(psUrl, obj, part)
{
    try
    {
        objSrc = document.getElementById ( obj + "_url" ) ;
        objSrcUrl = objSrc.innerHTML ;

        objGroup = obj.replace(/[0-9]/g,''); 

        for ( i=0 ; i < mMyWebName.length; i ++ )
        {
            for ( j=0 ; j<mMyWebTCnt[i] && ( obj == "site1000" || objGroup != mMyWebName[i] ); j++ )
            {
                objTar = mMyWebName[i] + j ;
                objName = mMyWebName[i] + j ;

                if ( objTar != obj ) 
                {
                    objTar = document.getElementById ( objTar + "_url" ) ;
                    if ( objTar != null ) 
                    {
                        objTarUrl = objTar.innerHTML ;

                        if ( objTarUrl == objSrcUrl ) 
                        { 
                             if ( part == "block" ) 
                             {
                                 yksrch_print (objName + "_save"  , "" ) ;
                                 yksrch_print (objName + "_bar1"  , "" ) ;
                                 yksrch_print (objName + "_memo"  , "" ) ;
                                 yksrch_print (objName + "_bar2"  , "" ) ;
                                 yksrch_print (objName + "_trans" , "" ) ;
                                 yksrch_print (objName + "_bar3"  , "" ) ;
                                 yksrch_print (objName + "_block" , "<font color='#B13737'>" + mBlocked + "</font>") ;
                                 yksrch_printImg (objName) ;
                             }
                             else
                             {
                                 objTarMemosrc = document.getElementById ( objName + "_memosrc" ) ; 
                                 objTarMsgid   = document.getElementById ( objName + "_msgid"   ) ; 
 
                                 objSrcMemosrc = document.getElementById ( obj + "_memosrc"   ) ; 
                                 objSrcMsgid   = document.getElementById ( obj + "_msgid"     ) ; 
 
                                 objTarMemosrc.innerHTML = objSrcMemosrc.innerHTML ;
                                 objTarMsgid.innerHTML   = objSrcMsgid.innerHTML   ;

                                 yksrch_print (objName + "_save"  , "<font color='#B13737'>" + mSaved + "</font>") ;
 
                                 if ( objTarMemosrc.innerHTML == "" )
                                 {
                                     yksrch_print (objName + "_memo_a", mAddMemo) ;
                                 }
                                 else
                                 {
                                     yksrch_print (objName + "_memo", "") ;
                                     yksrch_print (objName + "_bar2", "") ;

                                     if ( mMyWebName[i] != "official" ) 
                                     {
                                         yksrch_print (objName + "_memo", "") ;
                                         yksrch_print (objName + "_bar2", "") ;

                                         objTarBoard = document.getElementById ( objName + "_board" ) ;
                                         objTarBoard.innerHTML = yksrch_getMemoStr(psUrl,obj, part, objTarMemosrc.innerHTML ) ;
                                     }
                                 }
                                 yksrch_print (objName + "_block" , "" ) ;
                                 yksrch_print (objName + "_bar3"  , "" ) ;

                                 yksrch_printImg (objName) ;
                             }
                        }
                    }
                }
            }
        }

        yksrch_syncIFrame(psUrl, obj, part);

    }
    catch(e){yksrch_cat(e, "yksrch_syncAll");}
}

function yksrch_syncIFrame(psUrl, obj, part)
{
    try
    {
        objIFrame = document.getElementById("objMyWeb") ;

        if ( objIFrame.style.display == 'block' ) 
            yksrch_openIFR("objMyWeb", "http://kr.search.yahoo.com/myweb/myweb.php", 370, 270, 1 );
    }
    catch(e){yksrch_cat(e, "yksrch_syncIFrame");}
}

function yksrch_syncOnClick()
{
    try
    {
        setTimeout("yksrch_syncIFrame();", 500) ;

        return true ;
    }

    catch(e) {alert( "yksrch_syncOnClick:" + e);}
}


function yksrch_sendData(psUrl, obj, part, msg)
{
    try 
    {

        randomSeed = Math.random() * 10000000000000000000;
        oRS=d.createElement('script');
        oRS.src = psUrl + "&ran=" + randomSeed + "&q=" + mQueryUTF ;
        d.body.appendChild(oRS);  
        setTimeout("yksrch_showResult('"+psUrl+"', '"+obj+"', '"+part+"','"+msg+"');", 500) ;
        msgidArray[loopCnt] = msgid ;
        loopCnt ++ ;
    }
    catch(e){yksrch_cat(e, "yksrch_sendData");}
}

function yksrch_showResult(psUrl, obj, part, msg)
{
    try
    {
        if ( msgid == -1 ) 
        {
            if ( loopCnt == loopCntMax ) return ;
            setTimeout("yksrch_sendData('"+psUrl+"', '"+obj+"', '"+part+"', '"+msg+"');", 200) ; 
        }
        else
        {
            //try
            //{
                for ( i=0 ; i<loopCntMax ; i++ )
                {
                    if ( msgidArray[i] != -1 )
                    {
                        msgid = msgidArray[i] ;
                        break ;
                    }
                }

                if ( msgid == -500 ) 
                {
                    targetUrl = psUrl.replace(/js=1/g,'');
                    targetUrl += "&.done=" + mSelfUrlEnc ;
                    this.location = targetUrl ;
                    return ;
                }

                if ( part == "save" ) // save : url 
                {
                    yksrch_print (obj + "_save"  , "<font color='#B13737'>" + msg + "</font>") ;
                    yksrch_print (obj + "_memo_a", mAddMemo) ;
                    yksrch_print (obj + "_block", "" ) ;
                    yksrch_print (obj + "_bar3" , "" ) ;

                    objMsgid = document.getElementById ( obj + "_msgid" ) ;
                    objMsgid.innerHTML = msgid ;

                    yksrch_printImg (obj) ;
                }
                else if ( part == "memo" ) // save : url + memo
                {
                    yksrch_print (obj + "_save" ,  "<font color='#B13737'>" + mSaved + "</font>") ;
                    yksrch_print (obj + "_memo" , "" ) ;
                    yksrch_print (obj + "_bar2" , "" ) ;
                    yksrch_print (obj + "_block", "" ) ;
                    yksrch_print (obj + "_bar3" , "" ) ;

                    objMemotext = document.getElementById ( obj + "_board_text" ) ;

                    objMemosrc = document.getElementById ( obj + "_memosrc" ) ;
                    objMemosrc.innerHTML = objMemotext.value ; 

                    objMemo = document.getElementById ( obj + "_board" ) ;
                    objMemo.innerHTML = yksrch_getMemoStr(psUrl,obj, part) ;

                    objMsgid = document.getElementById ( obj + "_msgid" ) ;
                    objMsgid.innerHTML = msgid ;
                    yksrch_printImg (obj) ;
                }
                else if ( part == "update" ) // update : memo
                {
                    yksrch_print (obj + "_save" ,  "<font color='#B13737'>" + mSaved + "</font>") ;
               
                    objMemotext = document.getElementById ( obj + "_board_text" ) ;

                    objMemosrc = document.getElementById ( obj + "_memosrc" ) ;
                    objMemosrc.innerHTML = objMemotext.value ;

                    objMemo = document.getElementById ( obj + "_board" ) ;
                    objMemo.innerHTML = yksrch_getMemoStr(psUrl,obj, part, objMemotext.value) ;
                }
                else if ( part == "block" ) // block
                {
                    yksrch_print (obj + "_save"  , "" ) ;
                    yksrch_print (obj + "_bar1"  , "" ) ;
                    yksrch_print (obj + "_memo"  , "" ) ;
                    yksrch_print (obj + "_bar2"  , "" ) ;
                    yksrch_print (obj + "_trans" , "" ) ;
                    yksrch_print (obj + "_bar3"  , "" ) ;
                    yksrch_print (obj + "_block" , "<font color='#B13737'>" + mBlocked + "</font>") ;
                    yksrch_printImg (obj) ;
                }
            //}
            //catch(e) {alert("yksrch_showResult_sync:" + e);}

            yksrch_syncAll(psUrl, obj, part) ;

            
        }
    }
    catch(e){yksrch_cat(e, "yksrch_showResult");}
}

function yksrch_saveResult(psUrl, obj, part)
{
    try
    {

        objMemo = document.getElementById ( obj + "_board_text" ) ;
        if ( objMemo != null && objMemo.value != "" )
        {
            psUrl += "&d=" + yksrch_urlEncode (yksrch_escape(objMemo.value)) ; 
        }

        if ( part == "unlogin" ) 
        {
            this.location.href = psUrl ;
        }
        else
        {
            yksrch_init() ;
            tar = part ;
            if ( part == "update" ) tar = "save" ;

            yksrch_print (obj + "_" + tar, mSaving) ;

            objMsgid = document.getElementById ( obj + "_msgid" ) ;
            if ( objMsgid.innerHTML != "" )
            {
                psUrl += "&commentonly=1" ;
                psUrl += "&msgid=" + objMsgid.innerHTML  ;
            }

            yksrch_sendData(psUrl, obj, part, mSaved) ;

        }
    }
    catch(e){yksrch_cat(e, "yksrch_saveResult");}
}

function yksrch_blockResult(psUrl, obj, part)
{
    try
    {
        yksrch_init() ;
        yksrch_print (obj + "_" + part, mBlocking) ;
        yksrch_sendData(psUrl, obj, part, mBlocked) ;
    }
    catch(e){yksrch_cat(e, "yksrch_blockResult");}
}

function yksrch_print (obj, str)
{
    try
    {
        obj = document.getElementById(obj);
        if (obj==null) return null ;

        if ( str == "" ) 
        {
            obj.style.display = "none" ;
        }
        else
        {
            //obj.style.display = "block" ;
        }

        obj.innerHTML = str ;
    }
    catch(e){yksrch_cat(e, "yksrch_print");}
}

function yksrch_printImg (obj)
{
    try
    {
        obj = document.getElementById(obj + "_image");
        
        if (obj==null) return ;
        obj.innerHTML = "<img src='http://img.yahoo.co.kr/search/6.0/iMysearch.gif'>" ;
    }
    catch(e){yksrch_cat(e, "yksrch_print");}
}

function yksrch_viewMemo(psUrl, obj, part)
{
    try
    {
        objHTML =  yksrch_getMemoForm(psUrl, obj , part) ;
        obj = obj + "_board" ;
        obj = document.getElementById(obj);
        obj.innerHTML = objHTML ;
    }
    catch(e){yksrch_cat(e, "yksrch_print");}
}

function yksrch_hiddenMemo(psUrl, obj, part)
{
    try
    {
        objBoard = obj + "_board" ;
        objBoard = document.getElementById(objBoard);

        objMemosrc = obj + "_memosrc" ;
        objMemosrc = document.getElementById(objMemosrc);

        if ( objMemosrc.innerHTML == "" ) objBoard.innerHTML = "" ;
        else objBoard.innerHTML = yksrch_getMemoStr(psUrl,obj, part, objMemosrc.innerHTML) ;
    }
    catch(e){yksrch_cat(e, "hiddenMemo_print");}
}

function yksrch_keyin(psUrl, obj, part)
{
    try
    {
        if ( window.event.keyCode == 13 )
        {
            yksrch_saveResult(psUrl,obj, part) ;
        }
    }
    catch(e){yksrch_cat(e, "yksrch_keyin");}

}

function yksrch_getMemoForm(psUrl,obj, part, str)
{

    try 
    {
        memoStr = "" ;

        if ( str != null ) memoStr = str ;
        else
        {
            if ( part == "update" ) 
            {
                objMemo = obj + "_board_text" ;
                objMemo = document.getElementById(objMemo);
                memoStr = objMemo.innerHTML ;
            }
        }

        result  = "<div>" ;
        result += "<img src='http://img.yahoo.co.kr/search/my/ico_memo.gif'>  ¸Þ¸ð : " ;
        result += "<textarea style='vertical-align:top;height:40px;width:450px;' id='" + obj + "_board_text' name='" + obj + "_board_text' value='¸Þ¸ð¸¦ ÀÔ·ÂÇÏ¼¼¿ä'  onKeyDown='yksrch_keyin(\""+psUrl+"\",  \""+obj+"\", \""+part+"\");'>"+memoStr+"</textarea>" ;
        result += " <input type='image' border='0' src='http://img.yahoo.co.kr/search/my/btn_save.gif' " ;
        result += "onClick='yksrch_saveResult(\""+psUrl+"\",  \""+obj+"\", \""+part+"\")'> " ;
        result += "<input type='image' border='0' src='http://img.yahoo.co.kr/search/my/btn_cancle.gif' ";
        result += "onClick='yksrch_hiddenMemo(\""+psUrl+"\",  \""+obj+"\", \""+part+"\")'>" ;
        result += "</div>" ;
        return result ;
    }
    catch(e){yksrch_cat(e, "yksrch_getMemoForm");}
}

function  yksrch_getMemoStr(psUrl,obj, part, str)
{
    try
    {
        objMemo = document.getElementById ( obj + "_board_text" ) ;
        memoStr = "";
        if ( str != null ) memoStr = str ;
        else
        {
            if ( objMemo != null && objMemo.value != "" )
            {
                memoStr = yksrch_escape(objMemo.value) ;
            }
        }

        result  = "<div class='memo'><img src='http://img.yahoo.co.kr/search/my/ico_memo.gif' border=0 align=absmiddle>  ¸Þ¸ð :" ;
        result += "<span id='" + obj + "_board_text' name='" + obj + "_board_text'>" +  memoStr  + "</span>" ;
        result += "[<a href='javascript:yksrch_viewMemo(\""+psUrl+"\", \""+obj+"\", \"update\");'>¸Þ¸ð¼öÁ¤</a>]</div>" ;

        return result ;
    }
    catch(e){yksrch_cat(e, "yksrch_getMemoStr");}

}

function yksrch_escape ( str )
{
    //str=escape(str );
    //str=str.replace(/#/g,'%23');
    //str=str.replace(/&/g,'&amp;');
    //str=str.replace(/\+/g,'%2B');
    str=str.replace(/&/g,'&amp;');
    str=str.replace(/</g,'&lt;');
    str=str.replace(/>/g,'&gt;');

    return str ;
}
