﻿$(document).ready(function() { Init_JS(); });
//



//
var register_form_created = false;
var currentLang = 'HU';
var currentPage = 0;

function Init_JS() {
    LOG('Starting JS');
    LOG('Current language: ' + currentLang);
    LOG('Current page: ' + currentPage);
    LOG('MASK: ' + $('#PAGES_MASK').css('height'));

    if ($.browser.webkit) {
        PAG(0);
    }

    //
    //
    //
    if (!register_form_created) {
        //$("#DIV_REGISTER").formToWizard({ submitButton: 'RegisterAccount' });
        //register_form_created = true;
        //

        //var map = new GMap2(document.getElementById('map_register'));
        //var point = new GLatLng(47.48060, 19.13520);
        //map.addControl(new GSmallMapControl());
        //map.setCenter(point, 4); map.addOverlay(new GMarker(point));
    }
    //SHOW('MODUL_REGISTER');
    //INIT_MODULS();
    //
    //
    //
    initCSS();
}

var logMaxLines = 6;
var LogLines = new Array();
function LOG(s) {
    if (LogLines.length > logMaxLines) {
        LogLines.reverse();
        LogLines.pop();
        LogLines.reverse();
    }
    LogLines.push(s);
    var currentLog = LogLines.join('<br/>');
    $('#CONSOLE').html(currentLog);
}



function initCSS() {
    CreateMenu();
    $("ul#MENU > li")
					.mouseover(function() {
					    $(this).css('background', 'url(i/menuitem_over.png) center top no-repeat');
					})
					.mouseout(function() {
					    $(this).css('background-image', '');
					})
					;
    //
    //pager
    //
    currentPage = 0;
    $('#P0,#P1,#P2,#P3,#P4,#P5').css('float', 'left');
    //
    // login page >> newsletter box
    _decorateCorners('.MAIN_DIV_NEWSLETTER');

}
function CreateMenu() {}

function MainSliderTo(num) {
    LOG('Main changes to slide ' + num);

    var newLeft = (num - 1) * 280 * -1;
    $("#MAIN_ROT_SHIFTER").animate({
        left: newLeft
    }, { duration: 1000, queue: true });

    $('#ROT_PGR_1,#ROT_PGR_2,#ROT_PGR_3,#ROT_PGR_4,#ROT_PGR_5,#ROT_PGR_6').removeClass('rot_selected');
    $('#ROT_PGR_' + num).addClass('rot_selected');

    $('#ROTATOR_IDX').val(num);
}

function NextSlider() {
    var cur = parseInt($('#ROTATOR_IDX').val());
    var max = 6;

    var newIndex = (cur + 1 <= max) ? (cur + 1) : 1;
    MainSliderTo(newIndex);
}



function _decorateCorners(selector) {
    $(selector).prepend('<div class="mhd"><div class="mch"></div></div>').append('<div class="mft"><div class="mcf"></div></div>');
}

function NextPage(idx) {
    if (currentPage == null) { currentPage = 0; }
    currentPage = ++idx;
    if (currentPage > 5) {
        currentPage = 0;
    }
    PAG(currentPage);
}

function MIC(idx) {
    LOG('Switching to content: ' + idx);
    PAG(idx);
}
function PAG(idx) {
    var PAGE_HEIGHT_STATIC = [490, 470, 418, 1000, 370, 810];
    //var PAGE_HEIGHT_STATIC = [490, 470, 418, 120, 370, 810];      <-- no webshop
    LOG('Animating... : ' + $('#PAGES_MASK').css('height') + ' --> ' + PAGE_HEIGHT_STATIC[idx] + 'px');
    //
    //  quefix
    //
    $("#PAGES_MASK").clearQueue();
    $("#MAIN_ROT_SHIFTER").clearQueue();
    $("#PAGER2_LIST").clearQueue();
    //alert('paging to '+idx);
    //alert($('P'+idx.toString()))
    currentPage = idx;
    //alert(idx);
    $("#PAGES_MASK").animate({
        height: "0px"
    }, { duration: 500, queue: true })
				.animate({
				    height: PAGE_HEIGHT_STATIC[idx.toString()].toString() + "px"
				}, { duration: 1000, queue: true });

    var next_height = $('#P' + idx.toString()).css('height');
    //alert(next_height);
    //alert($('#PAGES_MASK').css('height'));
    $('#P0,#P1,#P2,#P3,#P4,#P5').hide(500);

    $('#P' + idx.toString()).show(1000);
    //alert($("ul#MENU > li"));			
    INIT_PAGE(idx);
}

