
// name1=value1&name2=value2 Çü½Ä¿¡¼­ °ª ÀÐ±â ÇÔ¼ö
function getFirstParam(src, name)
{
	var r, r2, re, re2;
	re = new RegExp(name + "=([^&]*)&{0,1}","ig");
	r =  src.match(re);
	
	if ( r != null )
	{
		for ( i = 0 ; i < r.length ; i++)
		{
			re2 = new RegExp("=([^&]*)","ig");
			r2 = r[i].match(re2);
			return RegExp.$1;
		}
	}

	return "";
}



// 34,560 ÇüÅÂ·Î ¹ÝÈ¯
function getCurrency(pData)
{
	var t, cnt;
	var nStart;
	var data;
	t = "";
	cnt = 0;
	
	var nStart = 0;

	if ( !pData || pData.length == 0 )
		return (pData);
	
	data = pData.toString();
	
	if ( data.substr(0,1) == "-" )
		nStart = 1
		
	for ( i = data.length-1 ; i >= nStart ; i-- ) {
		if ( cnt == 3 ) {
			cnt = 0;
			t = "," + t;
		}
		
		t = data.substr(i,1) +t;
		cnt++;
	}
	
	if ( data.substr(0,1) == "-" )
		t = "-" + t;

	return (t);

}

function getEndorphinCurrency(pData) {
	// ¹ö¸² Ã³¸®
	return getCurrency(Math.floor(pData));
}

// nOption=1: 454,932,349 -> 4¾ï5Ãµ4¹é9½Ê3¸¸2Ãµ3¹é4½Ê9
// nOption=2: 4 54,93 2,349 -> 4¾ï 5493¸¸ 2349
// bSpace = true/false : false ÀÏ °æ¿ì ¹®ÀÚ¿­ ¸¶Áö¸·¿¡ °ø¹éÀ» Á¦°ÅÇÑ ÈÄ ¸®ÅÏÇÔ. 
function getKoreanCurrency(pData,nOption,bSpace)
{
	
	var kUnit = new Array("","¸¸","¾ï","Á¶","°æ");
	var kUnitUsed = new Array(false,false,false,false,false);

	// À½¼ö ¹«½ÃÇÔ
	// ¼Ò¼öÁ¡ ¾Æ·¡ ¹ö¸²
	var data = Math.floor(pData);
	var res = "";
	
	//data = 123456;
	data = data.toString();
	var v = 0;
	var sv = "";
	var svv = 0;
	var ku = 0;
	var kUnitTemp = "";
	for ( var i = 0 ; i < data.length ; i++ ) {
		ku = Math.floor(i/4);
		v = data.substr(data.length-i-1,1);
		
		if ( nOption==null || nOption==1 ) {
			sv = getConvertedKUnit(i,eval(v));
			if ( sv!=null && sv.length > 0 && !kUnitUsed[ku] ) {
				kUnitUsed[ku] = true;
				kUnitTemp = kUnit[ku];
			} else {
				kUnitTemp = "";
			}
			res = sv + kUnitTemp + res;
		} else if ( nOption == 2 )  {
			svv += v * getPower(10,i%4);
			
			if ( (i+1) % 4 == 0 || i==data.length-1 ) {
				if ( svv > 0 ) {
					res = svv + kUnit[ku] + " " + res;
				}
				svv = 0;
			}
		}
	}
	
	if ( bSpace!=null && bSpace != "undefined" && !bSpace) {
		if (res.length > 1) {
			res =  res.substring(0,res.length-1);
		} else {
			res = "0";
		}
	} else {
		if ( res == "" ) res = "0 ";
	}
	return res;
}

// Æ÷Ä¿¼­ºñ½º °³¼±¿¡ µû¸¥ ¸Ó´ÏÀÇ 1/10000 Ãà¼ÒÈ­ Ã³¸®¿ë ¸Þ¼Òµå. 2008.07.07 joajoau 
function getKoreanCurrencyForPoker(pData,nOption,bSpace) {
	var money = Math.floor(pData/10000);
	return getKoreanCurrency(money,nOption,bSpace);
}

function getConvertedKUnit(nUnit, nVal) {
	var kBasicUnit = new Array("","½Ê","¹é","Ãµ");
	if ( nVal == 0 )
		return "";
	nUnit = nUnit % 4;
	return nVal + kBasicUnit[nUnit];
}

