/**
 * Класс для обработки специфических функций браузера
 */
Browser = function() {
    var userAgent = navigator.userAgent.toLowerCase();
    var _ie = /msie/.test(userAgent) && !/opera/.test(userAgent);
    var _old_ie = /MSIE (5\.5|6).+Win/.test(navigator.userAgent);
    var _webkit = /webkit/.test(userAgent);
    return {
        isMSIE: _ie,
        isWebKit: _webkit,
        isIE6: _old_ie,
        /**
         * Определяет область с основной прокруткой
         * (в браузерах на WebKit она волшебным образом отличается
         */
        getScrollBody: function() {
            return (_webkit)
                ? document.body
                : document.documentElement;
        }
    }
}();


/**
 * Добавим в массив метод indexOf
 */
if (!Array.indexOf) {
    Array.prototype.indexOf = function(searchElement, fromIndex) {
        if (!fromIndex)
            fromIndex = 0;
        for(var i = fromIndex; i < this.length; i ++)
            if (this[i] == searchElement)
                return i;
        return -1;
    }
}

/**
 * Преобразовать число в строку с ценой
 * @return {String}
 */
Number.prototype.toPrice = function() {
    var price = this.toFixed(2);

    var rub = Math.floor(price).toString();
    var kop = Math.floor((price - parseInt(price) + 0.001) * 100);

    var l = rub.length;
    var i = 0;
    var html = '';

    while (i < l) {
        var k = ((i == 0) && (l % 3 > 0))
            ? l % 3
            : 3;
        html += '<span>' + rub.substr(i, k) + '</span>';
        i += k;
    }

    if (kop > 0) {
        kop = kop.toString();
        if (kop.length < 2)
            kop = '0' + kop;
        html += 'руб. <span>' + kop + '</span>коп.';
    } else {
        html += 'руб.'
    }
    return html;
}

var __trimRegExp = /^(\s|\u00A0)+|(\s|\u00A0)+$/g;
String.prototype.trim = function() {
    return this.replace(__trimRegExp, '');
}


/**
 * pngFix для IE
 *
 */
var __sizingRegExp = /iesizing\-(\w+)/;

function fixPNG(element, sizing) {
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
        sizing = sizing || "crop";
        var sizingMatch = __sizingRegExp.exec(element.className)
        if (sizingMatch)
            sizing = sizingMatch[1];
        var url;
        if (element.tagName == "IMG") {
            if (/\.png$/.test(element.src)) {
                url = element.src;
                element.src = "/i/e.gif";
            }
        } else {
            url = element.currentStyle.backgroundImage.match(/url\(["']?(.+\.png).*?["']?\)/i);
            if (url) {
                url = url[1];
                element.runtimeStyle.backgroundImage = "none";
            }
        }
        if (url)
            element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url + "',sizingMethod='" + sizing + "')";
        else
            element.runtimeStyle.filter = "true";
    }
}