function HeightFix() {
    var newHeight = $('#P2').css('height');
    //alert($.browser.);
    //alert(newHeight);
    if (!$.browser.msie) {
        newHeight = (parseInt(newHeight.replace('px', '')) + 10).toString() + 'px';
    }
    else {
        //
        //  i really hate IE!
        //
        // there is an empty div(RB) ~ (rowbreak) at the end of all rows
        //
        var num_items = $('#COL_LIST > DIV').size();
        var num_rows = $('#COL_LIST > DIV.RB').size();
        //
        //alert(num_items);
        //
        if (num_rows == 0) {
            if (num_items > 1) {
                num_rows = 1;   //(one unfinished row with items)
            }
        }
        //if (num_items % 4 == 0) num_rows--;

        //
        //  upper spacing   + row height  + row_separator height
        //
        LOG("Going to fake height: 170 + " + (num_rows * 252).toString() + ' + ' + ((num_rows - 1) * 10));
        newHeight = (170 + (num_rows * 252) + ((num_rows - 1) * 10));

        if (newHeight < 260) {
            newHeight = '260px';   //no items, left menu height
        }
        else {
            newHeight = newHeight.toString() + 'px'
        }
    }

    LOG("Going to new height: " + newHeight);

    $("#PAGES_MASK").animate({
        height: newHeight
    }, { duration: 500, queue: true });
}

function HeightFix2() {
    var newHeight = $('#P2').css('height');
    //alert($.browser.);
    //alert(newHeight);
    if (!$.browser.msie) {
        newHeight = (parseInt(newHeight.replace('px', '')) + 10).toString() + 'px';
    }
    else {
        newHeight = '690px';
        //newHeight = '1160px';
    }

    LOG("Going to new height: " + newHeight);

    $("#PAGES_MASK").animate({
        height: newHeight
    }, { duration: 500, queue: true });
}
function HeightFixWS() {
    var newHeight = $('#P3').css('height');
    //alert($.browser.);
    //alert(newHeight);
    if (!$.browser.msie) {
        newHeight = (parseInt(newHeight.replace('px', '')) + 10).toString() + 'px';
    }
    else {
        newHeight = '1000px';
        //newHeight = '1160px';
    }

    LOG("Going to WS new height: " + newHeight);

    $("#PAGES_MASK").animate({
        height: newHeight
    }, { duration: 500, queue: true });
}
// shop below
function InitShopLev0(lng, fixheight) {
    GET('BHM.Default.SHOP_BODY_L0', 'SHOP_BODY', lng);
    if (fixheight != undefined) {
        if (fixheight) { HeightFix(); }
    }
    else {
        LOG("First heightfix occuring...")
        HeightFix();
        LOG("First heightfix finished running...")
    }
}
function InitShopLev1(lng, s, cap) {
    GET('BHM.Default.SHOP_BODY_L1', 'SHOP_BODY', lng + '|' + s + '|' + cap);
    HeightFixWS();
}
function InitShopLev2(lng, s, cap) {
    GET('BHM.Default.SHOP_BODY_L2', 'SHOP_BODY', lng + '|' + s + '|' + cap);
    HeightFixWS();
}

function InitShopLev3(lng, s, cap) {
    GET('BHM.Default.SHOP_BODY_L3', 'SHOP_BODY', lng + '|' + s + '|' + cap);
    HeightFixWS();
    setTimeout("HeightFixWS();", 1000); //being sure 
}
// collection below


function InitColLev0(lng, fixheight) {
    GET('BHM.Default.COLLECTION_BODY_L0', 'COL_BODY', lng);
    if (fixheight != undefined) {
        if (fixheight) { HeightFix(); }
    }
    else {
        LOG("First heightfix occuring...")
        HeightFix();
        LOG("First heightfix finished running...")
    }
}
function InitColLev1(lng, s, cap) {
    GET('BHM.Default.COLLECTION_BODY_L1', 'COL_BODY', lng + '|' + s + '|' + cap);
    HeightFix();
}
function InitColLev2(lng, s, cap) {
    GET('BHM.Default.COLLECTION_BODY_L2', 'COL_BODY', lng + '|' + s + '|' + cap);
    HeightFix();
}

function InitColLev3(lng, s, cap) {
    GET('BHM.Default.COLLECTION_BODY_L3', 'COL_BODY', lng + '|' + s + '|' + cap);
    HeightFix2();
}

function GotoPic(src, idx) {
    $('#COL_BIG_PIC').attr('src', src);
    $('#COL_PIC_IDX').val(idx);
    var max = parseInt($('#COL_PIC_MAX').val());

    var nextIndex = (idx + 1 <= max) ? (idx + 1) : 1;
    var nextSrc = $('#COL_IDX_' + nextIndex).attr('src');

    $('#COL_BIG_PIC2').attr('src', nextSrc);
    //
    // todo : animate PAGER2_LIST (ul)
    //
    var newLeft = idx * 30 * -1;            //28 = 24+4
    //$('#PAGER2_LIST').css('left', newLeft);
    $("#PAGER2_LIST").animate({
        left: newLeft
    }, { duration: 1000, queue: true });

    LOG('New pictureIndex: ' + idx);
}

function NextPic() {
    var cur = parseInt($('#COL_PIC_IDX').val());
    var max = parseInt($('#COL_PIC_MAX').val());

    var newIndex = (cur + 1 <= max) ? (cur + 1) : 1;
    //alert(newIndex);
    var src = $('#COL_IDX_' + newIndex.toString()).attr('src');

    GotoPic(src, newIndex);
}

