/**
 *  flash
 */
$(document).ready(function(){
    if ($('#flashheader').size()) {
        $('#flashheader').flash({
            src: 'design/image/frontend/header.swf',
            width: 980,
            height: 345,
            flashvars: {lang: ($('body').hasClass('hu') ? 'hu' : 'en')}
        });
    }
    if ($('#events').size()) {
        $('#events').flash({
            src: 'design/image/frontend/events.swf',
            width: 315,
            height: 260
        });
    }
    if ($('#floorplan').size()) {
        function getShop() {
            return location.hash.length ? location.hash.substr(1) : '';
        }
        function getFloor() {
            if (location.hash.length) {
                hash = location.hash.substr(1);
                if (hash.length >=3 && hash.substr(0,1) == '2') {
                    return 'e';
                }
                else {
                    return 'f';
                }
            }
            else {
                return '';
            }
        }
        $('#floorplan').flash({
            src: 'design/image/frontend/floor.plan.swf',
            width: 980,
            height: 450,
            wmode: 'transparent',
            flashvars: {lang: ($('body').hasClass('hu') ? 'hu' : 'en'), highlighted_shop: getShop(), highlighted_floor: getFloor()}
        });
    }
    if ($('#game').size()) {
        $('#game').flash({
            src: 'design/image/frontend/' + $('div#game').attr('class') + '.swf',
            width: 980,
            height: 450,
            wmode: 'transparent',
            flashvars: {lang: ($('body').hasClass('hu') ? 'hu' : 'en')}
        });
    }
    $('div.flash-replaced>div.alt').remove();
});

/**
 *  dropdown menu
 */
var mddt;

$(document).ready(function(){
    $('#navigation>li').addClass('closed');
    $('#navigation>li>em').bind('mouseenter', menuDropdown);
});

function menuDropdown(e) {
    if (mddt) {
        window.clearTimeout(mddt);
    }
    $('#navigation>li').addClass('closed');
    $(this).parent().removeClass('closed');
    $(this).parent().bind('mouseleave', menuDropupTimer);
}

function menuDropupTimer(e) {
    if (mddt) {
        window.clearTimeout(mddt);
    }
    mddt = window.setTimeout(menuDropup, 200);
}

function menuDropup() {
    $('#navigation>li').addClass('closed');
}

/**
 *  shop categories
 */
$(document).ready(function(){
    if ($('#shopsubcategories').size()) {
        $('#shopsubcategories>li').addClass('closed');
        if (location.hash.match(/#sub-[0-9]+/)) {
            $('#' + location.hash.match(/#(sub-[0-9]+)/)[1]).removeClass('closed');
        }
        else if ($('#shopsubcategories>li').size() == 1) {
            $('#shopsubcategories>li').removeClass('closed');
        }
        $('#shopsubcategories>li>h3').css('cursor', 'pointer');
        $('#shopsubcategories>li>h3').bind('click', toggleCategory);
    }
});

function toggleCategory(e) {
    e.preventDefault();
    if ($(this).parent().hasClass('closed')) {
        $('#shopsubcategories>li').addClass('closed');
        $(this).parent().removeClass('closed');
    }
    else {
        $(this).parent().addClass('closed');
    }
}

/**
 *  lightbox
 */
$(document).ready(function(){
    if (typeof $('.lightbox').lightbox == 'function') {
        $('.lightbox').lightbox();
    }
});

/**
 *  google maps
 */
$(document).ready(function(){
    if ($('#gmap').size()) {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById('gmap'));
            map.setCenter(new GLatLng(47.406758, 19.016926), 15);
            map.addControl(new GSmallMapControl());
            var icon = new GIcon();
            icon.image = 'http://campona.hu/design/image/frontend/gmaps.marker.png';
            icon.iconSize = new GSize(64, 24);
            icon.iconAnchor = new GPoint(32, 12);
            map.addOverlay(new GMarker(new GLatLng(47.406758, 19.016926), icon));
        }
    }
});

/**
 *  shop search
 */

var sddt;

$(document).ready(function(){
    if ($('div#shopsearch').size()) {
        $.getJSON(($('body').hasClass('hu') ? 'kereses-kategoriak/' : 'search-categories/'), {rand: Math.random()}, createCategoryList);
    }
});

function createCategoryList(data) {
    $('div#shopsearch').append('<div id="ssc_"></div>');
    $('div#ssc_').append('<div id="ssc_cat"><span>' + ($('body').hasClass('hu') ? 'Kategóriák' : 'Categories') + '</span></div>');
    $('div#ssc_').append('<ul id="ssc_cats"></ul>');
    $.each(data, function(i, value){
        $('ul#ssc_cats').append('<li id="cat-' + i + '">' + value + '</li>');
    });
    $('ul#ssc_cats').addClass('closed');
    $('div#ssc_cat>span').bind('click', dropdownCategories);
    $('ul#ssc_cats>li').bind('click', selectCategory);
}

function dropdownCategories() {
    if ($('ul#ssc_cats').hasClass('closed')) {
        dropupShops();
        $('ul#ssc_cats').removeClass('closed');
        $('ul#ssc_cats').bind('mouseleave', dropupCategoriesTimer);
    }
    else {
        $('ul#ssc_cats').addClass('closed');
    }
}

function dropupCategoriesTimer() {
    if (sddt) {
        window.clearTimeout(sddt);
    }
    sddt = window.setTimeout(dropupCategories, 200);
}

function dropupCategories() {
    $('ul#ssc_cats').addClass('closed');
}

function selectCategory(e) {
    dropupCategories();
    $('div#ssc_cat>span').text($(this).text());
    var catid = $(this).attr('id').match(/cat-([0-9]+)/)[1];
    $.getJSON(($('body').hasClass('hu') ? 'kereses-uzletek/' + catid + '/' : 'search-shops/' + catid + '/'), {rand: Math.random()}, createShopList);
}

function createShopList(data) {
    if ($('div#sss_').size()) {
        $('div#sss_').remove();
    }
    $('div#shopsearch').append('<div id="sss_"></div>');
    $('div#sss_').append('<div id="sss_shop"><span>' + ($('body').hasClass('hu') ? 'Üzletek' : 'Shops') + '</span></div>');
    $('div#sss_').append('<ul id="sss_shops"></ul>');
    $.each(data, function(i, value){
        $('ul#sss_shops').append('<li><a href="' + value[1] + '">' + value[0] + '</a></li>');
    });
    $('ul#sss_shops').addClass('closed');
    $('div#sss_shop>span').bind('click', dropdownShops);
}

function dropdownShops() {
    if ($('ul#sss_shops').hasClass('closed')) {
        dropupCategories();
        $('ul#sss_shops').removeClass('closed');
        $('ul#sss_shops').bind('mouseleave', dropupShopsTimer);
    }
    else {
        $('ul#sss_shops').addClass('closed');
    }
}

function dropupShopsTimer() {
    if (sddt) {
        window.clearTimeout(sddt);
    }
    sddt = window.setTimeout(dropupShops, 200);
}

function dropupShops() {
    $('ul#sss_shops').addClass('closed');
}