﻿var mnxlinksgames = $.flash.create({ swf: 'http://nxcache.nexon.net/vindictus/swf/m-nxlinks-games.swf', width: 262, height: 62, params: { allowScriptAccess: "always", wmode: "transparent"} });
var mnxlinkscards = $.flash.create({ swf: 'http://nxcache.nexon.net/vindictus/swf/m-nxlinks-cards.swf', width: 262, height: 62, params: { allowScriptAccess: "always", wmode: "transparent"} });
var fun_stuff = {
    'sub_categories': ['Videos', 'Screenshots', 'Concept Art', 'Wallpapers', 'Poll'],
    'urls': ['/Media/Videos.aspx', '/Media/Screenshots.aspx', '/Media/ConceptArt.aspx', '/Media/Wallpaper.aspx', '/Media/Poll.aspx']
};
var site_map = [
	{
	    'main_category': 'News',
	    'sub_categories': ['News', 'Events', 'Maintenance', 'Blogs', 'Community Spotlight'],
	    'urls': ['/News/Content.aspx?boardNo=100', '/News/Content.aspx?boardNo=200',
				'/News/Content.aspx?boardNo=800', '/News/Content.aspx?boardNo=400', '/News/Content.aspx?boardNo=600']
	},
	{
	    'main_category': 'Guides',
	    'sub_categories': ['Introduction', 'Game Features', 'Beginner\'s Guide', 'Characters', 'Things To Do', 'Video Tutorial'],
	    'urls': ['/Guides/Introduction.aspx', '/Guides/GameFeatures.aspx', '/Guides/BeginnersGuide.aspx', '/Guides/Characters.aspx',
	                '/Guides/ThingsToDo.aspx', '/Guides/VideoTutorial.aspx']
	},
	{
	    'main_category': 'Community',
	    'sub_categories': ['Forums', 'Fansites'],
	    'urls': ['/Community/default.aspx', '/Community/FanSites.aspx']
	},
	{
	    'main_category': 'Items',
	    'sub_categories': ['Catalog', 'Shopping Guide', 'How to Use NX', 'Review Purchases'],
	    'urls': ['/Catalog/Showcase.aspx', '/Catalog/ShoppingGuide.aspx?tab=0', '/Catalog/HowToUseNx.aspx', 'http://www.nexon.net/nx/review-purchases/']
	},
	{
	    'main_category': 'Support',
	    'sub_categories': ['Game Client & Updates', 'Customer Support', 'FAQ', 'User Abuse', 'Security', 'Character Info'],
	    'urls': ['/Support/Client.aspx', 'http://support.nexon.net', '/Support/FAQ.aspx', '/Support/UserAbuse.aspx', '/Support/Security.aspx', '/Support/AccountInfo.aspx']
	}
];
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (pair[0] == variable) { return pair[1]; }
    }
    return null;
}
function makeBreadcrumbs(index, current, funstuff, extra) {
    var map = site_map;
    if (funstuff) {
        map[0] = fun_stuff;
        map[0].main_category = "Media";
    }
    var els = $('<div>').attr('id', 's-breadcrumb').append($('<a>').text('Home').attr('href', '../Default.aspx')).append(' &gt; ')
        .append($('<a>').text(map[index].main_category).attr('href', map[index].urls[0])).append(' &gt; ');
    if (extra)
        els.append($('<a>').text(extra.text).attr('href', extra.url)).append(' &gt; ');
    els.append($('<span>').text(current));
    //$('#s-catheader').append(els);
    return els;
}
var formatImageName = function (string) {//returns a string in lowercase, without apostrophes, and with hyphens replacing whitespace and underscores
    var regExp = /\s|[_]/g;
    var regExp2 = /[^\w_]/g;
    var str = string.toLowerCase().replace(regExp, "-").replace(regExp2, "-");
    return str;
};
function getCookie(c_name) { //relies on cookie plugin
    return $.cookie(c_name) !== null ? $.cookie(c_name) : "";
}
function getDownloadLinks(callback) {
    var downloadUrl = 'http://nxcache.nexon.net/vindictus/js/download_data.js';
    return $.getScript(downloadUrl, function () {
        if (typeof dl == 'undefined') {
            dl = { pandoLink: "#", manualLink: "#" };
        }
        callback.apply(dl);
    });
}
function commaFormat(s) { //formats numbers with commas (e.g. 2000 becomes 2,000)
    var t = s.length;
    if (t < 4) return s;
    var m = t % 3;
    var n = Math.floor((t - 1) / 3);
    var st = s.split('');
    for (var i = 0; i < n; i++) {
        if (m == 0 && i == 0)
            st.splice(0, 0, ' ');
        else
            st.splice((i * 3 + m + i), 0, ',');
    }
    s = st.join('');
    return s;
}
function startGameCheck() {
    $.getScript('http://nxcache.nexon.net/publisher/vindictus/publisher_start_game.js', function () {
        if (typeof DATA_start_game == 'undefined') { return false; }
        var d = DATA_start_game;
        if (d[0].content_category == '3' || (d[0].content_category == '1' && d[0].progress_type == '1')) {
            $('#m-ticker').removeClass('dn').find('a').attr('href', d[0].content_text).text(d[0].content_title);
            if (nexon.sso.isLoggedIn) {
                $('#m-play').addClass('maintenance');
                $('#m-play div:first').addClass('dn');
            } else {
                $('#m-play-loggedout').addClass('maintenance');
                $('#m-play-loggedout div:first').addClass('dn');
            }
        }
    });
}
// google analytics code
function gaLoad(gaId) {
    $('<script>').attr({ type: 'text/javascript', src: 'http://nxcache.nexon.net/galib/galib_nexon_net.js' }).appendTo('body');
    gaTrackPageView(gaId);
}
function NxLaunchGame(coast) {
    _gaq = (typeof _gaq != "undefined") ? _gaq : [];
    _gaq.push(["sdt._trackEvent", "VinWebLaunch", "StartGame-" + coast]);
    _gaq.push(["cdt._trackEvent", "VinWebLaunch", "StartGame-" + coast]);

    if (typeof pageTracker != "undefined")
        pageTracker._trackEvent("VinWebLaunch", ("StartGame-" + coast));
    //var game = "33615900"; //TEST
    var game = "33562635"; // LIVE
    var arg = coast == "East" ? "+server_name East" : "+server_name West"; //LIVE
    nexon.play(game, arg);
    
}
function DownloadGame() {
    getDownloadLinks(function () { location.href = this.pandoLink; });
}
function ManualDownload() {
    getDownloadLinks(function () { location.href = this.manualLink; });
}
function NxLaunchGameMain(serverLocation) {
    $.getScript('http://nxcache.nexon.net/publisher/vindictus/publisher_start_game.js', function () {
        if (typeof DATA_start_game == 'undefined') { return false; }
        var d = DATA_start_game;
        switch (d[0].content_category) {
            case '1':
                if (d[0].progress_type != '1') {
                    NxLaunchGame(serverLocation);
                }
                else {
                    alert(d[0].content_title);
                }
                break;
            case '2':
                NxLaunchGame(serverLocation);
                break;
            case '3':
                alert(d[0].content_title);
                break;
        }
    });
}


