function notebookBz(ParamName) {
    try {
        this.ParamName = ParamName ? ParamName : 'ads';
        this.cookieBZ = new Ext.state.CookieProvider({
            expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 30)), //30 дней
            path: "/"
        });
        if (!this.cookieBZ.readCookies()[this.ParamName]) {
            this.cookieBZ.setCookie(this.ParamName, '[]');
            if (!this.cookieBZ.readCookies()[this.ParamName]) {
                this.desablerCookie = true;
            }
        } 
    }
    catch (e) {
        this.desablerCookie = true;
    }    
}
notebookBz.prototype = {
    //Выключен cookie(false - нет, true - да)
    desablerCookie: false,
    //Вывод значение в виде массива
    getAll: function() {
        try {
            if (this.desablerCookie) {
                return []
            };
            return Ext.util.JSON.decode(this.cookieBZ.readCookies()[this.ParamName]);
        } catch (e) { };
    },
    //Добавление значение в виде массива(massCookie - массив)
    setAll: function(massCookie) {
        try {
            this.cookieBZ.setCookie(this.ParamName, Ext.util.JSON.encode(massCookie))
        } catch (e) { };
    },
    //Вывод количество объявлений
    count: function() {
        try {
            return this.getAll().length;
        } catch (e) { };
    },
    //добавка одного объявления
    setAd: function(adL) {
        try {
            if (this.desablerCookie) {
                this.msg('Error1');
                return;
            }
            adL = adL.substr(2);
            var massL = this.getAll();
            var flagAd = false;
            for (var ii = 0; ii < massL.length; ii++) {
                if (massL[ii] == adL) {
                    flagAd = true;
                    break;
                }
            }
            if (!flagAd) {
                massL.push(adL);
                this.setAll(massL);
            }
        } catch (e) { };
    },
    //удаление одного объявления
    deleteAd: function(adL) {
        try {
            if (this.desablerCookie) {
                this.msg('Error1');
                return;
            };
            adL = adL.substr(2);
            var massL = this.getAll();
            for (var ii = 0; ii < massL.length; ii++) {
                if (massL[ii] == adL) {
                    delete massL[ii];
                    break;
                }
            }
            this.setAll(massL);
        } catch (e) { };
    },
    clearCk: function() {
        try {
            this.setAll([]);
        } catch (e) { };
        //this.cookieBZ.clearCookie(this.ParamName);
    },
    msg: function(Error) {
        try {
            switch (Error) {
                case 'Error1':
                    alert('Включите cookies');
                    break;
            }
        } catch (e) { };
    }
};

//Добавление url текущей страницы в cookie (ys-backSite)
function setCurrUrl() {
    try {
        this.ParamUrl = 'backSite';
        this.cookieUrl = new Ext.state.CookieProvider({
            expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 30)), //30 дней
            path: "/"
        });
        //Проверка   
        if (!this.cookieUrl.readCookies()[this.ParamUrl]) {
            this.cookieUrl.setCookie(this.ParamUrl, '/');
            if (!this.cookieUrl.readCookies()[this.ParamUrl]) {
                this.desablerCookie = true;
            }
        } 
    }
    catch (e) {
        this.desablerCookie = true;
    }    
}
//Объявляем свойства и методы объекта setCurrUrl
setCurrUrl.prototype = {
     //Выключен cookie(false - нет, true - да)
    desablerCookie: false,
    // Вывод
     getUrl: function() {
        try {
            if (this.desablerCookie) {
                return '';
            };
            var getUrlParam = this.cookieUrl.decodeValue(this.cookieUrl.readCookies()[this.ParamUrl]);
            if(getUrlParam == 'undefined'||getUrlParam == ''){
                return '/';
            }else{
             return getUrlParam;
            }           
        } catch (e) { };
    },
     //Добавление значения
    setUrl: function() {
        try {
            this.cookieUrl.setCookie(this.ParamUrl, this.cookieUrl.encodeValue(window.location.href))
        } catch (e) { };
    },
    //Удаление cookie
    delCookie: function() {
        try {
            if (this.getUrl() != ''){
                this.cookieUrl.clearCookie(this.ParamUrl)
            }            
        } catch (e) { };
    }    
};



