if (typeof loadFirebugConsole == "function") {
    loadFirebugConsole();
}


var Y = YAHOO,Yu = Y.util, YuE = Yu.Event, Yl = Y.lang, Yw = Y.widget, YuD = Yu.Dom, HITV = {};
var myLoader = function(o) {
    var loader = new Yu.YUILoader({
        loadOptional: true,
        allowRollup: false,
        'skin': {
            'defaultSkin': '',
            'base': 'assets',
            'path': 'skin.css',
            'rollup': 3
        },
        onFailure: function(msg, xhrobj) {
            var m = "LOAD FAILED: " + msg;
            if (xhrobj) { 
                    m += ", " + Yl.dump(xhrobj); 
            }
//            alert(m);
        },
         base: '/js/yui/'
//       , filter: "RAW"    
    });
    loader.addModule({
      name:'mymenu',
      type:'js',
      fullpath:'/js/my/myMenu.js',
      requires:["menu", "animation"]
    }); 
    loader.addModule({
      name:'index',
      type:'js',
      fullpath:'/js/my/index.js?6',//+new Date().valueOf().toString(),
      requires:["mymenu", "selector"]
    }); 
    
    if (!o.onSuccess) loader.onSuccess = null;
    loader.dirty  = true;
    loader.insert(o);      
};
myLoader({
    require: ["connection"],
    onSuccess :  function(){
        YuC = Yu.Connect;
        if (Y.env.ua.ie > 0 && Y.env.ua.ie < 7){
            var el=window.body;
            YuE.on(window, 'resize', function(){
                if (document.documentElement.clientWidth < 1100) {
                    Yu.Dom.setStyle(el, 'width', '1100px');
                }else if (document.documentElement.clientWidth > 1800) {
                    Yu.Dom.setStyle(el, 'width', '1800px');
                }else{
                    Yu.Dom.setStyle(el, 'width', '100%');
                }
            });
        };

    }
});
var urlTranslit = function( str, allow_slashes ) {
   var slash = "";
   if (allow_slashes) slash = "\\/";
   
   var LettersFrom = "абвгдезиклмнопрстуфыэйхё";
   var LettersTo   = "abvgdeziklmnoprstufyejxe";
   var Consonant = "бвгджзйклмнпрстфхцчшщ";
   var Vowel = "аеёиоуыэюя";
   var BiLetters = {  
     "ж" : "zh", "ц" : "ts",  "ч" : "ch", 
     "ш" : "sh", "щ" : "sch", "ю" : "ju", "я" : "ja"
                   };

   str = str.replace( /[_\s\.,?!\[\](){}]+/g, "_");
   str = str.replace( /-{2,}/g, "--");
   str = str.replace( /_\-+_/g, "--");

   str = str.toLowerCase();

   str = str.replace( 
      new RegExp( "(ь|ъ)(["+Vowel+"])", "g" ), "j$2");
   str = str.replace( /(ь|ъ)/g, "");

   var _str = "";
   for( var x=0; x<str.length; x++)
    if ((index = LettersFrom.indexOf(str.charAt(x))) > -1)
     _str+=LettersTo.charAt(index);
    else
     _str+=str.charAt(x);
   str = _str;

   var _str = "";
   for( var x=0; x<str.length; x++)
    if (BiLetters[str.charAt(x)])
     _str+=BiLetters[str.charAt(x)];
    else
     _str+=str.charAt(x);
   str = _str;
      
   str = str.replace( /j{2,}/g, "j");

   str = str.replace( new RegExp( "[^"+slash+"0-9a-z_\\-]+", "g"), "");

   return str;
};

inArray = function( elem, array ) {
    for ( var i = 0, length = array.length; i < length; i++ )
        if ( array[ i ] == elem )
            return true;

    return false;
}
getE = function( el ) { 
    return document.getElementById(el);
}
cE = function( el ) { 
    return document.createElement(el);
}
                         
function fixPNG(element) {
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
        var src;
        
        if (element.tagName=='IMG') {
            if (/\.png$/.test(element.src)) {
                src = element.src;
                element.src = "/pic/blank.gif";
            }
        } else {
            src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
            if (src) {
                src = src[1];
                element.runtimeStyle.backgroundImage="none";
                element.runtimeStyle.backgroundPosition="-19px";
            }
        }
        
        if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='crop')";
    }
}
function BlockToggle(objId, togId, display, plus, minus) {
    if (!plus) plus = '+';
    if (!minus) minus = '-';
    var o = getE(objId), t = getE(togId);
    if (o.style.display == 'none') {
        if (!display) display = 'block';
        if (display == 'table-row') {   
            var agent = navigator.userAgent.toLowerCase();
            if (agent.indexOf('msie') >= 0 && agent.indexOf('opera') < 0) display = 'block';
        }
        o.style.display = display;
        if (t) t.innerHTML = minus;
    } else {
        o.style.display = 'none';
        if (t) t.innerHTML = plus;
    }
}

function _round(value, precision) {
    if (!precision) {
        precision = 0;
    }
    return  Math.round(value*Math.pow(10,precision))/Math.pow(10,precision);   
}

function ByteToKilo(value) {
    if (value >= 1024 * 1024) {
        return  _round((value / (1024 * 1024)),2) + ' Mb';
    } else if (value >= 1024) {
        return _round((value / (1024)),2) + ' kb';
    }
}

function scaleDimensionsToFit(width, height, targetWidth, targetHeight) {
    if (!targetHeight) {
        targetHeight = targetWidth;
    }
    var aspect = height / width, temp = [];
    
    if (aspect < targetHeight / targetWidth) {
        temp['width'] = _round(targetWidth);
        temp['height'] = _round(targetWidth * aspect);
    } else {
        temp['width'] = _round(targetHeight / aspect);
        temp['height'] = _round(targetHeight);
    }
    
    return temp;
}

function shrinkDimensionsToFit(width, height, targetWidth, targetHeight) {
    if (!targetHeight) {
        targetHeight = targetWidth;
    }
    
    if (width > targetWidth || height > targetHeight) {
        var temp = scaleDimensionsToFit(width, height, targetWidth, targetHeight);
    } else {
        var temp = [];
        temp['width'] = width;
        temp['height'] = height;
    }
    return temp;
}
// a - строка '<a href={link}>{text}</a>'
// b - объект {link:'http://aaaa.com', text:'ССылка'}
function shablon(a, b) {
    var c = a.match(/(\{\w*\})/g);
    if (!c) return a;
    for (var d = 0; d < c.length; d++) {
        var e = c[d],
        f = new RegExp(e, "g"),
        g = e.substring(1, e.length - 1);
        a = a.replace(f, b[g] != undefined ? b[g] : "")
    }
    return a
}
indexOfArr = function(arr, searchElement) {
    var len = arr.length;
    for (var i = 0; i < len; i++) {
        if (arr[i] == searchElement) return i;
    }
    return -1;
};

