$(document).ready(function() {
    ConfigureImageSize();

    var colWidth = (window.screen.width - 1000) / 2;
    $('#leftCol').width(colWidth);
    $('#rightCol').width(colWidth);
    try {
        var whiteTransTop = 10 + 4 + $('#bgImage').height() - 79;
        $('div.whiteTrans').css('top', whiteTransTop);

        var descriptTableHeight = $('#bgImage').height() - ($('div.advertizing').height() + parseInt($('div.advertizing').css('padding-top').replace("px", "")) +
                $('table.thumbnail').height());

        if ($('table.description').height() < descriptTableHeight)
            $('table.description').height(descriptTableHeight);

        if ($('div.mainColumn').height() + 10 > $('div.menuColumn').height())
            $('div.menuColumn').height($('div.mainColumn').height() + 10);
        else
            $('div.mainColumn').height($('div.menuColumn').height() - 10);
    }
    catch (err) {
    }

    $('table.button').mouseover(function() {
        $(this).removeClass("button");
        $(this).addClass("buttonOver");
    });

    $('table.button').mouseout(function() {
        $(this).removeClass("buttonOver");
        $(this).addClass("button");
    });

    $('table.buttonSearch').mouseover(function() {
        $(this).removeClass("buttonSearch");
        $(this).addClass("buttonSearchOver");
    });

    $('table.buttonSearch').mouseout(function() {
        $(this).removeClass("buttonSearchOver");
        $(this).addClass("buttonSearch");
    });

    $('table.thumbnail tr td.image a img').mouseover(function() {
        $(this).addClass("current_image");
    });

    $('table.thumbnail tr td.image a img').mouseout(function() {
        $(this).removeClass("current_image");
    });
});

function ConfigureImageSize() {
    if (window.screen.height < 1080 && window.screen.height > 770) {
        var deltaHeight = 0.097;
        var deltaPadding = 0.226;
        var delta = 1080 - window.screen.height;

        $('div.advertizing').css('padding-top', 170 - deltaPadding * delta);
    }

    if (window.screen.height <= 770) {
        $('div.advertizing').css('padding-top', 100);
    }
}

function ResizeBrowserWindowHandler() {
    var colWidth = (window.screen.width - 1000) / 2;
    $('#leftCol').width(colWidth);
    $('#rightCol').width(colWidth);
}

window.onresize = ResizeBrowserWindowHandler;

function lastElementClick(e) {
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault)
        e.preventDefault()
    return false;
}

format_item = function(item, position, length) {
    var container = $('div.ac_results');
    var lastItem = $('div.ac_results div.lastItem');
    if (length == 0) {
        AppendLastItemToSuggestion($('input.hiddenResultNone').val(), container, lastItem);
    }
    else if (length < 15) {
        AppendLastItemToSuggestion($('input.hiddenResultLess').val(), container, lastItem);
    }
    return htmlEncode(item[0]);
}

prep_data = function(data) {
    $('div.ac_results div.lastItem').remove();
    tmp = data.toString().split('\r\n');
    var parsed_data = [];
    for (i = 0; i < tmp.length; i++) {
        var tmpStr = tmp[i].toString();
        var dataArray = tmpStr.split('|');
        if (dataArray.length != 2)
            break;
        parsed_data[i] = {
            data: dataArray,
            value: dataArray[1],
            result: dataArray[0]
        }
    }
    if (parsed_data.length == 0) {
        var container = $('div.ac_results');
        var lastItem = $('div.ac_results div.lastItem');
        AppendLastItemToSuggestion($('input.hiddenResultNone').val(), container, lastItem);
    }
    return parsed_data;

}

function AppendLastItemToSuggestion(text, container, lastItem) {
    if (container && lastItem) {
        if (lastItem.length == 0) {
            container.append('<div class="lastItem">' + text + '</div>');
            lastItem = $('div.ac_results div.lastItem');
            lastItem.click(function(event) { lastElementClick(event); });
        }
        else {
            lastItem.val(text);
        }
    }
}

function SetAutoCompleteFor(id, completeHandler) {
    $('div.ac_results').remove();
    $("#" + id).autocomplete(completeHandler, {
        minChars: 3,
        multiple: true,
        multipleSeparator: "\r\n",
        formatItem: format_item,
        parse: prep_data,
        cacheLength: 1,
        delay: 200,
        selectFirst: false,
        max: 62
    });

    $("#" + id).result(function(event, data, formatted) {
        if (data && data.length > 1 && data[1]) {
            var hidden = $('input.hiddenForAutocompleter');
            if (hidden && hidden.length > 0) {
                hidden[0].value = data[1];
            }
        }
        var patternSelectionTypeControl = $('input.patternSelectionType');
        patternSelectionTypeControl[0].value = 1; // postback caused by single selection
        $('table.searchSubmit').click();
    });
}