function getPower(a,n) {
	var r = 1;
	for ( var i = 0 ; i < n ; i++ ) {
		r *= a;
	}
	return r;
}

function getAbbrText(text, unicodeLength, nOption) {
	var res = text.substr(0,unicodeLength);
	if ( text != res )
		return res.substr(0,res.length) + "...";
	else
		return res;
}


//////////////////////////
// buy, gift, wear
//////////////////////////

// searches global variable _avShowItem in self window
// if it fails, it searches again in the ascendant windows up to 3 levels.
function findAvShowItem()
{
	if ( typeof(_avShowItem)=="object" ) {
		return _avShowItem;
	} else if ( parent && typeof(parent._avShowItem)=="object" ) {
		return parent._avShowItem;
	} else if ( parent && parent.parent && typeof(parent.parent._avShowItem)=="object" ) {
		return parent.parent._avShowItem;
	} else if ( parent && parent.parent && parent.parent.parent && typeof(parent.parent.parent._avShowItem)=="object" ) {
		return parent.parent.parent._avShowItem;
	}
	return null;
}

// wear an item
function wearItem(avCode)
{
	if ( avCode==null )
		return;
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem )
		tempAvShowItem.clickItem(avCode);
}

// restore to initial avatar
function restoreAvatar()
{
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem )
		tempAvShowItem.initAvID();
}

// restore to basic avatar if current sex is diffent from user's sex
// restore to initial avatar if current sex is same as user's sex
function restoreAvatarCurSex()
{
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		if ( getSex() == getUserSex() )
			tempAvShowItem.initAvID();
		else	
			tempAvShowItem.initBasicAvID();
	}
}

// buy wearing items
function buyWearing(traceId)
{
	var sList;
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		sList = av_getNewlyAddedAvCodeFromAvID(tempAvShowItem.avatarIDInit,tempAvShowItem.avatarID);
		sList = av_getNewlyAddedAvCodeFromAvID(av_gsBasicAvCodeList,sList);
		
		if ( sList.length > 0 )
		{
			sList = sList.replace(/_/g,"@");
			buyItems(sList,traceId);
		}
		else
			alert("±¸¸ÅÇÒ ÀÇ»óÀÌ ¾ø½À´Ï´Ù");
	}
}

// buy other's wearing items
function buyOtherWearing(otherAvatarId, traceId)
{
	var sList = av_getNewlyAddedAvCodeFromAvID(av_gsBasicAvCodeList,otherAvatarId);
	if ( sList.length > 0 ) {
		sList = sList.replace(/_/g,"@");
		buyItems(sList, traceId);
	}
	else
		alert("±¸¸ÅÇÒ ÀÇ»óÀÌ ¾ø½À´Ï´Ù");
}

// gift other's wearing items
function giftOtherWearing(otherAvatarId, traceId)
{
	var sList = av_getNewlyAddedAvCodeFromAvID(av_gsBasicAvCodeList,otherAvatarId);
	if ( sList.length > 0 ) {
		sList = sList.replace(/_/g,"@");
		giftItems(sList, "","", traceId);
	}
	else
		alert("±¸¸ÅÇÒ ÀÇ»óÀÌ ¾ø½À´Ï´Ù");
}


// get current avatarid
function getCurrentAvatarId()
{
	var sList;
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		return tempAvShowItem.avatarID;
	}
}

function afterSaveAvID(newAvatarId) {
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		tempAvShowItem.afterSaveAvID(newAvatarId);
	}
}

function getAvatarServer(hostName) {
	if ( hostName.search(/local/g) >= 0 )
		return "http://local-avatar.hangame.com";
	else if ( hostName.search(/dev/g) >= 0 )
		return "http://dev-avatar.hangame.com";
	else if ( hostName.search(/alpha/g) >= 0 )
		return "http://alpha-avatar.hangame.com";
	else if ( hostName.search(/beta/g) >= 0 )
		return "http://beta-avatar.hangame.com";
	else
		return "http://avatar.hangame.com";
}