function PrevPic() {
    var cur = parseInt($('#COL_PIC_IDX').val());
    var max = parseInt($('#COL_PIC_MAX').val());

    var newIndex = (cur - 1 >= 1) ? (cur - 1) : max;
    //alert(newIndex);
    var src = $('#COL_IDX_' + newIndex.toString()).attr('src');

    GotoPic(src, newIndex);
}


function PrevPicPage() {
    var curLeft = parseInt($("#PAGER2_LIST").css('left').replace('px', ''));
    var pageSize = 630;

    var newLeft = (curLeft + pageSize < 0) ? (curLeft + pageSize) : 0;
    //$('#PAGER2_LIST').css('left', newLeft);
    $("#PAGER2_LIST").animate({
        left: newLeft
    }, { duration: 1000, queue: true });
}
function NextPicPage() {
    var curLeft = parseInt($("#PAGER2_LIST").css('left').replace('px', ''));
    var pageSize = 630;

    //alert(curLeft);
    var maxSize = ($("#PAGER2_LIST > li").size() - 1) * 30 * -1;
    //alert(maxSize);
    var newLeft = (curLeft - pageSize > maxSize) ? (curLeft - pageSize) : maxSize;
    //$('#PAGER2_LIST').css('left', newLeft);
    $("#PAGER2_LIST").animate({
        left: newLeft
    }, { duration: 1000, queue: true });
}

function CREATE_PRODUCT_PAGE(code) {
    GET('BHM.Default.WS_PRODUCT_PAGE', 'PRODUCT_PAGE', 'HU|'+code);
}

function CREATE_SUB_PRODUCT_PAGE(div, serial) {
    var item_price = $('#' + div).attr('data-price');
    GET('BHM.Default.WS_SUBPRODUCT_PAGE', div, 'HU|' + serial+'|'+item_price);
    $('#' + div).show();
}

var BASKET_IS_OPENED = false;
var BASKET_IS_INADDMODE = false;
function ON_BASKET_COLLAPSE(){
    $('#BTN_BASKET_CLOSE, #THE_BASKET1, #THE_BASKET2').hide(500);
    $('#BTN_BASKET_OPEN').show(500);
    BASKET_IS_OPENED = false;
    setTimeout("HeightFixWS();", 600);
}
function ON_BASKET_EXPAND() {
    $('#BTN_BASKET_OPEN').hide(500);
    var C = BASKET_IS_INADDMODE ? '#THE_BASKET2' : '#THE_BASKET1';
    $('#BTN_BASKET_CLOSE, '+C).show(500);
    BASKET_IS_OPENED = true;
    setTimeout("HeightFixWS();", 600);
}

var BASKET_ITEMS = [];
function ON_BASKET_SET_INITSTATE() {
    BASKET_IS_INADDMODE = false;
    //
    // summary
    //
    var IC = BASKET_ITEMS.length;
    var TXT = '';
    LOG("Basket init " + IC.toString() + " items");
    if (IC > 0) {
        TXT = 'X termék a kosárban, összesen Y Ft';
    }
    else {
        TXT = 'Nincsenek termékek a kosárban';
    }
    $('#THE_BASKET_INFO').html(TXT);
    //
    // details panel
    //
}

function ON_BASKET_ADD(pserial, serial, unitprice) {
    //
    //  add to basket
    //
    var howmany = $('#HOW_MANY').val();
    var sumprice = $('#BASKET_ADD_SUMPRICE').html();
    LOG('Adding to basket {'+pserial +','+serial+','+unitprice+','+howmany+','+sumprice+'}');
    
    
    //
    //  clear add form
    //
    $('#THE_BASKET2').html('');
    //
    //  set caption
    //
    $('#THE_BASKET_INFO').html('Termék kosárba helyezése sikeres.');
    
}

function ON_BASKET_ADD_CONTINUE(ps,s,up) {
    ON_BASKET_ADD(ps, s, up);
    //
    // set basket mode item_list
    //
}
function ON_BASKET_ADD_FINISH(ps, s, up) {
    ON_BASKET_ADD(ps, s, up);
    //
    // set basket mode checkout
    //
}