function htmlEncode(input) {
    var t = document.createTextNode(input),
      e = document.createElement('div');
    e.appendChild(t);
    return e.innerHTML;
}

function htmlDecode(input) {
    var e = document.createElement('div');
    e.innerHTML = input;
    return e.childNodes[0].nodeValue;
}

_utf8_decode = function(utftext) {
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;

    while (i < utftext.length) {

        c = utftext.charCodeAt(i);

        if (c < 128) {
            string += String.fromCharCode(c);
            i++;
        }
        else if ((c > 191) && (c < 224)) {
            c2 = utftext.charCodeAt(i + 1);
            string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
            i += 2;
        }
        else {
            c2 = utftext.charCodeAt(i + 1);
            c3 = utftext.charCodeAt(i + 2);
            string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }

    }

    return string;
}

function ConfigurePageHeight() {
    var fih = GetFlashInfoHeight();
    try {
        $('div.content').css("height", "auto");
        $('div.mainColumn').css("height", "auto");
        $('div.menuColumn').css("height", "auto");

        if ($('#bgImage').height() > $('div.content').height())
            $('div.content').height($('#bgImage').height() + 30 + fih);

        if ($('div.content').height() > $('div.mainColumn').height())
            $('div.mainColumn').height($('div.content').height());

        if ($('div.mainColumn').height() + 10 > $('div.menuColumn').height())
            $('div.menuColumn').height($('div.mainColumn').height() + 10);
        else
            $('div.mainColumn').height($('div.menuColumn').height() - 10);

        if ($('div.content').height() < ($('div.menuColumn').height() - 20))
            $('div.content').height($('div.menuColumn').height() - 20);

        if ($('div.content').height() < $('div.content div.newsDetails').height()) {
            $('div.content').height($('div.content div.newsDetails').height());
            $('div.mainColumn').height($('div.content').height());
        }
    }
    catch (err) { }
}

function ConfigureContentHeight(newHeight) {
    try {
        if ($('div.mainColumn').height() + 10 > $('div.menuColumn').height())
            $('div.menuColumn').height($('div.mainColumn').height() + 10);
        else
            $('div.mainColumn').height($('div.menuColumn').height() - 10);

        if ($('div.content').height() < ($('div.menuColumn').height() - 20))
            $('div.content').height($('div.menuColumn').height() - 20);

        if ($('div.content').height() < $('div.content div.newsDetails').height()) {
            $('div.content').height($('div.content div.newsDetails').height());
            $('div.mainColumn').height($('div.content').height());
        }
    }
    catch (err) { }
}

function IsFlashEnabled() {
    var hasFlash = false;
    try {
        var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
        if (fo) hasFlash = true;
    } catch (e) {
        if (navigator.mimeTypes["application/x-shockwave-flash"] != undefined && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) hasFlash = true;
    }

    return hasFlash;
}

$('#bgImage').load(function() {
    ConfigurePageHeight();
});

var preferedLanguage = "en";

function renderMap(latitude, longitude, name) {
// Temporary commented
//    if (name) {
//        //GetBoundsByName(name);
//        $('#map_canvas').hide();
//        return;
//    }
    $('#map_canvas').show();
    var myLatlng = new google.maps.LatLng(latitude, longitude);
    var myOptions = {
        zoom: 8,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

function GetBoundsByName(name) {
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({ 'address': name, 'language': preferedLanguage }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK && results) {
            var loc = results[0].geometry.location;
            var myOptions = {
                zoom: 8,
                center: loc,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        }
    });
}

function SetSeparatorHeight(el1, el2, hrSep) {
    try {
        if (el1 != null && el2 != null) {
            var elHeight;
            if (el1.offsetHeight > el2.offsetHeight) {
                elHeight = el1.offsetHeight;
            }
            else {
                elHeight = el2.offsetHeight;
            }

            elHeight = elHeight - 7;
            if (hrSep != null) {
                hrSep.style.height = elHeight + "px";
            }
        }
    } catch (err) { }
}

function GetFlashInfoHeight() {
    var height = 0;
    try {
        for (var i = 0; i < $('div.flashInfo').length; i++) {
            var id = '#' + $('div.flashInfo')[i].id;
            height += $(id).height();
        }
        if (height != 0)
            height += 3;
    }
    catch (err) { return 0; }
    return height;
}