// À¥·Î±× ÅÂ±ëÀ» À§ÇÑ document referer Á¤ÀÇÇÏ±â 2006.12.27 joajoau
function getDocRef(docref) {
	if(typeof(docref)=="string" && docref!="" && docref!="undefined") {
		return docref;
	} else {
		if(typeof(opener)=="object") {
			return escape(getDocRefTrim(top.document.URL));
		}else if(typeof(top.opener)=="object") {
			return escape(getDocRefTrim(top.document.URL));
		}else if(typeof(parent.opener)=="object") {
			return escape(getDocRefTrim(parent.opener.top.document.URL));
		}else {
			return escape(getDocRefTrim(top.document.URL));
		}
	}
}
//  ÅÂ±ë½Ã referer¿¡ #ÀÌ ÀÖÀ» °æ¿ì ºô¸µ¼­¹ö¿¡¼­ µÇµ¹¾Æ¿Ã °æ¿ì ¸ØÃãÇö»ó¶§¹®¿¡ #À» Á¦°ÅÇÏ´Â ÇÔ¼ö¸¦ ¸¸µê.  2007.01.10 joajoau 
function getDocRefTrim(docref) {
	var lastchar = docref.substring(docref.length-1,docref.length);
	if(lastchar=="#") return docref.substring(0,docref.length-1);
	if(lastchar=="&") return docref.substring(0,docref.length-1);
	else			  return docref;
}

// ¿£µ¹ÇÉ ¾Æ¹ÙÅ¸ ±¸¸Å ÇÔ¼ö
function buyItems(avCodeList, traceId, target, noPopup, docref)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	
	if ( avCodeList == "SBU022" ) {
		alert("½Ã½ºÅÛ ¹®Á¦·Î ÇöÀç ÁØºñÁßÀÔ´Ï´Ù.");
		return;
	}
	
	var curSex = getJsCookie(JS_SEX);
	var list = avCodeList.split("@");
	for ( var i = 0 ; i < list.length ; i++ ) {
		if ( (list[i].substr(2,1) != "U") && (list[i].substr(2,1) != curSex ) ) {
			alert("¼ºº°ÀÌ ´Ù¸¥ ¾ÆÀÌÅÛÀº ±¸¸ÅÇÒ ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
	}
	docref = getDocRef(docref);
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType=buy&itemCodes=" + avCodeList + "&traceId=" + traceId +"&docref="+docref;
	if(target == "client")
		top.location.href = sUrl + "&from=client";
	else {
		target = (target!=null && target!="" && typeof(target)!="undefined")?target:"";
		var noPopup = ( noPopup == "true") ? true : false;
		if(noPopup)  top.location.href = sUrl+"&from="+target;
		else 		 var win = openWin(sUrl+"&from="+target,"avatarPopup",540,540,"no");
	}
	
}

// ¿£µ¹ÇÉ ¾Æ¹ÙÅ¸ º¹¼ö ¼ÂÆ® ±¸¸Å ÇÔ¼ö 
function buyPluralItems(avCodeList, traceId, target, noPopup, docref)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}

	docref = getDocRef(docref);
	var sUrl = getAvatarServer(location.host) + "/tradePlural.nhn?m=form&actionType=buy&itemCodes=" + avCodeList + "&traceId=" + traceId +"&docref="+docref;
	if(target == "client")
		top.location.href = sUrl + "&from=client";
	else {
		target = (target!=null && target!="" && typeof(target)!="undefined")?target:"";
		var noPopup = ( noPopup == "true") ? true : false;
		if(noPopup)  top.location.href = sUrl+"&from="+target;
		else 		 var win = openWin(sUrl+"&from="+target,"avatarPopup",540,540,"no");
	}	
}

