// png 투명처리 IE 6
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 '';
}





/* 마우스 온오프 이미지*/
function imageOver(imgs) {
 imgs.src = imgs.src.replace("off.gif", "on.gif");
}
function imageOut(imgs) {
 imgs.src = imgs.src.replace("on.gif", "off.gif");
}
function imageOverExt(imgs, ext) {
	if(ext == null || ext == undefined || ext == "undefined" || ext == "")
		ext = "jpg";
	imgs.src = imgs.src.replace("off."+ext, "on."+ext);
}
function imageOutExt(imgs, ext) {
	if(ext == null || ext == undefined || ext == "undefined" || ext == "")
		ext = "jpg";
	imgs.src = imgs.src.replace("on."+ext, "off."+ext);
}



/*새창 클릭 팝업*/

function popup_01(){
cuteLittleWindow = window.open('/popup/popup.html', 'littleWindow', 'location=no,width=420,height=500'); 
}



/* 오늘 하루 안띄우기 팝업*/
/*function getCookie( name ){
	var nameOfCookie = name + "=";
	var x = 0;
	while ( x <= document.cookie.length )
	{
	var y = (x+nameOfCookie.length);
	if ( document.cookie.substring( x, y ) == nameOfCookie ) {
	if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
	endOfCookie = document.cookie.length;
	return unescape( document.cookie.substring( y, endOfCookie ) );
	}
	x = document.cookie.indexOf( " ", x ) + 1;
	if ( x == 0 )
	break;
	}
	return "";
	}
	if ( getCookie( "Notice" ) != "done" ) {
	noticeWindow  =  window.open('../popup/popup.html','eventpop','width=400,height=260,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,left=0,top=100');
	noticeWindow.opener = self;

	}

window.onload = getCookie();
*/






function swf_include(swfUrl,swfWidth,swfHeight,swfName,flashVars){
	// 플래시 코드 정의
	var flashStr=
	"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+swfWidth+"' height='"+swfHeight+"' id='"+swfName+"' align='middle' />"+
	"<param name='allowScriptAccess' value='sameDomain' />"+
	"<param name='allowFullScreen' value='true' />"+
	"<param name='movie' value='"+swfUrl+"' />"+
	"<param name='FlashVars' value='"+flashVars+"' />"+
	"<param name='loop' value='false' />"+
	"<param name='wmode' value='transparent' />"+
	"<param name='quality' value='high' />"+
    "<param name='scale' value='noscale' />"+
	"<param name='bgcolor' value='#ffffff' />"+
	"<embed src='"+swfUrl+"' FlashVars='"+flashVars+"' quality='best' wmode='transparent' width='"+swfWidth+"' height='"+swfHeight+"' name='"+swfName+"' align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
	"</object>";

	// 플래시 코드 출력
	document.write(flashStr);
}

function swf_otherdns_include(swfUrl,swfWidth,swfHeight,swfName,flashVars){
	// 플래시 코드 정의
	var flashStr=
	"<object id='happyFlashContents' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0' width='"+swfWidth+"' height='"+swfHeight+"' id='"+swfName+"' align='middle' />"+
	"<param name='allowScriptAccess' value='always' />"+
	"<param name='allowFullScreen' value='true' />"+
	"<param name='movie' value='"+swfUrl+"' />"+
	"<param name='FlashVars' value='"+flashVars+"' />"+
	"<param name='loop' value='false' />"+
	"<param name='wmode' value='transparent' />"+
	"<param name='quality' value='high' />"+
    "<param name='scale' value='noscale' />"+
	"<param name='bgcolor' value='#ffffff' />"+
	"<embed id='happyFlashContents' src='"+swfUrl+"' FlashVars='"+flashVars+"' quality='best' wmode='transparent' width='"+swfWidth+"' height='"+swfHeight+"' name='"+swfName+"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
	"</object>";

	// 플래시 코드 출력
	document.write(flashStr);
}


/*컨텐츠가 플래쉬일떄 wrap 100%와 최소값 유지하기*/
window.onload = function(){ minwidth.ie6() };
var minwidth = {
    ie6 : function(){
        if(navigator.userAgent.indexOf("MSIE 6")>0 && navigator.userAgent.indexOf("MSIE 7")<0){
            minwidth.action();
            window.onresize = function(){ minwidth.action(); }
        }
    },
    action : function(){
        var el = document.getElementById("wrap");
        if (document.body.offsetWidth > 970){
            el.style.width = "100%"
        } else {
            el.style.width = document.body.offsetWidth;
        }
    }
}