function ON_BASKET_SET_ADDITEM(serial, size, maxcount, productserial, unitprice)
{
    var tokens = productserial.split(':');
    var modell = tokens[0];
    var color = tokens[1];
    var basket = tokens[2];
    var IC = BASKET_ITEMS.length;
    LOG("Basket additem init (" + productserial+" , " + serial + " , " + size + " , " + maxcount + " )");
    //
    // move to basket (1 sec later)
    //
    $('html, body').animate({ scrollTop: $("#THE_BASKET").offset().top }, 750);
    //
    if (!BASKET_IS_OPENED) {
        setTimeout("ON_BASKET_EXPAND();", 500);
        //
        // correction of scroll
        //
        setTimeout("$('html, body').animate({ scrollTop: $(\"#THE_BASKET\").offset().top }, 250);", 1200);
    }
    $('#THE_BASKET_INFO').html('[' + serial + '] termék hozzáadása a kosárhoz.');
    //
    if (!BASKET_IS_INADDMODE) {
        BASKET_IS_INADDMODE = true;
        $('#THE_BASKET1').hide(500);
        $('#THE_BASKET2').show(500);
    }
    //
    // render basket additem form
    //
    $('#THE_BASKET2').html('');
    $('<div>'
        + '<div id="BASKET_ADD_1" style="float:left;width:160px;height:180px;text-align:center;border:solid 1px red;margin:5px;text-align:center;overflow:hidden"><img id="ADD_IMG_1" alt="" style="height:160px;"/><div id="ADD_TXT_1" style="height:20px;background-color:#ffffff" /></div>'
        + '<div id="BASKET_ADD_2" style="float:left;width:160px;height:180px;text-align:center;border:solid 1px silver;margin:5px;"><img id="ADD_IMG_2" alt="" style="width:160px;height:160px;"/><div id="ADD_TXT_2" style="height:20px;background-color:#ffffff" /></div>'
        + '<div id="BASKET_ADD_3" style="float:left;width:160px;height:180px;text-align:center;border:solid 1px olive;margin:5px;"><img id="ADD_IMG_3" alt="" style="width:160px;height:160px;"/><div id="ADD_TXT_3" style="height:20px;background-color:#ffffff" /></div>'
        + '<div id="BASKET_ADD_4" style="float:left;width:160px;height:180px;text-align:center;border:solid 1px blue;margin:5px;"><img id="ADD_IMG_4" alt="" style="width:160px;height:160px;"/><div id="ADD_TXT_4" style="height:20px;background-color:#ffffff" /></div>'
        + '<div class="CB"/>'
        + '<div id="BASKET_ADD_STORE"><div id="BASKET_ADD_CIKKSZAM">Cikkszám:</div><div id="BASKET_ADD_UNITPRICE"><b>Ár:</b></div><div id="BASKET_ADD_KESZLET">Készleten: 5 db</div><div id="BASKET_ADD_ARUSZAM">Áruszám:</div><br/></div>'
        + '<div class="CB"/>'
        + '<div id="BASKET_COUNT_ROW">Ebből szeretnék '
        +   CREATE_NUM_PRICE_DD(maxcount, unitprice)
        + ' darabot vásárolni, <b id="BASKET_ADD_SUMPRICE">' + unitprice + '</b> Ft<small>+ÁFA</small> értékben.</div>'
        + '<div><a onclick="ON_BASKET_ADD_CONTINUE(\'' + productserial + '\',\'' + serial + '\',\'' + unitprice + '\');">Termék hozzáadása és a vásárlás folytatása.</a>'
        + '<a onclick="ON_BASKET_ADD_FINISH(\'' + productserial + '\',\'' + serial + '\',\''+unitprice+'\');" style="float:right">Termék hozzáadása és fizetés.</a></div>'
        + '</div>').appendTo('#THE_BASKET2');
    $('#BASKET_ADD_1,#BASKET_ADD_2,#BASKET_ADD_3,#BASKET_ADD_4').hide();
    setTimeout("$('#BASKET_ADD_1').show(1000);HeightFixWS();", 500);
    setTimeout("$('#BASKET_ADD_2').show(1000);HeightFixWS();", 1500);
    setTimeout("$('#BASKET_ADD_3').show(1000);HeightFixWS();", 2500);
    setTimeout("$('#BASKET_ADD_4').show(1000);HeightFixWS();", 3500);
    setTimeout("$('#BASKET_ADD_STORE').show(1000);HeightFixWS();ON_BASKET_EXPAND()", 5000);
    //
    // databinding fields
    //
    $('#ADD_IMG_1').attr('src', $('#COL_BIG_PIC').attr('src'));
    var colorimage = $('.COLOR_ICON>img[alt="' + color + '"]');
    var src2 = $(colorimage).attr('src');
    
    var basketimage = $('.BASKET_ICON>img[alt="'+basket+'"]');
    var src4 = $(basketimage).attr('src');
    LOG(src4);
    $('#ADD_IMG_2').attr('src', src2);
    $('#ADD_IMG_3').attr('src', 'i/size/size'+size.toString()+'.png');
    $('#ADD_IMG_4').attr('src', src4);
    $('#ADD_TXT_1').html(modell + ' termék');
    $('#ADD_TXT_2').html(color +' -s színben');
    $('#ADD_TXT_3').html(size + ' -s méretben');
    $('#ADD_TXT_4').html(basket + ' -s kosárral');
    $('#BASKET_ADD_CIKKSZAM').html('<b>Cikkszám:</b>&nbsp;' + productserial);
    $('#BASKET_ADD_ARUSZAM').html('<b>Áruszám:</b>&nbsp;' + serial);
    $('#BASKET_ADD_KESZLET').html('<b>Készleten:</b>&nbsp;' + maxcount + ' db');
    $('#BASKET_ADD_UNITPRICE').html('<b>Ár:</b>&nbsp;' + unitprice + ' Ft');
    
    $('#BASKET_ADD_SUMPRICE').html()
}