function buyBadukItems(avCode, traceId, target)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	// ¹ÙµÏÈ¸¿øÁ¦ ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	if(traceId=="S760" && (typeof(badukUser)=="string" && badukUser=="false" )) {
		openWin("/common/avatar/nobaduk.jsp","redcan",500,500,"no");
		return;	
	}
	
	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	// ´ÜÀÏ Ç°¸ñ¸¸ ±¸ÀÔ°¡´É
	if ( avCode.length > 6 ) {
		alert("¹ÙµÏ ¾Æ¹ÙÅ¸´Â ÇÑ¹ø¿¡ ÇÏ³ª¾¿¸¸ ±¸ÀÔÀÌ °¡´ÉÇÕ´Ï´Ù");
		return;	
	}
	for ( var i = 0 ; i < list.length ; i++ ) {
		if ( (list[i].substr(2,1) != "U") && (list[i].substr(2,1) != curSex ) ) {
			alert("¼ºº°ÀÌ ´Ù¸¥ ¾ÆÀÌÅÛÀº ±¸¸ÅÇÒ ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
	}
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType=buybaduk&itemCodes=" + avCode + "&traceId=" + traceId;
	if(target == "client")
		top.location.href = sUrl + "&from=client";
	else
		var win = openWin(sUrl,"avatarPopup",540,540,"no");
}

// Plus °¡ÀÔÀ¯µµ ÆË¾÷ 
function popLeadPlus(category, docref) {
	docref = getDocRef(docref);
	openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category="+category+"&docref="+docref,"membership",400,610,"no");
}

// È¸¿øÁ¦¸Ó´Ï¾Æ¹ÙÅ¸ ±¸¸ÅÇÏ±â  2007.11.08 joajoau
//buytype : buyPlusWPoker/buyPlusVPoker/buyPlusWGostop/buyPlusVGostop/buybaduk
function buyMembershipMoneyAvatarItems(buytype, avCode, traceId, gameshop, from, docref)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	var shopId = traceId.substring(0,4);
	// ¹ÙµÏÈ¸¿øÁ¦ ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	if(shopId=="S760" && (typeof(badukUser)=="string" && badukUser=="false" )) {
		alert("¹ÙµÏÈ¸¿øÁ¦°¡ ¹ÙµÏPlus·Î °³ÆíµÇ¾î ½Å±ÔÈ¸¿øÀº Plus Àü¿ë»óÁ¡ ÀÌ¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.");
		top.location.href = getServiceHost("baduk") + "/shop.nhn?m=plus";
		return;	
	}
	// °í½ºÅéVÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S713" && (typeof(gostopVUser)=="string" && gostopVUser!="true" )) {
		//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusVGostop","membership",400,610,"no");
		popLeadPlus("PlusVGostop");
		return;	
	}
	// °í½ºÅéWÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S714" && (typeof(gostopWUser)=="string" && gostopWUser!="true" )) {
		//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusWGostop","membership",400,610,"no");
		popLeadPlus("PlusWGostop");
		return;	
	}
	// Æ÷Ä¿VÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S781" && (typeof(pokerVUser)=="string" && pokerVUser!="true" )) {
		//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusVPoker","membership",400,610,"no");
		popLeadPlus("PlusVPoker");
		return;	
	}
	// Æ÷Ä¿WÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S782" && (typeof(pokerWUser)=="string" && pokerWUser!="true" )) {
		//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusWPoker","membership",400,610,"no");
		popLeadPlus("PlusWPoker");
		return;	
	}
	// ¹ÙµÏ¾ÖÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S762" && (typeof(badukLoveUser)=="string" && badukLoveUser!="true" )) {
		if(badukBestUser=="true") {
			alert("È¸¿ø´Ô²²¼­´Â ½ÅPlusÀü¿ë»óÁ¡À» ÀÌ¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.");
			location.href = getAvatarServer(location.host) + "/avshop.nhn?m=plusshop&shop=baduk&category=badukBest&catid=S763";
		} else {
			//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusLoveBaduk","membership",400,510,"no");
			popLeadPlus("PlusLoveBaduk");
		}
		return;	
	}
	// ¹ÙµÏ½ÅÇÃ·¯½º ¾Æ¹ÙÅ¸ÀÏ °æ¿ì Ã¼Å© 
	else if(shopId=="S763" && (typeof(badukBestUser)=="string" && badukBestUser!="true" )) {
		//openWin(getAvatarServer(location.host) + "/plus/leadplus.nhn?category=PlusBestBaduk","membership",400,510,"no");
		popLeadPlus("PlusBestBaduk");
		return;	
	}
			
	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	for ( var i = 0 ; i < list.length ; i++ ) {
		if ( (list[i].substr(2,1) != "U") && (list[i].substr(2,1) != curSex ) ) {
			alert("¼ºº°ÀÌ ´Ù¸¥ ¾ÆÀÌÅÛÀº ±¸¸ÅÇÒ ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
	}
	docref = getDocRef(docref);
	var sUrl = "";
	if(typeof(gameshop)=="string" && gameshop!="" && gameshop!="undefined" && gameshop=="true") {
		gameshop = "true";
	} else gameshop = "false";
		
	if ( (shopId=="S713" || shopId=="S714") && gameshop == "true" )
		sUrl = getAvatarServer(location.host) + "/tradePlural.nhn?m=form&actionType="+buytype+"&itemCodes=" + avCode + "&traceId=" + traceId+"&docref="+docref;
	else
		sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType="+buytype+"&itemCodes=" + avCode + "&traceId=" + traceId+"&docref="+docref;
	
	if(from == null || from == "")
		var win = openWin(sUrl,"membership",540,540,"no");
	else
		top.location.href = sUrl + "&from=" + from ;
}

// ¸Ó´Ï¾Æ¹ÙÅ¸ ±¸¸ÅÇÏ±â  2007.01.03 joajoau
// buytype : buyhanyut/buybillmania/buyjanggi/buyPlusLimitGostop
function buyMoneyAvatarItems(buytype, avCode, traceId, from, docref)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
		
	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	for ( var i = 0 ; i < list.length ; i++ ) {
		if ( (list[i].substr(2,1) != "U") && (list[i].substr(2,1) != curSex ) ) {
			alert("¼ºº°ÀÌ ´Ù¸¥ ¾ÆÀÌÅÛÀº ±¸¸ÅÇÒ ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
	}
	docref = getDocRef(docref);
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType="+buytype+"&itemCodes=" + avCode + "&traceId=" + traceId+"&docref="+docref;
	if(from == null || from == "")
		var win = openWin(sUrl,"avatarPopup",540,540,"no");
	else
		top.location.href = sUrl + "&from=" + from ;
}

function giftGostopGiftItems(avCode, traceId)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	
	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	// ´ÜÀÏ Ç°¸ñ¸¸ ±¸ÀÔ°¡´É
	if ( avCode.length > 6 ) {
		alert("°í½ºÅé ¼±¹° Àü¿ë ¾Æ¹ÙÅ¸´Â ÇÑ¹ø¿¡ ÇÏ³ª¾¿¸¸ ±¸ÀÔÀÌ °¡´ÉÇÕ´Ï´Ù");
		return;	
	}
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType=giftGostopGift&itemCodes=" + avCode + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",540,540,"no");
}


