var common = {};
common.object = {
extend : function(
oSource,
oDestination
) {
for(var i in oSource) {
oDestination[i] = oSource[i];
}
return oDestination;
}
};
common.utils =
{
oPopupDefaults : {
iWidth : 630,
iHeight : 470,
sToolbar : 'no',
sMenubar : 'no',
sResizeable : 'yes',
sScrollbars : 'yes',
sStatus : 'yes'
},
popup : function (
sUrl,
sName,
oOptions,
bReplace
) {
oOptions = common.object.extend(
oOptions,
common.utils.oPopupDefaults
);
var iLeftOffset = screen.availWidth / 2 - oOptions.iWidth / 2;
var iTopOffset = screen.availHeight / 2 - oOptions.iHeight / 2;
oNewWindow = window.open(
sUrl,
sName,
'left=' + iLeftOffset + ', ' +
'top = ' + iTopOffset + ', ' +
'width=' + oOptions.iWidth + ', ' +
'height=' + oOptions.iHeight + ', ' +
'resizable=' + oOptions.sResizeable + ', ' +
'toolbar=' + oOptions.sToolbar + ', ' +
'scrollbars=' + oOptions.sScrollbars + ', ' +
'status=' + oOptions.sStatus
);
if(sUrl.match(/\.(gif|jpe?g|png)$/i)) {
oNewWindow.document.open();
oNewWindow.document.write('
' +
'' +
'' +
' |
'
);
oNewWindow.document.close();
}
oNewWindow.focus();
return false;
}
};
common.getLang = function() {
return document.getElementsByTagName('HTML')[0].getAttribute('lang') || 'ru';
};
/* http://dean.edwards.name/weblog/2005/10/add-event2/ */
common.addEvent = function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else {
if (!handler.$$guid) {
handler.$$guid = common.addEvent.guid++;
}
if (!element.events) {
element.events = {};
}
var handlers = element.events[type];
if (!handlers) {
handlers = element.events[type] = {};
if (element["on" + type]) {
handlers[0] = element["on" + type];
}
}
handlers[handler.$$guid] = handler;
element["on" + type] = common.handleEvent;
}
};
common.addEvent.guid = 1;
common.removeEvent = function(element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else {
if (element.events && element.events[type]) {
delete element.events[type][handler.$$guid];
}
}
};
common.handleEvent = function(event) {
var returnValue = true;
event = event || common.fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
var handlers = this.events[event.type];
for (var i in handlers) {
this.$$handleEvent = handlers[i];
if (this.$$handleEvent(event) === false) {
returnValue = false;
}
}
return returnValue;
};
common.fixEvent = function(event) {
event.preventDefault = common.fixEvent.preventDefault;
event.stopPropagation = common.fixEvent.stopPropagation;
return event;
};
common.fixEvent.preventDefault = function() {
this.returnValue = false;
};
common.fixEvent.stopPropagation = function() {
this.cancelBubble = true;
};
common.testObjectByStatement = function(object, statement) {
statement = statement.toString();
return (function() {
return eval(statement.replace(/\s+and\s+/g, ' && ').replace(/\s+or\s+/g, ' || ')
.replace(/\s*[^\!\<\>]=\s*/g, ' == ').replace(/\s*@([\S]+)\s*/g, " this.$1 "));
}.bind(object))();
}
common.initRows = function(cssQuery) {
var plusHandler = function(e) {
var _this = $(this);
var row = _this.parents('.row');
var newRow = row.clone(true);
newRow.find('input[type=text]').val('');
row.after(newRow);
}
var minusHandler = function(e) {
var row = $(this).parents('.row');
if (row.siblings('.row').length > 0) {
row.remove();
} else {
row.find('.f-subrow-field input').add('texrarea').add('select').val('');
}
}
// alert(cssQuery +' .plus');
var box = $(cssQuery);
// console.log($(cssQuery +' .plus'));
box.find('.plus').bind("click", plusHandler);
box.find('.minus').bind("click", minusHandler);
}
/*common.popup = function(selector, url) {
if (common.popup.__data[selector] !== undefined) {
return common.popup._getWindow(common.popup.__data[selector]);
}
if (url) {
$.get(url, function(data){
common.popup.__data[selector] = data;
});
}
};
common.popup.__data = {};
common.popup._getWindow = function(data) {
var w = document.createElement('div');
w.innerHTML = '';
return w;
};*/
common.dropDownInit = function() {
$('.dropdown-block .dropdown-title, .vacancy-block .dropdown-title, .dropdown-block-mortgage .dropdown-title').click(function() {
var currentItem = $(this).parent('.dropdown-item');
if (currentItem.hasClass('g-current')) {
currentItem.removeClass('g-current');
return;
}
currentItem.addClass('g-current');
});
};
common.initTabs = function() {
var tabHandler = function() {
var tab = $(this).parent('.g-tab');
if (tab.hasClass('g-current')) {
return;
}
$(this.parentNode.parentNode).find('.g-tab').each(function() {
$(this).removeClass('g-current');
$(this.tabContent).hide();
});
tab.addClass('g-current');
$(tab[0].tabContent).show();
};
$('.g-tabs .g-tab').each(function() {
var _this = $(this);
var label = _this.children('.g-label');
var content = _this.children('.g-tab-content');
this.tabContent = content;
content[_this.hasClass('g-current') ? 'show' : 'hide']();
label.click(tabHandler);
content[0].parentNode.parentNode.appendChild(content[0]);
});
};
var pskb = {};
pskb.initMainMenu = function() {
var cont = $(this);
var currentLevel = null;
// var menus = cont.find('ul');
switch (true) {
case cont.hasClass('nav-l1'): currentLevel = 1; break;
case cont.hasClass('nav-l2'): currentLevel = 2; break;
case cont.hasClass('nav-l3'): currentLevel = 3; break;
}
var count = currentLevel;
var handleButton = function() {
var that = $(this), level = that.attr('level');
cont.removeClass('nav-l'+ currentLevel).addClass('nav-l'+ level);
currentLevel = level;
};
var btnCont = $(document.createElement('div'));
btnCont.addClass('nav-btn-cont');
cont.prepend(btnCont);
for (var i = 0; i < count; i++) {
var btn = $(document.createElement('div'));
btnCont.prepend(btn);
btn.attr('level', i + 1).addClass('nav-btn'+ (i + 1)).click(handleButton);
}
};
pskb.setCurrentCity = function(e) {
e.preventDefault();
$('.filials-form input').attr('value', this.id.substring('city_'.length));
$('.filials-form').submit();
};
pskb.toggleFilialsPopup = function(e) {
e.preventDefault();
$('#filialspopup').toggle();
};
pskb.cityWarning = {
cookieName: 'cityWarnHide',
setCookie: function() {
$.cookie(pskb.cityWarning.cookieName, 1, {expires: 30, path: '/'});
},
checkCookie: function() {
return ($.cookie(pskb.cityWarning.cookieName) == 1);
},
close: function() {
$(this).parents('.city-warning-popup').hide();
pskb.cityWarning.setCookie();
return false;
},
unknownCity: function() {
$(this).parents('.city-warning-popup').hide();
pskb.cityWarning.setCookie();
$('#filialspopup').toggle();
return false;
},
setCurrentCity: function(e) {
e.preventDefault();
pskb.cityWarning.setCookie();
$('.filials-form input').attr('value', this.id.substring('city_'.length));
$('.filials-form').submit();
}
};
$(document).ready(function() {
common.initRows('.rows');
$('.nav-cont').each(pskb.initMainMenu);
$('#filialspopup .citybtn').click(pskb.setCurrentCity);
$('#filialpicker, #filialspopup .closebtn').click(pskb.toggleFilialsPopup);
if (!pskb.cityWarning.checkCookie()) {
$('.city-warning-popup').show();
$('.city-warning-popup .close-popup').click(pskb.cityWarning.close);
$('.city-warning-popup .city-unknown').click(pskb.cityWarning.unknownCity);
$('.city-warning-popup .citybtn').click(pskb.cityWarning.setCurrentCity);
}
$('div.curr-informer .curr-header').bind("click", pskb.currInformerHandler);
$('.right-navigator .nav-item').bind("click", pskb.rightNagivagorHandler);
$('#right-credit-nagivagor div.nav-item').bind("click", pskb.rightCreditNagivagorHandler);
$('.right-navigator-content #for-'+ $('.right-navigator .g-current').attr('id')).addClass('nav-item-current');
$('.right-navigator-content #for-'+ $('.right-context-navigator .g-current').attr('id')).addClass('nav-item-current');
$('#right-credit-nagivagor-link').attr('href', '/ru/private/credit/mortgage/calculator/?'+ $('#right-credit-nagivagor .g-current').attr('id'));
$('#credit-filter-result').scrollFollow({
container: '#credit-filter',
offsetTopBox: '#vklad-inset',
offset: 150,
speed: 300
});
common.initTabs();
common.dropDownInit();
});
pskb.rightNagivagorHandler = function(e) {
if (!this.id) {
return;
}
if (typeof this.parentNode.navContent === 'undefined') {
this.parentNode.navContent = $('.right-navigator-content');
}
var navContent = this.parentNode.navContent;
var element = $(this);
navContent.children().removeClass('nav-item-current');
element.siblings().removeClass('g-current');
element.addClass('g-current');
navContent.find('#for-'+ this.id).addClass('nav-item-current');
};
pskb.rightCreditNagivagorHandler = function(e) {
$('#right-credit-nagivagor-link').attr('href', '/ru/private/credit/mortgage/calculator/?'+ this.id);
};
pskb.currInformerHandler = function(e) {
var box = $(this.parentNode);
$(box).siblings().removeClass('g-current');
$(box).addClass('g-current');
};
pskb.newsImageHandler = function(event) {
event.preventDefault();
var $this = $(this);
if (!$this.hasClass('g_class')) {
pskb.newsImagePubBlock.find('.image-link.g-current').removeClass('g-current');
$this.addClass('g-current');
var title = $this.attr('title') || false;
pskb.newsImagePreviewA.attr('href', $this.attr('href')).attr('title', title).next('.image-comment').remove();
pskb.newsImagePreviewImg.attr('src', $this.find('img:first').attr('src'));
if (title !== false) {
pskb.newsImagePreviewA.after('');
}
}
return false;
};
$(document.body).ready( function(){
$('.jq-width').each( function(){
if ( navigator.userAgent.toLowerCase().indexOf("msie") )
{
var jqw_max, jqw_min ;
jqw_max = '1280';
jqw_min = '900';
$(this).wrap('');
}
})
});
jQuery(function() {
pskb.newsImagePubBlock = jQuery('.pub-images-block');
pskb.newsImagePreviewA = pskb.newsImagePubBlock.find('.main');
pskb.newsImagePreviewImg = pskb.newsImagePreviewA.find('img:first');
pskb.newsImagePubBlock.find('.image-link').unbind('click').click(pskb.newsImageHandler);
});