function CREATE_NUM_PRICE_DD(maxn,price)
{
    var t = '<select id="HOW_MANY" data-price="' + price + '" onchange="$(\'#BASKET_ADD_SUMPRICE\').html( ($(this).val()*$(this).attr(\'data-price\')).toString() )"><option value="1" selected="selected">1</option>';
    for (var i=1; i<maxn;i++)
    {
        t += ('<option value="' + (i + 1).toString() + '">' + (i + 1).toString() + '</option>');
    }
    t += '</select>';
    return t;
}



function GotoWSPic(src, idx) {
    $('#COL_BIG_PIC').attr('src', src);
    $('#COL_PIC_IDX').val(idx);
    var max = parseInt($('#COL_PIC_MAX').val());

    var nextIndex = (idx + 1 <= max) ? (idx + 1) : 1;
    var nextSrc = $('#COL_IDX_' + nextIndex).attr('src');
    var nextID = $('#COL_IDX_' + nextIndex).attr('data-ID');
    var oldID = $('#COL_IDX_' + idx).attr('data-ID');

    //var page_html = CREATE_PRODUCT_PAGE(nextID);
    var page_html = CREATE_PRODUCT_PAGE(oldID);
    $('#PRODUCT_PAGE').html(page_html);
    $('#COL_BIG_PIC2').attr('src', nextSrc);
    //
    // todo : animate PAGER2_LIST (ul)
    //
    var newLeft = idx * 30 * -1;            //28 = 24+4
    //$('#PAGER2_LIST').css('left', newLeft);
    $("#PAGER2_LIST").animate({
        left: newLeft
    }, { duration: 1000, queue: true });

    LOG('WS:New pictureIndex: ' + idx);
}



function NextWSPic() {
    var cur = parseInt($('#COL_PIC_IDX').val());
    var max = parseInt($('#COL_PIC_MAX').val());
    var newIndex = (cur + 1 <= max) ? (cur + 1) : 1;
    //alert(newIndex);
    var src = $('#COL_IDX_' + newIndex.toString()).attr('src');

    GotoWSPic(src, newIndex);
}

function PrevWSPic() {
    var cur = parseInt($('#COL_PIC_IDX').val());
    var max = parseInt($('#COL_PIC_MAX').val());

    var newIndex = (cur - 1 >= 1) ? (cur - 1) : max;
    //alert(newIndex);
    var src = $('#COL_IDX_' + newIndex.toString()).attr('src');

    GotoWSPic(src, newIndex);
}



/* video section START*/
function InitVideoList(lng, fixheight_v) {
    GET('BHM.Default.VIDEO_BODY_L0', 'GAL_BODY', lng);
    //
    // todo: height animation
    //
    if (fixheight_v != undefined) {
        if (fixheight_v) { HeightFix3(); }
    }
    else {
        LOG("First heightfix occuring (V)...")
        HeightFix3();
        LOG("First heightfix finished running (V)...")
    }
}

function InitAllPicGallery(lng, fixheight_v) {
    GET('BHM.Default.GALLERY_BODY_L0', 'GAL_BODY', lng);
    //
    // todo: height animation
    //
    if (fixheight_v != undefined) {
        if (fixheight_v) { HeightFix3(); }
    }
    else {
        LOG("First heightfix occuring...")
        HeightFix3();
        LOG("First heightfix finished running...")
    }
}
function InitPicGallery(lng, code, cap) {
    //    alert('initpicgallery'+code);
    //    alert('caption: ' + cap);

    GET('BHM.Default.GALLERY_BODY_L1', 'GAL_BODY', lng + '|' + code + '|' + cap);

    HeightFix3();
}

function InitOneVideo(url, cap) {
    //    alert('init one video: ' + url);
    //    alert('caption: ' + cap);

    $('#GAL_BODY').html('');

    var width = 672;
    var height = 539;
    var newHtml = '<div align="center"><object width="' + width + '" height="' + height + '"><param name="movie" value="' +
        url + '?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="'
        + url + '?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" '
        + 'width="' + width + '" height="' + height + '"></embed></object></div>';
    $('#GAL_BODY').html(newHtml);
    //
    HeightFix3();
}

function HeightFix3() {
    var newHeight = $('#P4').css('height');
    //alert($.browser.);
    //alert(newHeight);
    if (!$.browser.msie) {
        newHeight = (parseInt(newHeight.replace('px', '')) + 10).toString() + 'px';
        LOG("Going to new height: " + newHeight);

    }
    else {
        //
        //  determing mode
        //
        var img_src = $('#GAL_BIG_PIC').attr('src');

        if (img_src == undefined) {
            //
            //  getting numrows and fix
            //
            var num_items = $('#COL_LIST > DIV').size();
            var num_rows = $('#COL_LIST > DIV.RB').size();
            //
            if (num_rows == 0) {
                if (num_items > 1) {
                    num_rows = 1;   //(one unfinished row with items)
                }
            }
            //
            //  upper spacing   + row height  + row_separator height
            //
            LOG("Going to fake height: 170 + " + (num_rows * 252).toString() + ' + ' + ((num_rows - 1) * 10));
            newHeight = (170 + (num_rows * 252) + ((num_rows - 1) * 10));

            if (newHeight < 260) {
                newHeight = '260px';   //no items, left menu height
            }
            else {
                newHeight = newHeight.toString() + 'px'
            }
        }
        else {
            //
            //  getting picture height and fix
            //
            var filename = img_src.split(/[\/ ]+/).pop();   //last token splitted by slash
            var server_height = parseInt(BHM.Default.GET_IE_PICTURE_HEIGHT(filename).value);

            newHeight = (server_height + 170).toString() + 'px';
            LOG("Going to fake height: 170 + " + server_height);
        }
    }


    $("#PAGES_MASK").animate({
        height: newHeight
    }, { duration: 500, queue: true });
}