function giftBadukGiftItems(avCode, traceId)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	
	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	// ´ÜÀÏ Ç°¸ñ¸¸ ±¸ÀÔ°¡´É
	if ( avCode.length > 6 ) {
		alert("¹ÙµÏ ¼±¹° Àü¿ë ¾Æ¹ÙÅ¸´Â ÇÑ¹ø¿¡ ÇÏ³ª¾¿¸¸ ±¸ÀÔÀÌ °¡´ÉÇÕ´Ï´Ù");
		return;	
	}
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType=giftBadukGift&itemCodes=" + avCode + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",540,540,"no");
}

function buyBonusItems(avCode, traceId, docref)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}

	var curSex = getJsCookie(JS_SEX);
	var list = avCode.split("@");
	for ( var i = 0 ; i < list.length ; i++ ) {
		if ( (list[i].substr(2,1) != "U") && (list[i].substr(2,1) != curSex ) ) {
			alert("¼ºº°ÀÌ ´Ù¸¥ ¾ÆÀÌÅÛÀº ±¸¸ÅÇÒ ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
	}
	docref = getDocRef(docref);
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=bonusform&actionType=buy&itemCodes=" + avCode + "&traceId=" + traceId+"&docref="+docref;
	var win = openWin(sUrl,"avatarPopup",420,600,"no");

}

function giftBonusItems(avCodeList, toId, serviceName, traceId)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	if ( toId==null ) toId = "";
	
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=bonusform&actionType=gift&itemCodes=" + avCodeList + "&toId=" + toId + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",420,600,"no");
}

function giftItems(avCodeList, toId, serviceName, traceId)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	if ( toId==null ) toId = "";
	
	var sUrl = getAvatarServer(location.host) + "/tradeNew.nhn?m=form&actionType=gift&itemCodes=" + avCodeList + "&toId=" + toId + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",540,600,"no");
}

function viewItem(avCode,shoptype)
{
	var win = openWin("/view.nhn?m=detailView&itemCode=" + avCode+"&shoptype="+shoptype,"avatarPopup", 400,200,"no");
}

function wishItems(avCodeList)
{
	if ( !isHangameLogined() )
	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;
	}

	var sUrl = "/cart.nhn?m=insertCart&itemCodes=" + avCodeList;
	var win = openWin(sUrl,"wishList",420,300,"no");

}