/* input background image*/
function 
    clrImg(obj){
        obj.style.background="#DEDEDE";obj.onkeydown=obj.onmousedown=null;
    }


/* 레이어 키고 끄기*/
/* faq */
function showhideLayer(targetId) { 	
	
    var el = document.getElementById(targetId);                             
    if((el) && (el.style.display == "none")) el.style.display = "block";    
    else if((el) && (el.style.display =="block")) el.style.display = "none";

	if(top.topMenu != null && top.topMenu != undefined && top.topMenu != "undefined") {
		var fm = top.document.getElementById("containerFrame");
		if((el) && (el.style.display == "none")) {
			//top.containerFrame.rows = "140px,*,80px";
			//fm.rows = "140px,*,80px";
			fm.rows = "144px,*";
		}
		else {
			//top.containerFrame.rows = "274px,*,80px";
			if ( targetId == "layer_mall_gnb1" )
			{
				fm.rows = "274px,*";
			}
			else if ( targetId == "layer_mall_gnb2" )
			{
				fm.rows = "300px,*";
			}
			else if ( targetId == "layer_mall_gnb3" )
			{
				fm.rows = "188px,*";
			}
			else
			{
				fm.rows = "274px,*";
			}
			
		}
	}

}

function showhideMallLayer(targetId) { 
	var el = null;

	if(targetId == "layer_mall_gnb1") {
		el = document.getElementById("layer_mall_gnb2");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb2");
		el = document.getElementById("layer_mall_gnb3");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb3");
	}
	else if(targetId == "layer_mall_gnb2") {
		el = document.getElementById("layer_mall_gnb1");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb1");
		el = document.getElementById("layer_mall_gnb3");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb3");
	}
	else if(targetId == "layer_mall_gnb3") {
		el = document.getElementById("layer_mall_gnb1");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb1");
		el = document.getElementById("layer_mall_gnb2");
	    if((el) && (el.style.display == "block")) showhideLayer("layer_mall_gnb2");
	}


    el = document.getElementById(targetId);                             
    if((el) && (el.style.display == "none")) el.style.display = "block";    
    else if((el) && (el.style.display =="block")) el.style.display = "none";

	if(top.topMenu) {
			
		if((el) && (el.style.display == "none")) {
			top.containerFrame.rows = "144px,*,80px";
		}
		else {
			top.containerFrame.rows = "274px,*,80px";
		}
	}
}

function viewGnbMenu(n)
{
	var el = null;

	for ( var i = 1; i <= 3; i++ )
	{
		try
		{
			el = document.getElementById("layer_mall_gnb" + i);
			el.style.display = "none";
		}
		catch(ex){}
	}

	showhideLayer("layer_mall_gnb" + n);
}





/*
function ContHeight() {
var cont = document.getElementById('contentsH').offsetHeight;
//alert(cont);  // alert는 값을 제대로 가지고 오고 있는지 확인하기 위함..
document.getElementById('leftH').style.height = cont +"px";
document.getElementById('rightH').style.height = cont +"px";
}*/


// GNB
var inter_id = "";
function ini_navi(){
	var gnbNavi = document.getElementById("gnb");
	var subMenu = gnbNavi.getElementsByTagName("ul");
	for (i=0; i<subMenu.length; i++) {
		subMenu[i].style.display = "none"; // 전체 서브레이어 숨김.
	}
	var gnbMenu = gnbNavi.getElementsByTagName("img");
	for (j=0; j<gnbMenu.length; j++) {
		gnbMenu[j].src = gnbMenu[j].src.replace("_on.gif","_off.gif");
	}
}
function explosive(){
	clearInterval(inter_id);
	inter_id = setInterval("ini_navi()",800);
}