function NextGalPic() {
    var cur = parseInt($('#GAL_PIC_IDX').val());
    var max = parseInt($('#GAL_PIC_MAX').val());

    var newIndex = (cur + 1 <= max) ? (cur + 1) : 1;
    //alert(newIndex);
    var src = $('#GAL_IDX_' + newIndex.toString()).attr('src');

    GotoGalPic(src, newIndex);
}

function PrevGalPic() {
    var cur = parseInt($('#GAL_PIC_IDX').val());
    var max = parseInt($('#GAL_PIC_MAX').val());

    var newIndex = (cur - 1 >= 1) ? (cur - 1) : max;
    //alert(newIndex);
    var src = $('#GAL_IDX_' + newIndex.toString()).attr('src');

    GotoGalPic(src, newIndex);
}

function GotoGalPic(src, idx) {
    $('#GAL_BIG_PIC').attr('src', src);
    $('#GAL_PIC_IDX').val(idx);
    //
    // todo : animate PAGER2_LIST (ul)
    //
    var newLeft = idx * 30 * -1;            //28 = 24+4
    //$('#PAGER2_LIST').css('left', newLeft);
    $("#PAGER2_LIST").animate({
        left: newLeft
    }, { duration: 1000, queue: true });

    LOG('New gallery pictureIndex: ' + idx);
    //
    //HeightFix3();

}
/* video section END*/




/* extension JS : cursormessage          START   */

if (jQuery) {
    (function($) {
        $.cursorMessageData = {}; // needed for e.g. timeoutId
        //start registring mouse coöridnates from the start!

        $(window).ready(function(e) {
            if ($('#cursorMessageDiv').length == 0) {
                $('body').append('<div id="cursorMessageDiv">&nbsp;</div>');
                $('#cursorMessageDiv').hide();
            }

            $('body').mousemove(function(e) {
                $.cursorMessageData.mouseX = e.pageX;
                $.cursorMessageData.mouseY = e.pageY;
                if ($.cursorMessageData.options != undefined) $._showCursorMessage();
            });
        });
        $.extend({
            cursorMessage: function(message, options) {
                if (options == undefined) options = {};
                if (options.offsetX == undefined) options.offsetX = 5;
                if (options.offsetY == undefined) options.offsetY = 5;
                if (options.hideTimeout == undefined) options.hideTimeout = 1000;


                if ($('#cursorMessageDiv').css('display') != 'none') {
                    //skipping animation
                }
                else {
                    //funky override of default behavior
                    $('#cursorMessageDiv').html(message).show(500);
                    if (jQuery.cursorMessageData.hideTimeoutId != undefined) {
                        //anim in progress
                        clearTimeout(jQuery.cursorMessageData.hideTimeoutId);
                    }
                    else {
                        //if (options.hideTimeout > 0) jQuery.cursorMessageData.hideTimeoutId = setTimeout($.hideCursorMessage, options.hideTimeout);
                        jQuery.cursorMessageData.options = options;
                        $._showCursorMessage();
                    }
                }
            },
            hideCursorMessage: function() {
                $('#cursorMessageDiv').hide(500);
            },
            _showCursorMessage: function() {
                $('#cursorMessageDiv').css({ top: ($.cursorMessageData.mouseY + $.cursorMessageData.options.offsetY) + 'px', left: ($.cursorMessageData.mouseX + $.cursorMessageData.options.offsetX) });
            }
        });
    })(jQuery);
}

/* extension JS : cursormessage          END   */