function teaseItem(avCode)
{
	if ( !isHangameLogined() )
	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}

	var sUrl = "/tease.nhn?m=popTease&itemCode=" + avCode;
	var win = openWin(sUrl,"wishList",420,300,"no");	
	
	
}

// purchase process with avatarid
function buyAvatarID(avatarid, traceId)
{
	var finalCodeList = "";
	if ( avatarid == null )
		return;
	buyItems(avatarid,traceId);
	/*	
	var avCodeList = avatarid.split("_");
	for ( var i = 0 ; i < avCodeList.length ; i++ ) {
		if ( avCodeList[i] && isPurchasableFromAvatarID(avCodeList[i]) )	
			finalCodeList += "@" + av_getNormalizedBuyCode(avCodeList[i]);
	}
	
	if ( finalCodeList.length > 0 )
		finalCodeList = finalCodeList.substr(1,finalCodeList.length-1);
	
	if ( finalCodeList.length > 0 )
		buyItems(finalCodeList, traceId);
	else
		alert("±¸¸ÅÇÒ ¾ÆÀÌÅÛÀÌ ¾ø½À´Ï´Ù");
	*/
}

function giftAvatarID(avatarid,traceId)
{
	var finalCodeList = "";
	if ( avatarid == null )
		return;

	var avCodeList = avatarid.split("_");
	for ( var i = 0 ; i < avCodeList.length ; i++ ) {
		if ( avCodeList[i] && isPurchasableFromAvatarID(avCodeList[i]) )	
			finalCodeList += "@" + av_getNormalizedBuyCode(avCodeList[i]);
	}
	if ( finalCodeList.length > 0 )
		finalCodeList = finalCodeList.substr(1,finalCodeList.length-1);
	
	if ( finalCodeList.length > 0 )
		giftItems(finalCodeList,"","",traceId);
	else
		alert("¼±¹°ÇÒ ¾ÆÀÌÅÛÀÌ ¾ø½À´Ï´Ù");
}