function gnbNavi() {
	var gnbNavi = document.getElementById("gnb");
	var subMenu = gnbNavi.getElementsByTagName("ul");
	for (i=0; i<subMenu.length; i++) {
		subMenu[i].style.display = "none"; // 전체 서브레이어 숨김.

		var subLink = subMenu[i].getElementsByTagName("a");
		for (var m=0; m<subLink.length; m++) { // 서브메뉴 이미지 롤오버
			thismenu = subLink[m];
			thismenu.onmouseover = function() {
				clearInterval(inter_id);
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.src.indexOf('_on.gif') == -1) subImage.src = subImage.src.replace("_off.gif","_on.gif");
			}
			subLink[m].onmouseout = function() {
				explosive();
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.src.indexOf('_on.gif') != -1) subImage.src = subImage.src.replace("_on.gif","_off.gif");
			}
			subLink[m].onfocus = function() {
				clearInterval(inter_id);
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.src.indexOf('_on.gif') == -1) subImage.src = subImage.src.replace("_off.gif","_on.gif");
			}
			subLink[m].onblur = function() {
				explosive();
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.src.indexOf('_on.gif') != -1) subImage.src = subImage.src.replace("_on.gif","_off.gif");
			}
		}
	}

	var gnbMenu = gnbNavi.getElementsByTagName("li");
	for (j=0; j<gnbMenu.length; j++) {
		if (gnbMenu[j].className == "gnb_menu") {
			thismenu = gnbMenu[j].getElementsByTagName("a")[0];
			
			thismenu.onmouseover = function() {
				clearInterval(inter_id);
				subMenu = gnbNavi.getElementsByTagName("ul");
				for (k=0; k<subMenu.length; k++) {
					subMenu[k].style.display = "none";
					subMenu[k].parentNode.style.zIndex = "0";
				}
				
				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif","_off.gif");
					}
				}

				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace("_off.gif","_on.gif");
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "block";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
			}

			thismenu.onmouseout = function() {
				explosive();
			}

			thismenu.onfocus = function() {
				clearInterval(inter_id);
				subMenu = gnbNavi.getElementsByTagName("ul");
				for (k=0; k<subMenu.length; k++) {
					subMenu[k].style.display = "none";
					subMenu[k].parentNode.style.zIndex = "0";
				}

				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif","_off.gif");
					}
				}

				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace("_off.gif","_on.gif");
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "block";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
			}
			thismenu.onblur = function() {
				explosive();
			}

		}
	}	
}

//라디오 버튼 선택에 따라
 function test(val){
  var swt1 = document.getElementById("swt1");
  var swt2 = document.getElementById("swt2");
  var tab1 = document.getElementById("tab1");
  var tab2 = document.getElementById("tab2");
  if(swt1.checked){
   tab1.style.display = "block";
   tab2.style.display = "none";
  }else if(swt2.checked){
   tab1.style.display = "none";
   tab2.style.display = "block";
  }
 }

// 메인의 새로 탭메뉴
function ideaTab(num){
		if(!document.getElementById) return false;
		for(i=1; i<=4; i++){
		document.getElementById("ideaTabimg"+i).src = "../images/main/tab_to0"+i+"_off.gif"
		document.getElementById("ideaTabimg"+num).src = "../images/main/tab_to0"+num+"_on.gif"
		document.getElementById("ideaTab"+i).style.display = "none"
		document.getElementById("ideaTab"+num).style.display = "block"
	}
}


function ideaTb(num){
		if(!document.getElementById) return false;
		for(i=1; i<=3; i++){
		document.getElementById("ideaTabig"+i).src = "../images/main/tab_py0"+i+"_off.gif"
		document.getElementById("ideaTabig"+num).src = "../images/main/tab_py0"+num+"_on.gif"
		document.getElementById("ideaTb"+i).style.display = "none"
		document.getElementById("ideaTb"+num).style.display = "block"
	}
}


function gotoPromotionBanner(idx, url, target)
{
	var	Param = ({code : idx});
	var	tempUrl = null;
	var	arrUrl = null;
	AjaxLoad("/banner/updateCount.hm", Param, "POST");

	if ( target )
	{
		window.open(url, target);
	}
	else
	{
		if ( url.indexOf("http://") == 0 )
		{
			tempUrl = url.substr("http://".length, url.length);
		}
		else if (url.indexOf("https://") == 0)
		{
			tempUrl = url.substr("https://".length, url.length);
		}
		else
		{
			tempUrl = url;
		}
		arrUrl = tempUrl.split("/");
		
		if ( url.substr(0, 1) == "/" || arrUrl[0].indexOf("happymoney.co.kr") > -1 )
		{
			top.document.location.href = url;
		}
		else
		{
			window.open(url, "_Promotion_Link");
		}
	}
}







