var daumGameGGB = {
loadScript : function(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
},
setCookie : function(name, value, expires){
var d = new Date(), day="";
if(expires){
d.setHours(0,0,0,0);
d.setDate(d.getDate()+expires);
day = "expires="+d.toGMTString()+";";
}
document.cookie = name+"="+escape(value)+"; path=/; domain=.game.daum.net;"+day;
},
getCookie : function (name){
var _name = name + "=",
cookie = document.cookie + ";",
start = cookie.indexOf(_name),
end;
if(start != -1){
end = cookie.indexOf(";",start);
return unescape(cookie.substring(start + _name.length, end));
}
return;
},
//layer close
closeWin : function(ckbox_id, layer_id, dimmed_flag){
if(jQuery('#'+ckbox_id).attr("checked")){
daumGameGGB.setCookie(layer_id, "1", 1);
jQuery('#'+layer_id).css('display', 'none');
}else{
jQuery('#'+layer_id).css('display', 'none');
}
if(dimmed_flag){
jQuery("div.bg_dimmed").css('display', 'none');
}
},
chargeCash : function() {
var subUrl = jQuery(self)[0].location.host;
if(subUrl.indexOf("dev") != -1) {
window.open('https://test.bi.game.daum.net/billing/v2/charge.do?companyCode=daum_game&gameCode=daum_game','daumBi','location=0,status=0,scrollbars=0,width=500,height=500');
} else {
window.open('https://bi.game.daum.net/billing/v2/charge.do?companyCode=daum_game&gameCode=daum_game','daumBi','location=0,status=0,scrollbars=0,width=500,height=500');
}
},
loadCurrentPreNoticeCount : function() {
var api_url = "https://game.daum.net/api/landing_event_count.json";
if(/dev/i.test(window.location.hostname)) {
api_url = "https://dev.game.daum.net/api/landing_event_count.json";
//api_url = "http://thierry.dev.daum.net/api/landing_event_count.json";
}
jQuery.ajax(api_url, {
dataType: "jsonp",
jsonpCallback: "currentPreNoticeResult"
}
).done(function(res){
if( !res || !res.preNoticeCount){
return false;
}
if(res.preNoticeCount > 0) {
jQuery(".link_gnb.link_gnb6").append("New");
}
});
},
loadGameListData : function() {
var game_genre_lists_url = "https://t1.kakaocdn.net/gamepub/daumgame/gamebar/orderd_game_genre_list.json";
if(/dev/i.test(window.location.hostname)) {
game_genre_lists_url = "https://t1.kakaocdn.net/gamepub/daumgame/dev/gamebar/orderd_game_genre_list.json";
}
var createGameDataNode = function(gameListContainer , gameDataList, gameGenre) {
var list_game;
var liTagCount = 0;
for(var j = 0 ; j < gameDataList.length; j++) {
var gameData = gameDataList[j];
if(liTagCount % 14 == 0) {
gameListContainer.append('
');
list_game = gameListContainer.find('.list_game:last');
}
list_game.append('' + gameData.title + '');
var brTags = gameData.title.match(/
/g);
var brCount = 0;
if(brTags) {
brCount = brTags.length;
}
if(brCount > 0)
liTagCount = liTagCount + 2;
else
liTagCount++
if(liTagCount >= 14)
liTagCount = 0;
}
};
jsonpRequestParameter = {
cache: true,
dataType: "jsonp",
jsonpCallback: "gameGenresResult"
};
if(document.charset.toLowerCase() != "utf-8") {
jsonpRequestParameter.scriptCharset = "utf-8";
jsonpRequestParameter.contentType = "application/json;charset=utf-8";
}
jQuery.ajax(game_genre_lists_url, jsonpRequestParameter
).done(function(res){
if( !res || !res.gameGenres){
return false;
}
var gameGenres = res.gameGenres;
for(var i = 0 ; i < gameGenres.length; i++) {
var item = gameGenres[i];
if(item.title == "MMORPG") {
if(item.gameDataList.length > 0) {
createGameDataNode(jQuery("#ggb_rpg_layer .game_sublist"), item.gameDataList, item.title);
}
}
else if(item.title == "웹RPG") {
if(item.gameDataList.length > 0) {
jQuery("#ggb_weggame_layer .layer_body").append('');
jQuery("#ggb_weggame_layer .box_sort1").append('웹RPG');
jQuery("#ggb_weggame_layer .box_sort1").append('');
createGameDataNode(jQuery("#ggb_weggame_layer .box_sort1 .game_sublist") , item.gameDataList, item.title);
}
}
else if(item.title == "웹전략") {
if(item.gameDataList.length > 0) {
jQuery("#ggb_weggame_layer .layer_body").append('');
jQuery("#ggb_weggame_layer .box_sort2").append('웹전략');
jQuery("#ggb_weggame_layer .box_sort2").append('');
createGameDataNode(jQuery("#ggb_weggame_layer .box_sort2 .game_sublist") , item.gameDataList, item.title);
}
}
else if(item.categoryId == "3" && item.title != "플래시") { // 스포츠/캐주얼
if(item.gameDataList.length > 0) {
jQuery("#ggb_sports_layer .layer_body").append('');
createGameDataNode(jQuery("#ggb_sports_layer .game_sublist:last") , item.gameDataList, item.title);
}
}
else if(item.categoryId == "4") {
if(item.gameDataList.length > 0) {
jQuery("#ggb_casual_layer .layer_body").append('');
createGameDataNode(jQuery("#ggb_casual_layer .game_sublist:last"), item.gameDataList, item.title);
}
}
}
if(jQuery("#ggb_rpg_layer .game_sublist ul").length == 0) {
jQuery("#ggb_rpg_layer").remove();
}
if(jQuery("#ggb_weggame_layer .game_sublist ul").length == 0) {
jQuery("#ggb_weggame_layer").remove();
}
if(jQuery("#ggb_sports_layer .game_sublist ul").length == 0) {
jQuery("#ggb_sports_layer").remove();
}
if(jQuery("#ggb_casual_layer .game_sublist ul").length == 0) {
jQuery("#ggb_casual_layer").remove();
}
});
},
loadGameBarData : function() {
var ggb_banners_url = "https://t1.kakaocdn.net/gamepub/daumgame/gamebar/ggb_banners.json";
if(/dev/i.test(window.location.hostname)) {
ggb_banners_url = "https://t1.kakaocdn.net/gamepub/daumgame/dev/gamebar/ggb_banners.json";
}
jQuery.ajax(ggb_banners_url, {
dataType: "jsonp",
jsonpCallback: "gameBarBannerResult"
}).done(function(res){
if( !res ){
return false;
}
if(res["gameBarBanners"] != null && res["gameBarBanners"].length > 0) {
// 확률 계산 코드 작성
// 가중치계산
var totalWeight = 0;
var documnetTitle = document.title;
var gameBarBanners = res["gameBarBanners"];
var startPercent = 0;
// 중복되는 게임 item 제거 및 총 가중치값 계산
for(var i = 0 ; i < gameBarBanners.length; i++) {
if( documnetTitle.indexOf(gameBarBanners[i].title) > -1 ) {
gameBarBanners.splice(i,1);
i--;
}
else {
totalWeight += parseInt(gameBarBanners[i].exposure_rate);
}
}
// 가중치 계산
for(var i = 0 ; i < gameBarBanners.length; i++) {
gameBarBanners[i].exposure_percent = Math.floor( (parseInt(gameBarBanners[i].exposure_rate) / totalWeight) * 100 );
gameBarBanners[i].startPercent = startPercent;
gameBarBanners[i].endPercent = startPercent + gameBarBanners[i].exposure_percent;
startPercent = gameBarBanners[i].endPercent;
}
// 확률을 이용해서 노출시킬 배너 추출
var randomNumber = Math.floor( Math.random() * ( gameBarBanners[gameBarBanners.length - 1].endPercent ) );
var disployBanner = null;
for(var i = 0 ; i < gameBarBanners.length; i++) {
if(gameBarBanners[i].startPercent <= randomNumber && randomNumber < gameBarBanners[i].endPercent) {
disployBanner = gameBarBanners[i];
}
}
if(disployBanner["banner_type"] == "1") {
disployBanner["traking_code"] = disployBanner["game_code"];
}
else {
disployBanner["traking_code"] = disployBanner["title"];
}
jQuery("#bbgBannerHref").attr("href", disployBanner["link"] + disployBanner["niltag"]);
jQuery("#bbgBannerImg").attr("src", disployBanner["imageUrl"]);
jQuery("#bbgBannerImg").attr("alt", disployBanner["title"]);
jQuery("#bbgBannerImg").attr("style", "display:block;");
}
});
}
}
daumGameGGB.loadScript("https://s1.daumcdn.net/svc/original/U03/cssjs/jquery/jquery-1.11.1.min.js", function(){
jQuery.noConflict();
daumGameGGB.init();
daumGameGGB.loadGameListData();
daumGameGGB.loadCurrentPreNoticeCount();
});
daumGameGGB.init = function _gamebar_init(){
jQuery(document).ready(function(){
//GGB
jQuery('.ggb_comm > li').mouseenter(function(){
jQuery(this).addClass('over');
}).mouseleave(function(){
jQuery(this).removeClass('over');
});
//sub_menu
jQuery('ul.gnb_sub > li').click(function(){
jQuery(this).siblings().removeClass("on");
jQuery(this).addClass("on");
});
});
}
// Legacy 한 기능 유지를 위해
var gamebar = {
select : function(flag)
{
if (typeof jQuery != 'undefined') {
switch(flag){
case "gamehome" :
var d = document.getElementById("_ggb_home");
d.className = d.className + " on";
break;
case "webgame" :
var d = document.getElementById("_ggb_webgame");
d.className = d.className + " on";
break;
case "flashgame" :
var d = document.getElementById("_ggb_flashgame");
d.className = d.className + " on";
break;
case "gamepack" :
var d = document.getElementById("_ggb_gamepack");
d.className = d.className + " on";
break;
}
}
}
}
daumGameGGB.isLogin = false;
if(document.getElementById("pubGameGGB")) {
document.getElementById("pubGameGGB").innerHTML = " \r\n\r\n\r\n
\r\n\tDaum\r\n\t\uAC8C\uC784\r\n\r\n\r\n\r\n
\r\n\t
\uAC8C\uC784 \uBA54\uB274\r\n\t
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t- \r\n\t\t
\r\n\t\t- \r\n\t\t
\r\n - \r\n
\r\n - \r\n
\r\n\t
\r\n
\r\n\r\n\r\n
\r\n\t
\uB85C\uADF8\uC778 \uC815\uBCF4\r\n\t\r\n\t\t
\r\n
\r\n";
}