﻿function RollSet()
{
	var gSetChk        = true;
	var gSetObj        = null;
	var gRollSetObj    = null;
	var gRollChk       = false;

	var gArrDat        = new Array();
	var gArrCnt        = -1;
	var gArrCntBool    = false;
	var gArrTotCnt     = 0;
	var gMoveSpeed     = 50;
	var gPauseTime     = 1000;
	var gPauseChk      = false;
	var gCurPos        = 15;
	var gEndPos        = 0;
	var gChkCnt        = 0;
	var gWordheight    = 15;
	var gOwordHeight   = 15;
	var gRwordHeight   = -1;
	var gWordSet       = false;
	var gWordSetTime   = 1000;
	var gRollType      = new Array('up','shine');
	var gRollSelect    = 'shine';

	var gTid1          = 0;
	var gTid2          = 0;

	this.Init = function ( setObj, data, moveSpeed, pauseTime, wrdHeight, RollObj, type, rWrdheight )
	{
		gSetObj     = setObj;
		gRollSetObj = RollObj;
		gArrDat     = data;
		gArrTotCnt  = gArrDat.length;

		if( gSetObj == null || gSetObj == '' || gSetObj == 'undefined' )                { gSetChk = false; return; }
		if( gRollSetObj == null || gRollSetObj == '' || gRollSetObj == 'undefined' )    { gSetChk = false; return; }
		if( gArrDat[0] == null || gArrDat[0] == '' || gArrDat[0] == 'undefined' )       { gSetChk = false; return; }

		if( moveSpeed != null && moveSpeed > 0 ) {
			gMoveSpeed = moveSpeed;
		}

		if( pauseTime != null && pauseTime > 0 ) {
			gPauseTime = pauseTime;
		}

		if( wrdHeight != null && wrdHeight > 0 ) {
			gWordheight  = wrdHeight;
			gOwordHeight = wrdHeight;
			gCurPos = wrdHeight;
		}

		if( rWrdheight != '' )
		{
			var gBw = rWrdheight.split(',');

			if( gBw[0] && gBw[1] )
			{
				if( navigator.appVersion.indexOf("MSIE") != -1 )
					gRwordHeight = gBw[0];
				else
					gRwordHeight = gBw[1];
			}
			else
			{
				gSetChk = false;
			}
		} else {
			gSetChk = false;
		}

		if( type != null && type != '' )
		{
			for(var i=0;i<gRollType.length;i++)
			{
				if( type == gRollType[i] )
				{
					gRollSelect = type;
					gSetChk = true;
					break;
				}
				else
				{
					gSetChk = false;
					continue;
				}
			}
		}

		return;
	}

	this.Play = function ()
	{
		if( gSetChk == false) return;

		gRollChk = true;

		RollStart();
		return;
	}

	this.OnMouse = function ()
	{
		if( gSetChk == false) return;

		gPauseChk = true;
		clearInterval( gTid1 );
		clearTimeout( gTid2 );
		return;
	}

	this.OutMouse = function ()
	{
		if( gSetChk == false) return;

		gPauseChk = false;
		this.Play();
		return;
	}

	this.PrevDat = function ()
	{
		if( gSetChk == false) return;
		if( gRollChk==false && gArrCnt==-1 ) gArrCnt = 0;

		clearInterval( gTid1 );
		clearTimeout( gTid2 );

		gCurPos = gEndPos;

		gArrCnt--;
		if( gArrCnt < 0 ) 
			gArrCnt = gArrTotCnt-2;

		if( gArrCnt == 0 )
		{
			gWordheight = gOwordHeight;
		}
		else
		{
			gWordheight = gRwordHeight;
		}

		gCurPos           = 0;
		gChkCnt           = 0;
		gSetObj.style.top = gCurPos + 'px';
		gSetObj.innerHTML = gArrDat[gArrCnt];
		gWordSet          = false;

		if( gRollChk == true )
			gTid2 = setTimeout( gRollSetObj.Play, gPauseTime );
		return;
	}

	this.NextDat = function ()
	{
		if( gSetChk == false) return;
		if( gRollChk==false && gArrCnt==-1 ) gArrCnt = 0;

		clearInterval( gTid1 );
		clearTimeout( gTid2 );

		gArrCnt++;
		if( gArrCnt == (gArrTotCnt-1) )
		{
			gWordheight = gOwordHeight;
			gArrCnt = 0;
		}
		else
		{
			gWordheight = gRwordHeight;
		}

		gCurPos           = 0;
		gChkCnt           = 0;
		gSetObj.style.top = gCurPos + 'px';
		gSetObj.innerHTML = gArrDat[gArrCnt];
		gWordSet          = false;

		if( gRollChk == true )
			gTid2 = setTimeout( gRollSetObj.Play, gPauseTime );

		return;
	}

	function RollStart()
	{
		if( gRollSelect == 'up' )           gTid1 = setInterval( RollUp , gMoveSpeed );
		else if( gRollSelect == 'shine' )   gTid1 = setInterval( RollShine , gPauseTime );
		else                                gSetObj.innerHTML = ' ʴ Դϴ.';

		return;
	}

	function RollUp()
	{
		if( gWordSet == false )
		{
			var gTxt = '';
			var gPrevCnt;

			gPrevCnt = gArrCnt;

			gArrCnt++;
			if( gArrCnt == (gArrTotCnt-1) )
			{
				gArrCnt = 0;
			}

			if( gPrevCnt != -1 )
			{
				gTxt = gArrDat[gPrevCnt];
				gCurPos = 0;
			}

			gTxt += gArrDat[gArrCnt];

			gSetObj.innerHTML = gTxt;
			gWordSet = true;
		}

		gCurPos--;
		gSetObj.style.top = gCurPos + 'px';

		gChkCnt++;
		if( gChkCnt == gWordheight )
		{
			clearInterval( gTid1 );

			gWordSet = false;
			gChkCnt  = 0;

			if( gArrCnt >= gArrTotCnt-1 )
			{
				gWordheight       = gOwordHeight;
				gCurPos           = gOwordHeight;
				gArrCnt           = -1;
				gSetObj.style.top = gCurPos + 'px';
				gSetObj.innerHTML = '';
			}
			else
			{
				gWordheight = gRwordHeight;
			}

			gTid2 = setTimeout( gRollSetObj.Play, gPauseTime );
			return;
		}

	}

	function RollShine()
	{
		if( (gArrCnt == -1) || (gArrCnt == gArrTotCnt))
			gArrCnt = 0;

		gSetObj.style.top = gEndPos;
		gSetObj.innerHTML = gArrDat[gArrCnt++];

		return;
	}
}