// Main Menu GNB
var menu_inter_id = "";
//var	menu_TagID = "maintopmenu";
//var menu_TagID = "playtopmenu";
//var menu_TagID = "malltopmenu";
var menu_sub_TagID = "sub_mainmenu";
var menu_sub_Name = "subList";
function init_menu_navi(){
	var gnbNavi = document.getElementById(menu_TagID);
	//var subMenu = gnbNavi.getElementsByTagName("ul");
	var subMenu = document.getElementById(menu_sub_TagID);
	
	if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
	{
		subMenu = subMenu.getElementsByTagName("div");
		for (i=0; i<subMenu.length; i++) {
			subMenu[i].style.display = "none"; // 전체 서브레이어 숨김.
		}
	}

	var gnbMenu = gnbNavi.getElementsByTagName("img");
	for (j=0; j<gnbMenu.length; j++) {
		gnbMenu[j].src = gnbMenu[j].src.replace("_on.gif","_off.gif");
	}
}
function menu_explosive(){
	clearInterval(menu_inter_id);
	menu_inter_id = setInterval("init_menu_navi()",800);
}

function gnbMenuNavi() {
	var gnbNavi = document.getElementById(menu_TagID);
	//var subMenu = gnbNavi.getElementsByTagName("ul");
	var subMenu = document.getElementById(menu_sub_TagID);

	if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
	{
		subMenu = subMenu.getElementsByTagName("div");
		for (i=0; i<subMenu.length; i++) {
			subMenu[i].style.display = "none"; // 전체 서브레이어 숨김.

			var subLink = subMenu[i].getElementsByTagName("a");
			for (var m=0; m<subLink.length; m++) { // 서브메뉴 이미지 롤오버
				thismenu = subLink[m];
				
				thismenu.onmouseover = function() {
					clearInterval(menu_inter_id);
					//subImage = this.getElementsByTagName("img")[0];
					//if(subImage.src.indexOf('_on.gif') == -1) subImage.src = subImage.src.replace("_off.gif","_on.gif");
				}
				subLink[m].onmouseout = function() {
					menu_explosive();
					//subImage = this.getElementsByTagName("img")[0];
					//if(subImage.src.indexOf('_on.gif') != -1) subImage.src = subImage.src.replace("_on.gif","_off.gif");
				}
				subLink[m].onfocus = function() {
					clearInterval(menu_inter_id);
					//subImage = this.getElementsByTagName("img")[0];
					//if(subImage.src.indexOf('_on.gif') == -1) subImage.src = subImage.src.replace("_off.gif","_on.gif");
				}
				subLink[m].onblur = function() {
					menu_explosive();
					//subImage = this.getElementsByTagName("img")[0];
					//if(subImage.src.indexOf('_on.gif') != -1) subImage.src = subImage.src.replace("_on.gif","_off.gif");
				}
			}
		}
	}

	var gnbMenu = gnbNavi.getElementsByTagName("li");
	for (j=0; j<gnbMenu.length; j++) {
		if (gnbMenu[j].className == "gnb_menu") {
			thismenu = gnbMenu[j].getElementsByTagName("a")[0];

			if ( thismenu == null || thismenu == undefined || thismenu == "undefined" || thismenu == "" )
			{
				continue;
			}
			
			thismenu.onmouseover = function() {
				clearInterval(menu_inter_id);
				//subMenu = gnbNavi.getElementsByTagName("ul");
				subMenu = document.getElementById(menu_sub_TagID);

				if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
				{
					subMenu = subMenu.getElementsByTagName("div");

					for (k=0; k<subMenu.length; k++) {
						subMenu[k].style.display = "none";
						//subMenu[k].parentNode.style.zIndex = "0";
						subMenu[k].style.zIndex = "0";
					}
				}
				
				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif","_off.gif");
					}
				}
				
				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace("_off.gif","_on.gif");
				/*
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "block";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
				*/
				if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
				{
					if (this.name != null && this.name != undefined && this.name != "undefined" && this.name != "")
					{
						subMenu[parseInt(this.name)].style.display = "block";
						subMenu[parseInt(this.name)].style.zIndex = "1";
					}
				}
			}

			thismenu.onmouseout = function() {
				menu_explosive();
			}

			thismenu.onfocus = function() {
				clearInterval(menu_inter_id);
				//subMenu = gnbNavi.getElementsByTagName("ul");
				subMenu = document.getElementById(menu_sub_TagID);

				if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
				{
					subMenu = subMenu.getElementsByTagName("div");

					for (k=0; k<subMenu.length; k++) {
						subMenu[k].style.display = "none";
						//subMenu[k].parentNode.style.zIndex = "0";
						subMenu[k].style.zIndex = "0";
					}
				}

				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif","_off.gif");
					}
				}

				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace("_off.gif","_on.gif");
				/*
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "block";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
				*/
				if ( subMenu != null && subMenu != undefined && subMenu != "undefined" && subMenu != "")
				{
					if (this.name != null && this.name != undefined && this.name != "undefined" && this.name != "")
					{
						subMenu[parseInt(this.name)].style.display = "block";
						subMenu[parseInt(this.name)].style.zIndex = "1";
					}
				}
			}
			thismenu.onblur = function() {
				menu_explosive();
			}

		}
	}	
}