var collection_tree_initialized = false;
function INIT_PAGE(idx) {
    switch (idx) {
        case 0:
            {
                //
                //  main page - do nothing
                //
                break; //of case 0
            }
        case 1:
            {
                //
                //  about us - do nothing
                //
                break; //of case 1
            }
        case 2:
            {
                //
                //  collections - init tree, init list, set height
                //
                InitColLev0('HU', false);
                //InitColLev1('HU', 'CAA0001');

                // LOG('On page initialization...' + collection_tree_initialized);

                /*
                if (!collection_tree_initialized) {
                $("#testul").treeview({
                collapsed: true,
                animated: "medium",
                control: "#sidetreecontrol",
                persist: "location",
                toggle: function() {
                var subul = this.getElementsByTagName("ul")[0];
                alert('hm: ' + subul);
                                            
                var newHeight = $('#P2').css('height');
                LOG("Going to new height: " + newHeight);
                    
                $("#PAGES_MASK").animate({
                height: newHeight
                }, { duration: 500, queue: true });
                    
                }
                });
                                        
                */

                /*        
                var newHeight = $('#P2').css('height');
                LOG("Going to new height: " + newHeight);

                            $("#PAGES_MASK").animate({
                height: newHeight
                }, { duration: 500, queue: true });

                        }
                })
                */
                //collection_tree_initialized = !collection_tree_initialized;
                //}
                break; //of case 2
            }
        case 3:
            {
                //
                //  webshop - init iframe, set height
                //
                InitShopLev0('HU', false);
                //
                break; //of case 3
            }
        case 4:
            {
                //
                //  gallery - init right, init list1, init list2, set height
                //
                InitAllPicGallery('HU', false);
                break; //of case 4
            }
        case 5:
            {
                //
                //  contact - init map1, init map2, init map3, set height
                //
                var map = new GMap2(document.getElementById("MAP_CONTACT_0"));
                var point = new GLatLng(47.415703, 19.208264);
                //map.setMapType(G_PHYSICAL_MAP);
                map.setMapType(G_HYBRID_MAP);

                var mapControl = new GMapTypeControl();
                map.addControl(mapControl);
                map.addControl(new GLargeMapControl());
                map.setCenter(point, 11); map.addOverlay(new GMarker(point));
                //
                // init shops and contractors
                //
                GET('BHM.Default.GET_SHOPS', 'LIST1', 'HU');
                GET('BHM.Default.GET_CONTACTORS', 'LIST2', 'HU');

                break; //of case 5
            }
        default:
            {
                alert('step unhandled' + step_to_validate);
            }
    }
    //MASK_ALIGN_TO_CONTENT('#P' + idx.toString());
}

function MASK_ALIGN_TO_CONTENT(selector) {
    var newHeight = $(selector).css('height');
    var pagesHeight = $('#PAGES').css('height');
    LOG("Going to new height [" + selector + "]: " + newHeight + " <> " + pagesHeight);

    $("#PAGES_MASK").animate({
        height: newHeight
    }, { duration: 500, queue: true });
}

/* --------------------------------------------------------------------
INITIALIZING PAGE                  end.
-----------------------------------------------------------------------*/
//initializing route list
function InitRouteListing() {
    //refresh route listing
    var P1 = '4';
    HtmlControlUpdate('GYR.Regisztracio.Get_All_Routes', 'DIV_ROUTES_F', P1);
}
//initializing route information panel
function InitRoutInfo() {
    //show detailed information about route
    var routeID = GET_DATAFIELD('routes', 'ID');
    var P = routeID;
    HtmlControlUpdate('GYR.Regisztracio.Get_Route_RoutePanel', 'DIV_ROUTE_INFOPANEL_F', P);

}
//handling click function for route list
function ASSOCIATED_CLICK(controlName) { var control = $(controlName); control.checked = true; ASSOCIATED_CLICK2(control); }
function ASSOCIATED_CLICK2(typeRadio) { InitRoutInfo(); }

function RegistrationProvinces() {
    var c = $('#ddOrszag').val();
    if (c != 0) {
        GET('GYR.Regisztracio.Get_Registration_Province_DD', 'divMegye', c.toString());
        //
        var res = GYR.Regisztracio.Get_Registration_Country_One(c).value;
        //alert(res);
        var country = eval('(' + res + ')');
        SingleMapInit('map_register', country.lat, country.lng, 5)
    }


}
function RegistrationCities() {
    var c = $('#ddOrszag').val();
    var m = $('#ddMegye').val();
    if (m != 0) {
        GET('GYR.Regisztracio.Get_Registration_City_DD', 'divVaros', m.toString());
        //
        var res = GYR.Regisztracio.Get_Registration_Province_One(m).value;
        var province = eval('(' + res + ')');

        var z = (m == 1) ? 10 : 7;
        SingleMapInit('map_register', province.lat, province.lng, z)
    }
}
function RegistrationMapRefresh() {
    var m = $('#ddMegye').val();
    var v = $('#ddVaros').val();
    if (v != 0) {
        var res = GYR.Regisztracio.Get_Registration_City_One(v).value;
        var city = eval('(' + res + ')');
        //
        // init map
        //
        var z = 12;
        //
        if (city.area < 20) z = 11;
        else if (city.area < 50) z = 10;
        else if (city.area < 80) z = 9;
        else z = 8;
        //
        SingleMapInit('map_register', city.lat, city.lng, z)
    }
}
function SingleMapInit(m, lat, lng, zoom) {
    var map = new GMap2(document.getElementById(m));
    var point = new GLatLng(lat, lng);
    map.setMapType(G_PHYSICAL_MAP);
    map.addControl(new GSmallMapControl());
    map.setCenter(point, zoom);
    map.addOverlay(new GMarker(point));
}

function AU2_C(controlName) {
    var naming = 'countrys';
    var control = $('#' + controlName);
    var radios = $('input[name=' + naming + ']');
    //var selected_radio = $('input[name='+naming+']:checked');	//current selection
    //
    $('input[name=' + naming + ']').attr('checked', ''); //clear all
    control.attr('checked', 'checked'); 	//select this
    AU_C(control);
}
function AU_C(cityRadio) {
    loadDetails();
}