/**************************************************** 
Offset ƿ
****************************************************/
function getOffsetTop(obj)
{ 
	return obj ? obj.offsetTop + getOffsetTop(obj.offsetParent) : 0; 
}

function getOffsetLeft(obj)
{ return obj ? obj.offsetLeft + getOffsetLeft(obj.offsetParent) : 0; }

/*---------------------------------------------------------------------------------------------------------*/
//# ̸  ũƮ. 
/*---------------------------------------------------------------------------------------------------------*/
function PreviewInit( article_fid )
{
	document.domain='moneytoday.co.kr';

	//alert(article_fid);
	var arrDat = new Array();

	if( window.XMLHttpRequest ) 
		xmlhttp = new XMLHttpRequest();
	else
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

	param = '?article_fid=' + article_fid;
	//alert(param);

	//var status = xmlhttp.open('get', 'http://tsearch.moneytoday.co.kr/common/preview.php'+param, true);
	var status = xmlhttp.open('get', 'http://news.moneytoday.co.kr/common/news_preview.php'+param, true);
	xmlhttp.onreadystatechange = function()
	{
		if(xmlhttp.readyState == '4')
		{
			if(xmlhttp.status == 200)
			{
				var resText = xmlhttp.responseText;
				arrDat = resText.split('|');
				document.getElementById('hot_layer').innerHTML = arrDat[0];
			}
		}
	}
	xmlhttp.send(null);
}

function showPreview(show,hook,   fid   ,title,blog,image,content,tag)
{
	document.domain='moneytoday.co.kr';

	document.domain='moneytoday.co.kr';

	var	PreviewLayer = document.getElementById('hot_layer');
	var oBody = ( document.compatMode && document.compatMode!="BackCompat" ) ? document.documentElement : document.body  ;
	
	PreviewLayer.innerHTML = '';

	if (show)
	{
		// JH - add function start
		//alert(fid);
		PreviewInit( fid );
		// JH - add function end

		var intLayerWidth = 350;
		var intLayerIntval = 15;
		var intArrowIntval = 15;

		var intHookLeft = getOffsetLeft(hook);
		var intHookTop = getOffsetTop(hook);

		if (intHookLeft+intLayerWidth > oBody.scrollWidth)
		{
			//intLayerLeft = oBody.scrollWidth - intLayerWidth - 5;
			intLayerLeft = oBody.scrollWidth - intLayerWidth + 75;
			intArrowLeft = intHookLeft-intLayerLeft+intLayerIntval+intArrowIntval;
		}else{
			intLayerLeft = intHookLeft+intLayerIntval;
			intArrowLeft = intArrowIntval;
		}
		intLayerTop = intHookTop + 20;

		PreviewLayer.style.left = intLayerLeft + "px";
		PreviewLayer.style.top = intLayerTop + "px";
		PreviewLayer.style.display = "block";

		document.getElementById("preview_arrow").style.marginLeft = intArrowLeft+"px";

		document.getElementById('preview_title').innerHTML = decodeURIComponent(title);
		document.getElementById('preview_blog').innerHTML = decodeURIComponent(blog);
		if (image)
		{
			document.getElementById('preview_image').style.display = "block";
			document.getElementById('preview_image').innerHTML = decodeURIComponent(image);
		}else{
			document.getElementById('preview_image').style.display = "none";
		}
		document.getElementById('preview_content').innerHTML = decodeURIComponent(content);

	}else{
		PreviewLayer.style.display = "none";
	}
}

/*---------------------------------------------------------------------------------------------------------*/
//# Png  ó
/*---------------------------------------------------------------------------------------------------------*/

function setPng24(obj) { 
	obj.width=obj.height=1; 
	obj.className=obj.className.replace(/\bpng24\b/i,''); 
	obj.style.filter = 
	"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src+"',sizingMethod='image');" 
	//obj.src='';  
	return ''; 
} 