var	HMHFlick = function()
{
	this.ItemLength = 0;
	this.touching = false
	this.dPrevious = -1;
	this.dCurrent = 0;
	this.dNext = 1;
	this.oX = 0;

	this.TargetID = "Div";
	this.TargetClass = "";
	this.AniCtL = "flickCtL";
	this.AniRtC = "flickRtC";
	this.AniCtR = "flickCtR";
	this.AniLtC = "flickLtC";
	this.TargetStartX = 0;
	this.TargetEndX = 460;
	this.MoveOffset = 50;

	this.Callback = null;
}
HMHFlick.prototype.init = function()
{
	var obj = null;

	obj = $("#" + this.TargetID + 0);
	obj.css("margin-left", this.TargetStartX + "px");
	this.ShowHide(0, true);

	for(var i=1; i < this.ItemLength; i++)
	{
		obj = $("#" + this.TargetID + i);
		obj.css("margin-left", this.TargetEndX + "px");
		this.ShowHide(i, false);
	}

	this.onTabClick(this.dCurrent);
}
HMHFlick.prototype.ShowHide = function(n, isShow)
{
	if ($.browser.msie)
	{
		obj = $("#" + this.TargetID + n);
		if (isShow)
		{
			obj.show();
		}
		else
		{
			obj.hide();
		}
	}
}
HMHFlick.prototype.touchHandler = function(e)
{
	var touch = null;
	var nX = 0;
	var	scrollX = 0;

	if (e.type == "touchstart")
	{
		this.touching = true;

		// 터치가 한개일때 (멀티터치 허용안함)
		if (e.touches.length == 1)
		{
			touch = e.touches[0];

			if(touch.target.onclick)
			{
				touch.target.onclick();
			}

			this.oX = touch.pageX;

			//document.getElementById('dir').innerHTML = 'Direction: Null (' +this.TargetID + ' , ' + this.dPrevious + ' , ' + this.dCurrent + ' , ' +this.dNext+ ')';	// Debugging
			//document.getElementById('oX').innerHTML = 'Start X-Coord: '+this.oX+'px';	// Debugging
		}
	}
	else if (e.type == "touchmove")
	{
		e.preventDefault();

		if (e.touches.length == 1)
		{
			touch = e.touches[0];
			nX = touch.pageX;
			scrollX = this.oX - nX;

			//document.getElementById('nX').innerHTML = 'Current X-Coord: '+nX+'px';	// Debugging
			//document.getElementById('scrollX').innerHTML = 'Scroll Distance: '+scrollX+'px';	// Debugging

			if (scrollX > this.MoveOffset)		// Left
			{
				//document.getElementById('dir').innerHTML = 'Direction: Flicked Left Ready (' +this.TargetID + ' , ' + this.dPrevious + ' , ' + this.dCurrent + ' , ' +this.dNext+ ')';	// Debugging
				//document.getElementById('targetObj').innerHTML = 'Target: ' + document.getElementById(this.TargetID + this.dNext);	// Debugging
				if (document.getElementById(this.TargetID + this.dNext))
				{
					//document.getElementById('dir').innerHTML = 'Direction: Flicked Left';	// Debugging
					if (this.touching == true)
					{
						this.touching = false;

						this.switchNext(this.dCurrent, this.dNext);
						
						//document.getElementById('dir').innerHTML = 'Direction: Flicked Left Update (' +this.TargetID + ' , ' + this.dPrevious + ' , ' + this.dCurrent + ' , ' +this.dNext+ ')';	// Debugging
					}
				}
			}
			else if (scrollX < -this.MoveOffset)	// Right
			{
				//document.getElementById('dir').innerHTML = 'Direction: Flicked Right Ready (' +this.TargetID + ' , ' + this.dPrevious + ' , ' + this.dCurrent + ' , ' +this.dNext+ ')';	// Debugging
				//document.getElementById('targetObj').innerHTML = 'Target: ' + this.dPrevious;	// Debugging
				if (this.dPrevious >= 0)
				{
					//document.getElementById('dir').innerHTML = 'Direction: Flicked Right';	// Debugging
					if (this.touching == true)
					{
						this.touching = false;

						this.switchPrevious(this.dCurrent, this.dPrevious);

						
					}
				}
			}
		}
	}
	else
	{
		this.touching = false;
	}
}
HMHFlick.prototype.switchNext = function(divOut, divIn)
{
	var	objIn = $("#" + this.TargetID + divIn);
	var	objOut = $("#" + this.TargetID + divOut);
	var	strClass = "";

	if (this.dNext + 1 <= this.ItemLength)
	{
		if (this.TargetClass != null && this.TargetClass != undefined && this.TargetClass != "undefined" && this.TargetClass != "")
		{
			strClass = this.TargetClass + " ";
		}

		objOut.attr("class", (strClass + this.AniCtL));
		objIn.attr("class", (strClass + this.AniRtC));
		
		objOut.css("margin-left", -this.TargetEndX + "px");
		objIn.css("margin-left", this.TargetStartX + "px");

		this.ShowHide(divOut, false);
		this.ShowHide(divIn, true);
		
		this.dPrevious = this.dCurrent;
		this.dCurrent = this.dNext;
		this.dNext = this.dNext + 1;

		this.callback(this.dPrevious);
	}
}
HMHFlick.prototype.switchPrevious = function(divOut, divIn)
{
	var	objIn = $("#" + this.TargetID + divIn);
	var	objOut = $("#" + this.TargetID + divOut);
	var	strClass = "";

	if (this.dPrevious - 1 >= -1)
	{
		if (this.TargetClass != null && this.TargetClass != undefined && this.TargetClass != "undefined" && this.TargetClass != "")
		{
			strClass = this.TargetClass + " ";
		}

		objOut.attr("class", strClass + this.AniCtR);
		objIn.attr("class", strClass + this.AniLtC);

		objOut.css("margin-left", this.TargetEndX + "px");
		objIn.css("margin-left", this.TargetStartX + "px");

		this.ShowHide(divOut, false);
		this.ShowHide(divIn, true);

		this.dNext = this.dCurrent;
		this.dCurrent = this.dPrevious;
		this.dPrevious = this.dPrevious - 1;

		this.callback(this.dNext);
	}
}
HMHFlick.prototype.onTabClick = function(n)
{
	var	obj = null;
	var	oldIndex = this.dCurrent;
	if (n >= 0 && n < this.ItemLength)
	{
		for(var i=0; i < n; i++)
		{
			obj = $("#" + this.TargetID + i);

			obj.attr("class", (this.TargetID + this.AniCtL));
			obj.css("margin-left", -this.TargetEndX + "px");
		}
		for(var i=n+1; i < this.ItemLength; i++)
		{
			obj = $("#" + this.TargetID + i);

			obj.attr("class", (this.TargetID + this.AniCtR));
			obj.css("margin-left", this.TargetEndX + "px");
		}

		obj = $("#" + this.TargetID + n);
		if (oldIndex > n)
		{
			obj.attr("class", (this.TargetID + this.AniLtC));
		}
		else
		{
			obj.attr("class", (this.TargetID + this.AniRtC));
		}
		obj.css("margin-left", this.TargetStartX + "px");

		this.ShowHide(oldIndex, false);
		this.ShowHide(n, true);

		this.dPrevious = n - 1;
		this.dCurrent = n;
		this.dNext = n + 1;

		this.callback(oldIndex);
	}
}
HMHFlick.prototype.next = function()
{
	this.switchNext(this.dCurrent, this.dNext);
}
HMHFlick.prototype.prev = function()
{
	this.switchPrevious(this.dCurrent, this.dPrevious);
}
HMHFlick.prototype.addEventListener = function(obj)
{
	if (!$.browser.msie)
	{
		document.getElementById(obj).addEventListener("touchstart", delegate(this, this.touchHandler), false);
		document.getElementById(obj).addEventListener("touchmove", delegate(this, this.touchHandler), false);
		document.getElementById(obj).addEventListener("touchend", delegate(this, this.touchHandler), false);
		document.getElementById(obj).addEventListener("touchcancel", delegate(this, this.touchHandler), false);
	}
}
HMHFlick.prototype.callback = function(oldIndex)
{
	var	e = null;

	if (this.Callback != null)
	{
		e =
		{
			Index : this.dCurrent,
			OldIndex : oldIndex,
			Length : this.ItemLength
		};

		this.Callback.call(null, e);
	}
}