var clicknbBz = function(El) {
    try {
        if (El.className == 'favour') {
            nbBz.deleteAd(El.id);
            if (!nbBz.desablerCookie) {
                El.className = 'nofavour';
                El.title = 'Добавить в избранное';
            }

        } else {
            nbBz.setAd(El.id);
            if (!nbBz.desablerCookie) {
                El.className = 'favour';
                El.title = 'Удалить из избранного';
            }
        }
        Ext.get("colnbBz").update('(' + nbBz.count() + ')');
        if (nbBz.count() > 0) {
            var classCh_fav = Ext.get("ch_fav");
            classCh_fav.replaceClass("gotonofav","gotofav");
        } else {
            Ext.get("ch_fav").replaceClass("gotofav","gotonofav");
        }
         
    } catch (e) { };
};

var clicknbBzBasket = function(El) {
    try {
        if (El.className == 'favour') {
            nbBz.deleteAd(El.id);
            if (!nbBz.desablerCookie) {
                El.className = 'nofavour';
				Ext.get(El.id).update("<img src='/html/workflow/bazar/images/new/nofavour-star2.gif 'alt='star' />");
				Ext.get("colFavour").update(nbBz.count());
            }

        } else {
            nbBz.setAd(El.id);
            if (!nbBz.desablerCookie) {
                El.className = 'favour';
				Ext.get(El.id).update("<img src='/html/workflow/bazar/images/new/favour-star2.gif 'alt='star' />");
				Ext.get("colFavour").update(nbBz.count());
            }
        }
        /*Ext.get("colnbBz").update('(' + nbBz.count() + ')');*/
		
        /*if (nbBz.count() > 0) {
			Ext.select("#chosen h4").addClass("active");
        } else {
            Ext.select("#chosen h4").removeClass("active");
        }*/
    } catch (e) { };
};

var clicknbBzAdv = function(El) {
    try {
        if (Ext.get(El).select("span[class=favour]").elements[0]) {
            nbBz.deleteAd(El.id);
            if (!nbBz.desablerCookie) {                
				Ext.get(El.id).update("<span class=\"nofavour\"></span>Добавить объявление в избранное");
            }

        } else {
            nbBz.setAd(El.id);
            if (!nbBz.desablerCookie) {                
				Ext.get(El.id).update("<span class=\"favour\"></span>Удалить объявление из избранного");
            }
        }
        Ext.get("colnbBz").update('(' + nbBz.count() + ')');
        if (nbBz.count() > 0) {
            var classCh_fav = Ext.get("ch_fav");
            classCh_fav.replaceClass("nofavour","favour");
        } else {
            Ext.get("ch_fav").replaceClass("favour","nofavour");
        }
    } catch (e) { };
};



var nbBz = new notebookBz('ads');
var currUrlAM = new setCurrUrl();
Ext.onReady(function() {
	
    try {
        Ext.get("colnbBz").update('(' + nbBz.count() + ')');
		
		if (nbBz.count() > 0) {
			//Ext.get("colFavour").update(nbBz.count());
			 Ext.get("ch_fav").replaceClass("gotonofav","gotofav");
		} else {
			Ext.get("ch_fav").replaceClass("gotofav","gotonofav");
			//Ext.select("#chosen h4 a").href = "javascript:void(0)";
		}
		if (SceneForm.form == 'fotogal') {
		    var Els = Ext.get('adToFav').select('a').elements[0];
            var ElsCookie = nbBz.getAll();
            if (ElsCookie.length > 0) {
                    for (var jj = 0; jj < ElsCookie.length; jj++) {
                        if (Els.id == ('id' + ElsCookie[jj])) {
                           Ext.get(Els.id).update("<span class=\"favour\"></span>Удалить объявление из избранного");
                            break;
                        };
                    };    			
            };
		} else {
		    var Els = Ext.get('centerAd').select('a[id^=id]').elements;
            var ElsCookie = nbBz.getAll();
            if (ElsCookie.length > 0) {
                for (var ii = 0; ii < Els.length; ii++) {
                    for (var jj = 0; jj < ElsCookie.length; jj++) {
                        if (Els[ii].id == ('id' + ElsCookie[jj])) {
                            Els[ii].className = 'favour';
                            Els[ii].title = 'удалить из избранного';
                            break;
                        };
                    };
                };
    			
            };
		} 
        if(Ext.get('goToFav')){
            Ext.get('goToFav').on('click', function() {
              currUrlAM.setUrl();  
            })
        };	
        var agback = Ext.get('goBack');
        if(agback){            
            agback.dom.href = currUrlAM.getUrl();        
            agback.on('click', function() {
            currUrlAM.delCookie();
            })
        };	       						
		 if(Ext.get('clearBasket')){
		    if(nbBz.count() > 0){
		        Ext.get('clearBasket').dom.style.display = '';
                Ext.get('clearBasket').on('click', function() {
                  nbBz.clearCk();  
                })
            }
        };	
    }
    catch (e) { }
})