/*
* Na, Hoyeol <nahoya@neowiz.com>
* 2002. 09. 03. (È­) 04:57:29 KST
* DESC: ¼¼ÀÌ¾ó·µÃ¢....
*
* Example:
* 1. caption¸¸ ³ÖÀ»¶§ 
*      SayAlert('<a href=http://www.sayclub.com>¿©±â°¡ ¼¼ÀÌÅ¬·´</a>');
* 2. ¿©·¯ º¯¼ö¸¦ ¼¼ÆÃÇÒ ¶§ :
*      SayAlert('o_bgcolor', '#E8E8E8', 'o_caption', '<a href=http://www.sayclub.com>¿©±â°¡ ¼¼ÀÌÅ¬·´</a>', 'o_width', 130);
*/

  var _SayAlertIsLive = 0;
  var _SayAlertLastY = 3; //y axis margin
  var _SayAlertLastX = 3; //x axis margin
  var _SayAlertMessageHeight = "100%";
  var _SayAlertBorderHeight = 4;
  var _SayAlertMinIndex;
  var _SayAlertMaxIndex;
  var _SayAlertQueue = new Array();
  var _SayAlertSetTimeoutID;
  var _SayAlertDontPopDown;
  var _SayAlertMoveInterval = 8; //pixel move interval
  //Microsoft Stupidity Check(tm) -_-;;. from vanity's source
  var IE_Version = new Number(((window.navigator.appVersion.split('; '))[1].split(' '))[1]);
  var _winX,_winY;

  //arguments default value;
  //»ç¿ëÀÚ°¡ ¼¼ÆÃÇÒ ¼ö ÀÖ´Â °ªµé
  var o_fgcolor;
  var o_bgcolor;        // SayAlertÀÇ ¹ÙÅÁ»ö
  var o_caption;        // SayAlertÀÇ Ä¸¼Ç
  var o_character;      // SayAlert¾È¿¡ µé¾î°¡´Â »ç¿ëÀÚ Ä³¸¯ÅÍ .. Å×½ºÆ® ¾ÈµÊ
  var o_logo;           // SayAlert¾È¿¡ µé¾î°¡´Â ¼¼ÀÌÅ¬·´ ·Î°í
  var o_width;          // SayAlert °¡·ÎÅ©±â
  var o_height;         // SayAlert ¼¼·ÎÅ©±â
  var o_lifetime;       // SayAlert ÀÇ ¸ØÃã ½Ã°£
  var o_upspeed;        // SayAlert º¸¿©Áú¶§ ¼Óµµ
  var o_downspeed;      // SayAlert »ç¶óÁú¶§ ¼Óµµ
  var o_target;         // SayAlertÀÌ º¸¿©Áú Ã¢.. opener , opener.opener;
  var o_charalign;      // Ä³¸¯ÅÍÀÇ align 
  var o_linktext;       // ¸µÅ© ÅØ½ºÆ®
  var o_linktexthalign; // ¸µÅ© ÅØ½ºÆ® horizontal alignment
  var o_linktextvalign; // ¸µÅ© ÅØ½ºÆ® vertical alignment
  var o_background;     // ¹é±×¶ó¿îµå ÀÌ¹ÌÁö
  var o_alllinktext;    // ÀüÃ¼ Å×ÀÌºí¿¡ ¸µÅ©

  // sky scrapper ±¤°í¸¦ À§ÇÑ º¯¼ö ¼±¾ð
  var o_skyLeft, o_skyTop, o_skyHeight;

  function SayAlert()
  {
    _SayAlertIsLive = 0;
    if(typeof(document.all["_SayAlert"]) == 'object')
     {
       if(document.all["_SayAlert"].style.display == "block")
       {
        _SayAlertIsLive = 1;
       }
     }
    if(_SayAlertIsLive <= 0 && _SayAlertQueue.length <= 0)
      SayAlertInit(arguments);
    else
    {
      if(IE_Version >= 5.5 ) {
        _SayAlertQueue.push(arguments);
      }
      else
      {
        _SayAlertQueue[_SayAlertQueue.length] = arguments;
      }
    }
    return true;
  }
  function SayAlertInit(arguments)
  {
    //skyscrapper recovery
    if(typeof(document.all["idSkyScraperTD2_in"]) != "undefined")
    {
      var o_sky = document.all["idSkyScraperTD2_in"]; 
      o_sky.style.position = 'relative';
      o_sky.style.pixelTop = 0;
      o_sky.style.pixelLeft = 0;
      o_sky.style.pixelHeight = o_skyHeight;
      o_sky.style.clip = "rect(auto)";
    }
    else if( "undefined" != typeof(document.all["idSkyScraperTD2"] ) )
    {
      var o_sky = document.all["idSkyScraperTD2"]; 
      initSkyScraper();
      o_sky.style.clip = "rect(auto)";
    }

    //arguments setting
    o_fgcolor = "#FFFFFF";
    o_bgcolor = "";
    o_caption = "&nbsp";
    o_character = "<table border=0 cellpadding=0 cellspacing=0 width=100 height=40><tr><td>&nbsp;</td></tr></table>";
    o_logo = "http://file.sayclub.co.kr/images/tiffany/ico_sayclub_sayalert.gif";
    o_width = 158;
    o_height = 131;
    o_lifetime = 1000*4;
    o_upspeed = 1.5;
    o_downspeed = 2;
    o_target = self;
    o_charalign = 'center';
    o_linktext = '';
    o_linktexthalign = 'center';
    o_linktextvalign = 'middle';
    o_background = '';


    _SayAlertDontPopDown = false;   /* Stop Alert = false*/
    var ar = arguments;
    if(ar.length == 1) 
    {
      o_caption = ar[0];
    }
    else
    {
      // È¦¼ö¹øÂ° argument ´Â ´ÙÀ½¿¡ ³ª¿À´Â argument °¡ ÇÊµå¸íÀÌ´Ù.
      // ¿¹¸¦ µé¾î, SayAlert('o_lifetime', 10000) ÀÇ °æ¿ì
      // o_lifetime ÀÌ¶ó´Â º¯¼ö¿¡ 10000 ÀÇ °ªÀÌ µé¾î°¡¸é µÈ´Ù.

      for (var i=0; i<ar.length; i++)
      {
        if (ar[i] == 'o_fgcolor') 
          o_fgcolor = ar[i+1]; 
        else if (ar[i] == 'o_bgcolor')
          o_bgcolor = ar[i+1]; 
        else if (ar[i] == 'o_caption') 
          o_caption = ar[i+1]; 
        else if (ar[i] == 'o_character') 
          o_character = ar[i+1]; 
        else if (ar[i] == 'o_logo') 
          o_logo = ar[i+1]; 
        else if (ar[i] == 'o_width') 
          o_width = ar[i+1]; 
        else if (ar[i] == 'o_height') 
          o_height = ar[i+1]; 
        else if (ar[i] == 'o_lifetime') 
          o_lifetime = ar[i+1]; 
        else if (ar[i] == 'o_upspeed') 
          o_upspeed = ar[i+1]; 
        else if (ar[i] == 'o_downspeed') 
          o_downspeed = ar[i+1]; 
        else if (ar[i] == 'o_linktext') 
        { 
          o_linktext = ar[i+1]; 
          o_charalign = 'right'; 
        }
        else if (ar[i] == 'o_linktexthalign') 
          o_linktexthalign = ar[i+1]; 
        else if (ar[i] == 'o_linktextvalign') 
          o_linktextvalign = ar[i+1]; 
        else if (ar[i] == 'o_target') 
          o_target = eval(ar[i+1]); 
        else if (ar[i] == 'o_background') 
          o_background = ar[i+1]; 
        else if (ar[i] == 'o_alllinktext') 
          o_alllinktext= ar[i+1]; 

        i++;
      }
    }

    //arguments default setting
    // character div id º¯°æ
    o_character = o_character.replace(/id=character/g, "id=SayAlertCharacter");
    o_character = o_character.replace(/id=ImgChar/g, "id=SayAlertImgChar");

    if( typeof o_target.document.all["_SayAlertBorder"] == "undefined" ) 
    {
      var divs = '<DIV id="_SayAlertBorder" style="display:none;position:absolute;z-index:200;';
      divs += 'width:'+o_width+';height:'+o_height+';overflow:hidden">';
      divs += '<DIV id="_SayAlert" style="display:none;position:relative;';
      divs += 'width:'+o_width+';heigth:'+o_height+';"></DIV></DIV>';
      o_target.document.body.insertAdjacentHTML("beforeEnd", divs);
    }
    else {
      border = o_target.document.all["_SayAlertBorder"];
      border.style.width = o_width;
      border.style.height = o_height;
    }

    var o = o_target.document.all["_SayAlert"];
    if(IE_Version >= 5.5)
    {
      o.onmouseenter= SayAlertStop;
      o.onmouseleave= SayAlertGo;
    }
    else
    {
      o.onmouseover = SayAlertStop;
      o.onmouseout = SayAlertGo;
    }
    window.onscroll = SayAlertFixHeight;
    //window.onresize = SayAlertFixHeight;
    addOnresizeHandle("SayAlertFixHeight()");
    o.style.backgroundColor=o_bgcolor;
    o.style.zIndex = 255;
    SayAlertSlide();
    return o;
  }
  function SayAlertFixHeight()
  {
    var ob = o_target.document.all["_SayAlertBorder"];
    var scrollY = document.body.scrollTop;
    var scrollX = document.body.scrollLeft;
    _winX = o_target.document.body.clientWidth;
    _winY = o_target.document.body.clientHeight;
    ob.style.pixelTop = _winY - o_height - _SayAlertLastX + scrollY;
    ob.style.pixelLeft = _winX - o_width - _SayAlertLastX;
  }
  function SayAlertEndEventHandler()
  {
    if(_SayAlertQueue.length > 0)
    {
      var arguments; 
      if(IE_Version >= 5.5)
        arguments = _SayAlertQueue.pop(); 
      else
      {
        arguments = _SayAlertQueue[0];
        for(a in arguments) {
          alert(a);
        }
        for(var i=1; i<_SayAlertQueue.length; i++)
        {
          _SayAlertQueue[i-1] = _SayAlertQueue[i];
        }
        _SayAlertQueue.length --;
      }
      if(arguments != "undefined")
      {
        SayAlertInit(arguments);
      }
    }

    //skyscrapper recovery
    if(typeof(document.all["idSkyScraperTD2_in"]) != "undefined")
    {
      var o_sky = document.all["idSkyScraperTD2_in"]; 
      o_sky.style.position = 'relative';
      o_sky.style.pixelTop = 0;
      o_sky.style.pixelLeft = 0;
      o_sky.style.pixelHeight = o_skyHeight;
      o_sky.style.clip = "rect(auto)";
    }
    else if( "undefined" != typeof(document.all["idSkyScraperTD2"] ) )
    {
      var o_sky = document.all["idSkyScraperTD2"]; 
      initSkyScraper();
      o_sky.style.clip = "rect(auto)";
    }

    return true;
  }
  function SayAlertStop()
  {
    var o=o_target.document.all["_SayAlert"];
    _SayAlertDontPopDown = true;
//SayAlertDebug(_SayAlertDontPopDown);
    SayAlertSlideUp(true);  
    return;
  }
  function SayAlertGo()
  {
    var o=o_target.document.all["_SayAlert"];
    _SayAlertDontPopDown = false;
//SayAlertDebug(_SayAlertDontPopDown);
    SayAlertSlideDown();
    return;
  }
  function SayAlertSlideUp(fixed)
  {
    var o = o_target.document.all["_SayAlert"];

    if(o.style.pixelTop - o_upspeed < _SayAlertMinIndex)
      o_upspeed = o.style.pixelTop - _SayAlertMinIndex;

    o.style.pixelTop -= o_upspeed;
   
    if(o.style.pixelTop > _SayAlertMinIndex)
    {
      _SayAlertSetTimeoutID = setTimeout("SayAlertSlideUp("+fixed+")", _SayAlertMoveInterval);
      return;
    }
    if(fixed==true)  return;
    setTimeout("SayAlertSlideDown()", o_lifetime);
    return true;
  }
  function SayAlertSlideDown()
  {
    if(_SayAlertDontPopDown) return;

    var o = o_target.document.all["_SayAlert"];
    var ob = o_target.document.all["_SayAlertBorder"];

    o.style.backgroundColor = o_bgcolor;
    o.style.pixelTop += o_downspeed;

    if(o.style.pixelTop < _SayAlertMaxIndex)
    {
      setTimeout("SayAlertSlideDown()", _SayAlertMoveInterval);
      return false;
    }
    SayAlertContents(o, false);
    o.style.display = "none";
    ob.style.display = "none";
    SayAlertEndEventHandler();
    return true;
  }
  function SayAlertSlide()
  {
    var ob = o_target.document.all["_SayAlertBorder"];
    var o= o_target.document.all["_SayAlert"];
    //alert(_winX+ " : " + _winY);
    var _scrollY = document.body.scrollTop;
    var _scrollX = document.body.scrollLeft;
    _winX = o_target.document.body.clientWidth;
    _winY = o_target.document.body.clientHeight;
    ob.style.pixelTop = (_scrollY+_winY) - o_height - _SayAlertLastY;
    ob.style.pixelLeft = (_scrollX+_winX) - o_width - _SayAlertLastX;
    ob.style.display = "block"

    o.style.position = "absolute";
    o.style.pixelLeft = 0;
    o.style.pixelTop = o_height;

    _SayAlertMinIndex = o.style.pixelTop - o_height;  
    _SayAlertMaxIndex = o.style.pixelTop;             

    SkyScrapAdClipping(_winY, _SayAlertMinIndex, 1);
    o.style.display="block";
    var pop = SayAlertSlideUp(false);
    SayAlertContents(o, true);
    //SkyScrapAdClipping(0);

    o_target.document.body.style.overflowY = 'scroll';

    return true;
  }
  function SkyScrapAdClipping(browserHeight, SayAlertPosition, hide)
  {
    if(typeof(document.all["idSkyScraperTD2_in"])!="undefined")
    {
      var o_sky = document.all["idSkyScraperTD2_in"];
      o_sky.style.position = 'relative';
      var o_skyLeft = o_sky.offsetLeft;
      var o_skyTop = o_sky.offsetTop;
      var skyTopMargin = o_skyTop;
      var o_skyHeight = o_sky.offsetHeight;
      var skyShrinkHeight;
      var skyTotalHeight = o_sky.offsetHeight+skyTopMargin;
      if(skyTotalHeight <= browserHeight)
      {
        var bottomMargin = browserHeight - skyTotalHeight;
        if(bottomMargin <= o_height)
        {
          skyShrinkHeight = o_sky.offsetHeight - (o_height - bottomMargin) - 10;
        }
        else
        {
          skyShrinkHeight = o_sky.offsetHeight - 5;
        }
      }
      else
      {
        skyShrinkHeight = browserHeight - o_skyTop - o_height - 10;        
      }
      o_sky.style.position = 'absolute';
      o_sky.style.pixelLeft= o_skyLeft;
      o_sky.style.pixelTop = o_skyTop;
      o_sky.style.clip = "rect(auto auto "+skyShrinkHeight+" auto)";
    }
    else if( "undefined" != typeof(document.all["idSkyScraperTD2"]))
    {
      var o_sky = document.all["idSkyScraperTD2"];
      var o_skyLeft = o_sky.offsetLeft;
      var o_skyTop = o_sky.offsetTop;
      var skyTopMargin = o_skyTop;
      var o_skyHeight = o_sky.offsetHeight;
      var skyShrinkHeight;
      var skyTotalHeight = o_sky.offsetHeight+skyTopMargin;
      if(skyTotalHeight <= browserHeight)
      {
        var bottomMargin = browserHeight - skyTotalHeight;
        if(bottomMargin <= o_height)
        {
          skyShrinkHeight = o_sky.offsetHeight - (o_height - bottomMargin);
        }
        else
        {
          skyShrinkHeight = o_sky.offsetHeight - o_skyTop - 5;
        }
      }
      else
      {
        skyShrinkHeight = browserHeight - o_skyTop - o_height - 5;        
      }
      o_sky.style.position = 'absolute';
      o_sky.style.pixelLeft= o_skyLeft;
      o_sky.style.pixelTop = o_skyTop;
      o_sky.style.clip = "rect(auto auto "+skyShrinkHeight+" auto)";
    }
  }

  function SayAlertContents(o, on)
  {
    if(on) 
    {
      if (o_background == "")
      {
        o.innerHTML = ""
+"<table cellpadding='0' cellspacing='0' border='0' width='"+o_width+"' height='"+ o_height +"' "+o_alllinktext+">"
+"  <col width='9'><col width='*'><col width='9'>"
+"  <tr height='9'>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_round01.gif' border='0'></td>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_top.gif' border='0' width='100%' height='9'></td>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_round02.gif' border='0'></td>"
+"  </tr>"
+"  <tr valign='top'>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_left_top.gif' border='0' width=9 height='100%'><br><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_left.gif' border='0' width='9' height='100%'></td>"
+"    <td bgcolor='#FFFFFF' valign=middle>"
+"    <!-- ===================================================== -->"
+"      <table cellpadding='0' cellspacing='0' border='0' align=center>"
+"        <tr><td height='"+_SayAlertMessageHeight+"' style='line-height:140%'>" + o_caption
+"        </td></tr>"
+"        <tr><td height=3></td></tr>"
+"        <tr>"
+"         <td style='padding:3px;'>"
+"          <table border=0 cellpadding=0 cellspacing=0 width=100%>"
+"           <tr>"
+"            <td align="+o_linktexthalign+" valign="+o_linktextvalign+">"+o_linktext+"</td>"
+"            <td align="+o_charalign+" valign=middle>"+o_character+"</td>"
+"           </tr>"
+"          </table>"
+"         </td>"
+"        </tr>"
+"      </table>"
+"    <!-- //===================================================== -->"
+"    </td>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_right_top.gif' border='0' width='9' height='100%'><br><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_right.gif' border='0' width='9' height='100%'></td>"
+"  </tr>"
+"  <tr height='9'>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_round03.gif' border='0'></td>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_bottom.gif' border='0' width='100%' height='9'></td>"
+"    <td><img src='http://file.sayclub.co.kr/images/sayalert/img_homealert_box_round04.gif' border='0'></td>"
+"  </tr>"
+"</table>"

      } 
      else
      {
        o.innerHTML = ""
+"<table cellpadding=0 cellspacing=0 border=0 width="+o_width+" height="+o_height+" style='position:absolute; top:0px; left:0px; z-index:0;'>"
+"  <tr><td><img src='"+o_background+"'></td></tr>"
+"</table>"
+""
+"<table cellpadding=0 cellspacing=0 border=0 width="+o_width+" height="+o_height+" style='position:absolute; top:0px; left:0px; z-index:1;'>"
+"  <tr height=9><td></td></tr>"
+"  <tr height="+(o_height-14)+">"
+"    <td width=7></td>"
+"    <td align=center valign=bottom>"
+"      <table cellpadding=0 cellspacing=0 border=0 width="+(o_width-25)+">"
+"        <tr><td height="+_SayAlertMessageHeight+" valign=top>"+o_caption+"</td></tr>"
+"        <tr height=3><td></td></tr>"
+"        <tr><td>"
+"          <table cellpadding=0 cellspacing=0 border=0 border=0 width=100%>"
+"            <tr>"
+"              <td align="+o_linktexthalign+" valign="+o_linktextvalign+">"+o_linktext+"</td>"
+"              <td align="+o_charalign+" valign=middle>"+o_character+"</td>"
+"            </tr>"
+"          </table>"
+"        </td></tr>"
+"      </table>"
+"    </td>"
+"    <td width=7></td>"
+"  </tr>"
+"  <tr height=5><td></td></tr>"
+"</table>";
      }
    }
    else
      o.innerHTML = "";
    return;
  }

  function SayAlertDebug(str)
  {
    var debug;
    if(typeof (document.all["SayAlertDebugWindow"]) != "undefined")
      debug = document.all["SayAlertDebugWindow"];
    else
      return;
    debug.innerHTML = debug.innerHTML + " : " + str + "<br>\n";
  }

  

  

