﻿    // 전체사이트 닉네임클릭시에 콘텍스트 형식으로 뜨는 레이어에 대한 내용이다.
    // Dom 개체를 생성하는 것은 초기로드 한번뿐이며, 이후부터는 stylesheet 의 display:none // block 로 컨트롤된다
    // 호출방법      :: javascript:toggleShow('멤버유니크아이디');return false;
    
    // 반드시 온클릭에 이벤트를 주어야 정상적으로 작동한다.
    // <a href="***" 형식으로 사용할 경우 클릭에 event 개체를 찾지 못하므로 오류가 발생한다.
    // 올바른 사용법 :: <a href="javascript:void(0);" onclick="toggleShow('멤버유니크아이디');return false;" onfocus="this.blur();" >aaa</a>
    
    var toggleX = 0;
    var context_pop, context_element;
    
    context_element = ["div_picker_for","div_pick_back", "ifrm_pick_back"];
    //// 콘텍스트의 기본개체 이다.
    //// div_picker_for 는 리스트가 뿌려질 영역이다.
    //// div_pick_back 은 백그라운드 영역 (iframe)을 감싸기 위한영역이다.
    //// ifrm_pick_back 익스6의 경우// 셀렉트 박스등이 div :: z-index 를 무시하고 위로 올라오기때문에 배경을 한번죽인다.
    
    
    
    var context_pop_ajax = {
        add_Favorites:function(userUniqueid){
            
            
            var url = "/Ajax/add_Favorites.aspx"; // 루트 Ajax 폴더에 잇으며.. 이폴더에서 로그인여부/ '일반/가이드' 여부를 판단해서 리스폰스한다.
            var pars = "targetID="+ userUniqueid
            
            var foxAjax = new Ajax.Request(
            url,
            {
            
            method: "get",
            parameters: pars,
            onFailure : function (originalRequest) {
                    alert(originalRequest.responseText);
                },
            onComplete: function (originalRequest)
                {
                    //alert(originalRequest.responseText); return;
                    if(originalRequest.responseText.substring(0,7) == "old_add")
                    {
                        var target_nick = originalRequest.responseText.replace("old_add","");
                        alert(" '" + target_nick + "' 님은 이미 즐겨찾기에 추가되어 있습니다.");
                    }
                    else if(originalRequest.responseText == "not_me"){
                        alert("본인은 즐겨찾기에 추가 할 수 없습니다.");
                    }
                    else{
                        alert(" ' "+originalRequest.responseText + " ' 님을 즐겨찾기에 추가하였습니다.");
                    }
                    
                }
                });
            context_pop.hide();
        },
        go_mytour:function(userUniqueid){
            window.open('../mypage/Default.aspx?uid=' + userUniqueid ,'mypage','toolbar=no,menubar=no,scrollbars=yes,resizable=no');
            context_pop.hide();
        },
        shortMsg_send:function(userUniqueid){
            if(top.CallBtn)
            userUniqueid += ("&btn="+CallBtn.id);
            
            popup_toggle('../Ajax/shortMsg_send.aspx?targetID='+userUniqueid,false);
            //alert("쪽지보내기 창띄우기 파래매터값 :: ");
            context_pop.hide();
        }
    };
    
    
	context_pop = {
	    create_default: function(){
	        
	       var pick_for_div = document.createElement("div"); // 표시될 picker 감싸는 창
	        pick_for_div.id = "div_picker_for";
	        document.body.appendChild(pick_for_div);
	        
	        var pick_back = document.createElement("div"); // 백그라운드 div
	        pick_back.id = "div_pick_back";
	        document.body.appendChild(pick_back);
	        
	        var pick_back_frm = document.createElement("iframe"); // background iframe
	        pick_back_frm.id = "ifrm_pick_back";
	        pick_back_frm.frameborder= 0;
	        pick_back_frm.marginwidth = 0;
	        pick_back_frm.marginheight = 0;
	        pick_back_frm.scrolling = "no";
	        document.body.appendChild(pick_back_frm);
	            
	    },

	    show:function(){
            toggleX = 1;
			for( var i =0; i < context_element.length; i++)
            {
                document.getElementById(context_element[i]).style.display = 'block';
            }
		},
		hide:function()
		{                
			toggleX = 0;
			for( var i =0; i < context_element.length; i++)
            {
                if(document.getElementById(context_element[i]))
                    document.getElementById(context_element[i]).style.display = 'none';
            }
		},
		ganerate: function(userUniqueId)
		{
		    var url = "/Ajax/Context_Popup_New.aspx";
            var pars = "targetID="+ userUniqueId
            
            var foxAjax = new Ajax.Request(
            url,
            {
            
            method: "get",
            parameters: pars,
            onFailure : function (originalRequest) {
                    alert(originalRequest.responseText);
                },
            onComplete: function (originalRequest)
                {
                    //alert(originalRequest.responseText);
                    //alert(originalRequest.responseText.length);
                    if(originalRequest.responseText.length < 300)
                        context_pop.hide();
                    else
                        document.getElementById("div_picker_for").innerHTML = originalRequest.responseText;
                }
                });
		}
		
	};
	
	function toggleShow(userUniqueId)
    {
        document.getElementById(context_element[0]).innerHTML = "";
        context_pop.ganerate(userUniqueId);
        
        var context_for_ob = document.getElementById(context_element[0]);
        var context_back_ob, context_back_frame;
        context_back_frame = document.getElementById(context_element[2]);
        if(document.all)
            context_back_ob = document.getElementById(context_element[1]);
        else
            context_back_ob = document.body;
        
        if(toggleX == 0)
        {
            toggleX = 1;
            document.getElementById(context_element[0]).style.display = 'block';
            document.getElementById(context_element[1]).style.display = 'block';
            document.getElementById(context_element[2]).style.display = 'block';
            
            context_for_ob.style.zIndex = '999';
            context_for_ob.style.position = 'absolute';
            context_for_ob.style.backgroundColor = '#fff';
            //var tmp_left = (document.getElementById("wrap")) ? document.getElementById("wrap").style.left + 100 : 100;
            var tmp_top  = 0;
            var tmpL = 0;
            if(document.getElementById("wrap"))
            {
                tmp_top = (document.getElementById("wrap").style.top) ? document.getElementById("wrap").style.top : 0;
                tmpL = (document.body.clientWidth -  document.getElementById("wrap").clientWidth) /2;
            }
            
            
            
            
            //alert("tmpL: "+tmpL+", body: "+ document.body.clientWidth + "wrap: " + document.getElementById("wrap").clientWidth);
            var evX = event.x;
            var evY = event.y;
            context_for_ob.style.left = tmpL + parseInt(event.x);
            context_for_ob.style.top  = parseInt(tmp_top) + parseInt(event.y)-7;
            
            var screenY,screenX;
            
            if(document.all)
            {
                
                screenY = (document.getElementById("wrap"))? document.getElementById("wrap").scrollHeight : document.documentElement.offsetHeight;
                screenX = (document.getElementById("wrap"))? document.getElementById("wrap").scrollWidth : document.documentElement.offsetWidth;
                
                bodyY = (document.getElementById("wrap"))? document.getElementById("wrap").scrollHeight :  document.body.offsetHeight;
                if(ie6_flag)
                    bodyY = (document.getElementById("wrap"))? document.getElementById("wrap").scrollHeight :  document.body.scrollHeight + 20;
                bodyX =  document.body.scrollWidth + 0;
                
                
                context_back_ob.style.zIndex = '904';
                context_back_ob.style.position = 'absolute';
                context_back_ob.style.backgroundColor = '#000';
			    context_back_ob.style.left = (document.getElementById("wrap")) ? 0 : 0;
                context_back_ob.style.top = 0;
                context_back_ob.style.width = bodyX;
                context_back_ob.style.height = bodyY ;
                context_back_ob.style.filter = "alpha(opacity=0)";
            
            
                context_back_frame.style.zIndex = '903';
                context_back_frame.style.position = 'absolute';
                context_back_frame.style.backgroundColor = 'transparent';
                context_back_frame.style.backgroundImage = 'none';
			    context_back_frame.style.left = (document.getElementById("wrap")) ? 0 : 0;
                context_back_frame.style.top = 0;
                context_back_frame.style.width = bodyX;
                context_back_frame.style.height = bodyY ;
                context_back_frame.style.filter = "alpha(opacity=0)";
            
            
            }else
            {
                screenY = window.innerWidth;
                screenX = window.innerHeight;
            }
            
            
             context_back_ob.onclick =  context_pop.hide;
        }else
        {
            toggleX = 0;
            
            for( var i =0; i < context_element.length; i++)
            {
                document.getElementById(context_element[i]).style.display = 'none';
            }
            
             context_back_ob.onclick =  context_pop.show;
        }
        
    }
    
    window.onload = function () {
//    setTimeout("context_pop.create_default()",1000);
//    setTimeout("context_pop.hide()",1000);
    
    context_pop.create_default();
    context_pop.hide();
};