function AUC2_C(controlName) {
    var control = $('#' + controlName);
    control.attr('checked', 'checked');
    AUC_C(control);
}


function GET_DATAFIELD(naming, column) {
    var i = 0; var act = $('#' + naming + i);
    alert('looking for: ' + '[#' + naming + i + ']');
    switch (column) {
        case 'ID':
            {
                //do nothing yet
                alert('gd');
            } break;
        default: { return_text += 'unsupported: ' + column; }
            break;
    } //endswitch
}
/* --------------------------------------------------------------------
DEFAULT                  END
-----------------------------------------------------------------------*/

var total_errors = 0;
function AddErrorMessage(divError, current_value, extremal_value, field_name, error_message) {
    if (current_value.toString() == extremal_value.toString()) {
        //alert(field_name+' failed');
        if (divError.html().length == 0) {
            divError.html('<label>Az ûrlap hibás!</label>');
        }
        total_errors++;
        $('<div id="error_' + total_errors.toString() + '" />')
			.html('<span style="width:150px;color:#690909 !important">' + field_name + '</span> - <em style="color:#ff3333">' + error_message + '</em>')
			.appendTo(divError);
    }
}

/* --------------------------------------------------------------------
ABOUT US                  START
-----------------------------------------------------------------------*/
function SUBMIT_Message(button) {
    //COLLECT DATA
    var ec = $('p_MessageHiba');
    var text = '';

    //megrendelo
    var t1 = $('t_message_name'); var t2 = $('t_message_email'); var t3 = $('t_message_title'); var t4 = $('t_message_desc');


    //SET VARIABLES
    var name = t1.value;
    var email = t2.value;
    var title = t3.value;
    var desc = t4.value;

    //validate fields
    if (name.length == 0) { text += 'Kérlek add meg a neved.<br>'; }
    if (name.indexOf('|') != -1) { text += 'Ne használj | karaktert a névben.<br>'; }
    if (email.indexOf('|') != -1) { text += 'Ne használj | karaktert az emailben.<br>'; }
    if (title.length == 0) { text += 'Kérlek add meg üzeneted témáját.<br>'; }
    if (title.indexOf('|') != -1) { text += 'Ne használj | karaktert a hirdetés címében.<br>'; }
    if (desc.length == 0) { text += 'Kérlek add meg az üzenet tartalmát.<br>'; }
    if (desc.indexOf('|') != -1) { text += 'Ne használj | karaktert az üzenetben.<br>'; }
    if (text.length == 0) {
        var P = name + '|' + email + '|' + title + '|' + desc;
        GET('GYR.Regisztracio.FORM_POSTBACK_MESSAGE', 'p_Message', P);
        //
        InitForm();
    }
    else {
        //display error
        ec.innerHTML = text;
    }
}
/* --------------------------------------------------------------------
ABOUT US                  END
-----------------------------------------------------------------------*/



/* --------------------------------------------------------------------
CORE FUNCTIONS                  START
-----------------------------------------------------------------------*/
function REDIR(url) { document.location = url; }
function LOG_CONTROL(c) {
    var CONSOLE = $('#CONSOLE'); var s = '';
    for (f in c) {
        try {
            if (c[f] != undefined) {
                if (c[f].length != 0) {
                    if (typeof (c[f]) != 'object' && typeof (c[f]) != 'function')
                    { s += '  [<font class="hint" color=\"Silver\">' + f + '</font>|' + '<font color=\"White\"><big><b class="aTBCat">' + c[f] + '</b></big></font>]  '; }
                }
            }
        } catch (err) { s += '[.]' + err; }
    }
    CONSOLE.html(s); CONSOLE.addClass('underdev');
}
function SHOW(cN) { var C = $('#' + cN); C.show(500); }
function HIDE(cN) { var C = $('#' + cN); C.hide(500); }
function GET_SELECTED(naming) {
    var i = 0; var ACT = $('#' + naming + i);
    while (ACT != undefined) {
        if (ACT.is(':checked') === true) { break; } i++; ACT = $('#' + naming + i);
    }
    return ACT;
}

function Log(output) {
    var c = $('#CONSOLE').html();
    var h = c.html();
    c.html(h + '<br/>' + output);
}
function GET(a, b, c) {
    //HtmlControlUpdate(a, b, c); 
    var v = a + '(\'' + c + '\').value';
    var s = eval('(' + v + ')');
    var ctr = $('#' + b);
    if (ctr === undefined)
        alert('control not exists: [' + b + ']');
    else
        ctr.html(s);  //loading server side data
}

function GET_DATE(group) {
    /*
    var y = DDSV(group + '_YEAR');
    var m = DDSV(group + '_MONTH');
    var d = DDSV(group + '_DAY');
    if (m.length < 2) { m = "0" + m };
    if (d.length < 2) { d = "0" + d };
    return y + '.' + m + '.' + d;
    */
    return 'hiba!';
}
/* --------------------------------------------------------------------
CORE FUNCTIONS                  end.
-----------------------------------------------------------------------*/