function buttonBounce() {
    $('#m-play-loggedout .west-server, #m-play-loggedout .east-server').mouseover(function () {
        $(this).animate({ top: "131" }, 100).animate({ top: "128" }, 100)
    });
    $('#m-play-loggedin .west-server, #m-play-loggedin .east-server').mouseover(function () {
        $(this).animate({ top: "121" }, 100).animate({ top: "118" }, 100)
    });
}
function clearWikiSearchInput() {
    $('#m-wiki-search input[type="text"]').focus(function () {
        $(this).css('background-position', '-165px 0');
    });
    $('#m-wiki-search input[type="text"]').blur(function () {
        if ($(this).attr("value") == "") {
            $(this).css('background-position', '0 0');
        }
    });
}
function pageLoad() {
    //gaLoad('UA-1376772-24');
    $('#nav').navBuilder(site_map);
    $('#funstuff').navBuilder(fun_stuff, { listID: "funstuff-links", buildMenu: false });
    if (nexon.sso.isLoggedIn) {
        $('#m-play-loggedout').addClass('dn');
        $('#m-play-loggedin').removeClass('dn');
    } else {
        $('#m-play-loggedout').removeClass('dn');
        $('#m-play-loggedin').addClass('dn');
    }

    $('#m-play-loggedout a').bind('click', function (e) {
        e.preventDefault();
        NxLaunchGameMain();
    });

    if (mnxlinksgames) {
        $('#m-nxlinks-games').html(mnxlinksgames);
    }
    if (mnxlinkscards) {
        $('#m-nxlinks-cards').html(mnxlinkscards);
    }

    $('a').each(function () {
        //if ($(this).attr('href').indexOf('http://') > -1 && $(this).attr('href').indexOf('vindictus.nexon.net') < 0)
        if ($(this).attr('href').indexOf('http://') > -1 && $(this).attr('href').indexOf('vindictus.nexon.net') < 0 && $(this).parents('[id$=gnt_bar]').length < 1)
            $(this).attr('target', '_blank');
    });
    $('#drop').sameheight();
    $('#main, #drop').hoverdropdown({
        timeout: 300,
        oHeight: 0,
        eHeight: 160,
        expandThese: '#drop'
    });
    $('#drop ul').pseudohover({
        hover: '#drop ul',
        pseudo: '#main li',
        className: 'hover'
    });
    $('#funstuff-trigger').funexpand({ expandThese: '#funstuff' });
    $('#m-start-login').login({
        cookieDomain: 'nexon.net',
        checkbox: {
            isChecked: function () { return $(this).attr('checked'); },
            toggle: function () { return; }
        }
    });
    $('#m-wiki-input').keydown(function (e) {
        if (e.keyCode == 13) {
            e.preventDefault();
            $('#wiki-search').click();
        }
    });
    $('#wiki-search').click(function () {
        var win = window.open('http://www.vindictuswiki.com/index.php?search=' + $('#m-wiki-input').val(), 'wiki_search');
        if (!win)
            alert('Your browser\'s pop-up blocker is currently enabled.  If you wish to search the wiki, please disable the pop-up blocker temporarily and try again.  Thank you.');
    });
    startGameCheck();
    buttonBounce();
    clearWikiSearchInput();
}
