/**
 * Общие функции сайта
 **/

var AuthUser= false;

function fbGetUser(user){
	if(typeof(user.error)!='undefined'){
		return false;
	}
	
	var AuthUser= user;
}

var commonTools= {
    
    addslashes: function(str) {return str.replace('/(["\'\])/g', "\\$1").replace('/\0/g', "\\0"); },
    
    /**
     * Прелодер изображений
     */
    preloadImages: function (images, callback) {
        if(images.length==0){
            callback();
        }
        else{
            if (typeof document.body == "undefined") return;
            try {
                var div = document.createElement("div");
                var s = div.style;
                s.position = "absolute";
                s.top = s.left = 0;
                s.visibility = "hidden";
                document.body.appendChild(div);
                div.innerHTML = "<img src=\"" + images.join("\" /><img src=\"") + "\" />";
                var lastImg = div.lastChild;
                lastImg.onload = function() {
                    document.body.removeChild(document.body.lastChild);
                    callback();
                };
            }
            catch(e) {}
        }
    },

    getUrlVars: function(varName){
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        
        if(vars.length==0){
        	return false;
        }
        if(typeof(vars[varName])=='undefined'){
        	return false;
        }
        if (varName ){
        	return vars[varName];
        }
        return vars;
    },
    /**
     * Обрезает текст до заданной длинны
     */
    cropText: function(str, len, s){
        s= s || '...';
        if (typeof(str)=='string' && str.length>len){
            return str.substr(0,len)+s;
        }
        return str;
    },
    
     /**
     * Склонение слов
     */
   declension: function (num, expressions) {
        var result;
        count = num % 100;
        if (count >= 5 && count <= 20) {
            result = expressions['2'];
        } else {
            count = count % 10;
            if (count == 1) {
                result = expressions['0'];
            } else if (count >= 2 && count <= 4) {
                result = expressions['1'];
            } else {
                result = expressions['2'];
            }
        }
        return result;
    },
    
    inputHelper: function(obj, text){
        
        function InputHelperIn ( obj, text ){
            if ( obj.val() == text ){
                $(obj).val('');
            }
	}
        function InputHelperOut ( obj, text ){
            if ( obj.val() == '' || obj.val() == text){
                $(obj).val (text);
            }
	}

        //вешаем на поле эвенты. На фокус и потерю фокуса.
        $( obj )
            .bind ( 'focus', function () {
                    InputHelperIn ( obj, text );
            } )
            .bind ( 'blur', function () {
                    InputHelperOut ( obj, text );
            } );

        InputHelperOut ( obj, text );
    }
}