function buyPack(avPackCode,traceId)
{
	if ( !isHangameLogined() )	{
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	var curSex = getJsCookie(JS_SEX);
	var packItemCode = avPackCode.substr(0,2) + curSex + avPackCode.substr(3,3);
	
	buyItems(packItemCode,traceId);
	//var sUrl = "/trade.nhn?m=confirmPassword&actionType=buyPack&nextAction=/trade.nhn&nextMethod=purchase&nextSubmitMethod=POST&mileageOption=F&itemCodes=" + packItemCode + "&traceId=" + traceId;
	//var win = openWin(sUrl,"±¸¸Å",420,600,"no");
}



function buyDressRoomTicket(ticketCode, traceId)
{
	if ( !isHangameLogined() ) {
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	var sUrl = "/tradeNew.nhn?m=form&actionType=buyTicket&itemCodes=" + ticketCode + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",540,540,"no");
}


function giftDressRoomTicket(ticketCode, traceId)
{
	if ( !isHangameLogined() ) {
		alert("·Î±×ÀÎ ÈÄ ÀÌ¿ëÇØÁÖ¼¼¿ä");
		return;	
	}
	var sUrl = "/tradeNew.nhn?m=form&actionType=giftTicket&itemCodes=" + ticketCode + "&traceId=" + traceId;
	var win = openWin(sUrl,"avatarPopup",540,540,"no");
}

function getSplitCodeString(avatarID)
{
	var avCodeList;
	var finalAvCodeListString = "";
	if ( avatarID && avatarID.length > 0 )
	{
		avCodeList = avatarID.split("_");
		for ( var i = 0 ; i < avCodeList.length ; i++ )
		{
			if ( avCodeList[i] && isPurchasableFromAvatarID(avCodeList[i]) )
			{
				if ( finalAvCodeListString.length > 0 )
					finalAvCodeListString += "@" + avCodeList[i].substr(0,6);
				else
					finalAvCodeListString = avCodeList[i].substr(0,6);
			}
		}
		return finalAvCodeListString;
	}
	else
		return "";

}

function isPurchasable(avCode)
{
	var sBasicCode = "LCM001_LCF001_HCM001_HCF001_PNM001_PNF001";
	
	if ( !isNormalCode(avCode) )
		return false;
		
	if ( sBasicCode.indexOf(avCode) >= 0 )
		return false;
	
	return true;
}

function isPurchasableFromAvatarID(avCode)
{
	var sBasicCode = "LCM001_LCF001_HCM001_HCF001_PNM001_PNF001_FNM001_FNF001";
	
	if ( !isNormalCode(avCode) )
		return false;
		
	if ( sBasicCode.indexOf(avCode) >= 0 )
		return false;
		
	if ( isMusicAvatarCode(avCode) )
		return false;
	
	return true;
}

function isNormalCode(avCode)
{
	if ( !avCode || (avCode.length != 6 && avCode.length !=7 ) || avCode.toUpperCase() != avCode || "UMF".indexOf(avCode.substr(2,1)) < 0 )
		return false;
	else
		return true;
}


function isMusicAvatarCode(avCode)
{
	if ( avCode.substr(0,2) == "M1" )
		return true;
	
	return false;
}


function mobileDownload()
{
	//var sUrl = "/avatar/mobile.nhn";
	//var sUrl = "http://mobile.hangame.com/payment/avatar.php";
	var sUrl = "";
	var hostName = location.host;
	if ( hostName.search(/dev|fkiller|alpha/g) >= 0  )
		sUrl = "http://han880.hangame.com/han2/payment/forwardingAvatar.jsp";
	else
		sUrl = "http://mobile.hangame.com/payment/forwardingAvatar.jsp";
	var win = openWin(sUrl,"Mobile",420,520,"no");
}


// avatar object for displaying

function avatarItem(sAvCode,sName,nPrice,nMileage,sRegdate,bNew,nOrder,nSalePoint, sGameId, nGameMoney)
{
	this.avCode = sAvCode;
	this.name = sName;
	this.price = nPrice;
	this.mileage = nMileage;
	if ( sRegdate && sRegdate.length >= 19 )
		this.regdate = new Date(sRegdate.substr(0,4),parseInt(sRegdate.substr(5,2))-1,sRegdate.substr(8,2),
						sRegdate.substr(11,2),sRegdate.substr(14,2),sRegdate.substr(17,2));
	else
		this.regdate = null;
	this.bNew = (bNew != null) ? bNew : false;
	this.order = nOrder;
	this.salePoint = nSalePoint;
	this.gameId = sGameId;
	this.gameMoney = nGameMoney;

	this.imageUrl = av_getDispUrl(sAvCode);
	this.wearImgUrl = av_getWearUrl(sAvCode);
}


function contestItem(avatarid, memberid) {
	this.avatarid = avatarid;
	this.memberid = memberid;	
}


/*
function clickItem(avCode)
{
	if ( parent != self && typeof(parent.clickItem) == "function" )
		parent.clickItem(avCode);

}

*/


///////////////////////////
// avatar related
///////////////////////////

// return current sex of avShowItem
function getSex() {
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		return tempAvShowItem.sex;
	}
	else if ( getJsCookie(JS_SEX)!="" )
		return getJsCookie(JS_SEX);
	else
		return "F";
}

// return loggined user's sex
// if not loggined, returns "F"
function getUserSex() {
	if ( getJsCookie(JS_SEX) == "M" )
		return "M";
	else
		return "F";
}

function toggleSex()
{
	var tempAvShowItem = findAvShowItem();
	if ( typeof(tempAvShowItem)=="object" && tempAvShowItem ) {
		tempAvShowItem.toggleSex(true);
	}
}


//////////////////////////
// rolling
//////////////////////////
var _arrRollItem = new Array();
function _registerRollItem(obj) {
	var id = _arrRollItem.length;
	_arrRollItem[id] = obj;
	return id;
}

function rollItem(listItems, pageItemCount, rollMilliTime, rollEventHandlerName ) {
	this.id = _registerRollItem(this);
	this.listItems = listItems;
	this.size = listItems.length;
	this.pageItemCount = pageItemCount;
	if ( pageItemCount <= 0 )
		pageItemCount = 1;
	if ( this.pageSize > 0 )
		this.pageSize = Math.floor((this.size-1) / pageItemCount)+1;
	else
		this.pageSize  = 0;
	this.rollMilliTime = rollMilliTime;
	this.curPage = -1;
	this.curIndex = -this.pageItemCount;
	
	this.roll = rolling;
	this.rollEventHandlerName = rollEventHandlerName;
}

function rolling() {
	this.curPage += 1;
	this.curIndex += this.pageItemCount;
	
	if ( this.curIndex >= this.size ) {
		this.curIndex = 0;
		this.curPage = 0;
	}
	
	eval(this.rollEventHandlerName + "();");
	setTimeout("_rollingManager('" + this.id + "');",this.rollMilliTime);
	
}

function _rollingManager(id) {
	var rollItem = _arrRollItem[id];
	if ( typeof(rollItem.roll) == "function" )
		rollItem.roll();
}



//////////////////////////
// escape 
//////////////////////////

function getEntity(s) {
	s = s.replace(/'/g,"&lsquo;");
	s = s.replace(/"/g,"&quot;");
	return s;
}


//////////////////////////
// other services
//////////////////////////
function goCharge()
{
    var rurl = location.href;
	var win;
	if ( location.host.search(/local|dev/g)>=0 )
		chargeUrl = "http://dev-avatar.hangame.com/charge.nhn?RURL="+escape(rurl);
	else if ( location.host.search(/alpha/g)>=0 )
		chargeUrl = "http://alpha-avatar.hangame.com/charge.nhn?RURL="+escape(rurl);
	else if ( location.host.search(/beta/g)>=0 )
		chargeUrl = "http://beta-avatar.hangame.com/charge.nhn?RURL="+escape(rurl);
	else
		chargeUrl = "http://avatar.hangame.com/charge.nhn?RURL="+escape(rurl);
	
	win = openWin(chargeUrl,'hancoin_input', 540, 540);
}

function goAvatar(menu) {
	var sUrl = getAvatarServer(location.host) + "/main.nhn?sub="+menu;
    if( typeof(opener)=='object'&&!opener.closed)
      opener.top.location.href = sUrl;
    else if( typeof(top.opener)=='object')
      top.opener.top.location.href = sUrl;
    top.close();
}

function goMoneyAvatar(menu) {
	var sUrl = getAvatarServer(location.host) + "/moneyavatar.nhn?sub="+menu;
    if( typeof(opener)=='object'&&!opener.closed)
      opener.top.location.href = sUrl;
    else if( typeof(top.opener)=='object')
      top.opener.top.location.href = sUrl;
    top.close();
}

//////////////
// ÇÃ·ÎÆÃ ¹è³Ê interface
// from entoi
function initRightBanner()
{
	floatingBanner("RightBanner", 807, 75);
}

// start floating ¹è³Ê
function floatingBanner(objname, posX, posY)
{
	var obj = getRef(objname);
	obj.style.top = document.body.scrollTop + posY;
	obj.style.visibility = "visible";
	obj.style.setExpression("left", "calXBanner(" + posX + ")", "javascript");
	window.setInterval("calYBanner('" + objname +"', " + posY + ")", 10);
}

function calXBanner(posX)
{
	//var edge = (document.body.clientWidth - 790) / 2;
	//if( edge < 0 ) edge = 0;
	var edge = 20;
	return posX + edge;
}
function calYBanner(objname, posY)
{
	//alert(objName);
	var obj = getRef(objname);
	var yBannerPos, yScrollTopPos;
	var yLimitPos;
	var interval;
	var yNewPos;
	var yNewTop;
	var dHeight = posY;

	yScrollTopPos = parseInt(document.body.scrollTop, 10);
	yBannerPos = parseInt(obj.style.top, 10);
	if (document.body.scrollTop < dHeight) {
		yLimitPos = dHeight;
	}
	else {
		yLimitPos = document.body.scrollTop + 20;
	}

	if (yBannerPos != yLimitPos) {
		yNewPos = Math.ceil(Math.abs(yLimitPos - yBannerPos) / 20);

		if (yLimitPos < yBannerPos) {
			yNewPos = -yNewPos;
		}

		yNewTop = parseInt(obj.style.top, 10) + yNewPos;
		if (yNewTop > document.body.scrollHeight) {
			obj.style.top = document.body.scrollHeight;
		}
		else {
			obj.style.top = yNewTop;
		}
	  }
}
// end floating ¹è³Ê

function getRef(id)
{
	var retobj;
	
	if(document.getElementById) {
		retobj = document.getElementById(id);
	}
	if(retobj == null && document.all) {
		retobj = document.getElementById(id);
	}
	if(retobj == null && document.getElementsByName) {
		retobj = (document.getElementsByName(id));
	}
	if(retobj == null & document.layers) { // for netscape
		retobj == document.layers;
	}
	return retobj;
}
