$(function() {
	var format_string_parser = function(banner){ 
		return $.map(banner.format_data.split('|'), function(el){ return $.trim(el)}); 
	};

	try {
		//root devices
		$.get(rootdev_jsonpath, function() {
			var banner_pack = {id: '_devices', title: '', link: '#', promo_preview: '/i/promoblock/devices.png'},
				weight = 0,
				sh = [],
				banner_template_fun = function(banner, last){
					var format_string = format_string_parser(banner);
					return $([
						'<div class="phone', last ? ' last-item' : '', '">',
							'<div class="view"><img src="', withSSL(banner.image), '" /></div>',
							'<h3>', banner.title, '</h3>',
							format_string[0] ? '<span class="price">цена:<strong>'+format_string[0]+' руб.</strong></span>' : '',
							'<a href="', banner.link, '"><img src="/i/promoblock/buy.png" alt="Купить" /></a>',
							'<div class="bubble">',
								'<img class="close" src="/i/promoblock/close.png" alt="Закрыть" />',
								'<h3>', banner.title, '</h3>',
								format_string[0] ? '<span class="price">цена:<strong>'+format_string[0]+' руб.</strong></span>' : '',
								'<p class="links">',
									format_string[1] ? '<a href="'+format_string[1]+'">Фото</a>' : '',
									format_string[2] ? '<a href="'+format_string[2]+'">Видеообзор</a>' : '',
									format_string[3] ? '<a href="'+format_string[3]+'">3D модель</a>' : '',
								'</p>',
								'<div class="descr">', banner.anons, '</div>',
								'<p class="more">',
									'<a href="', format_string[4], '"><img src="/i/promoblock/more.png" alt="Подробнее о модели" /></a>',
									'<a href="', banner.link, '"><img src="/i/promoblock/buy.png" alt="Купить" /></a>',
								'</p>',
							'</div>',
						'</div>'
					].join(''));
				},
				banner_template = $(),
				max_devices = 3,
				deferDisplay,
				displayFun = function(self){window.clearTimeout(deferDisplay); $(self).parent().siblings().removeClass('phone-info').end().addClass('phone-info')};

			rootdev_json = rootdev_json.slice(0, max_devices)
			$.each(rootdev_json, function(i, j) {
				banner_template = banner_template.add(banner_template_fun(j, i == (max_devices - 1)))
				sh.push({id: j.id, pname: j.pname, place: j.place})
				weight += parseInt(j.weight)
			});

			if(banner_template.length) {
				banner_pack.weight = weight / banner_template.length
				banner_pack._sh    = sh
				RuMegafonPromoblock.$().bindEvent('div.view', 'click', function(){displayFun(this);})
				RuMegafonPromoblock.$().bindEvent('div.view', 'mouseenter', function(){
					var self = this;
					deferDisplay = window.setTimeout(function(){ displayFun(self) } , 4000)
				})
				RuMegafonPromoblock.$().bindEvent('div.view',  'mouseleave', function(){ window.clearTimeout(deferDisplay);})
				RuMegafonPromoblock.$().bindEvent('img.close', 'click', function(){ $(this).closest('div.phone').removeClass('phone-info')})
				RuMegafonPromoblock.$().add(banner_pack, banner_template)
			}
		}, "script");

		//root services
		$.get(rootsrc_jsonpath, function() {
			var banner_pack = {id: '_services', title: '', link: '#', promo_preview: '/i/promoblock/services.png'},
				weight = 0,
				sh = [],
				banner_template_fun = function(banner, last){
					var format_string = format_string_parser(banner);

					return $([
						'<div class="service', last ? ' last-service' : '', '">',
							'<div class="leftcol">',
								'<img src="', withSSL(banner.image), '" class="view"/>',
								'<a href="', banner.link, '"><img src="/i/promoblock/porting.png" alt="Как подключить" />',
								'<a href="', format_string[0], '" class="faq">Вопросы и ответы</a>',
							'</div>',
							'<h2>Услуга <span>&laquo;', banner.title, '&raquo;</span></h2>',
							'<div class="descr">', banner.anons, '</div>',
						'</div>'].join(''));
				},
				banner_template = $(),
				max_services = 2;

			rootsrc_json = (window.rootsrc_json || []).slice(0, max_services)
			$.each(rootsrc_json, function(i, j) {
				banner_template = banner_template.add(banner_template_fun(j, i == (max_services - 1)))
				sh.push({id: j.id, pname: j.pname, place: j.place})
				weight += parseInt(j.weight)
			});

			if (banner_template.length) {
				banner_pack.weight = weight / banner_template.length
				banner_pack._sh   = sh
				RuMegafonPromoblock.$().add(banner_pack, banner_template)
			}
		}, "script")

		//root
		$.get(root_jsonpath, function(js) {
			$.each(root_json, function(i, j) {
				RuMegafonPromoblock.$().add(j, $('<a href="'+j.link+'"><img src="' + withSSL(j.image) + '" alt="' + j.title + '" id="imgitem' + j.id + '"/></a>'))
			});
		}, "script");

	}  catch (e){ }

	//menu
	try {
		$.each(banner_json, function(i, val) {

			if (!val.link) {
				$("#banner_" + i).closest("div.pop").addClass("no-banner");
				$("#banner_" + i).remove();
			}

			$('#banner_' + i).append('<a href="' + val.link + '" class="description" target="_top"><img src="' + withSSL(val.image) + '" alt="" />' + val.text + '</a>');
		});
	} catch(e) {
	}

	//inner
	try {
		var position = new Array('left', 'center', 'right');
		var j = 0;
		
		$.each(inner_json, function(i, val) {
			$('.b-promo .promo-' + position[j++] + ' .shadow-box').append('<a href="' + val.link + '" class="sh-in"><img src="' + withSSL(val.preview) + '" class="img"><img src="' + withSSL(val.image) + '" class="img-wide"></a>');
		});
	} catch(e) {

	// footer
	try {
		if (typeof(footer_json) != 'undefined') {
			var positions = ['right', 'center', 'left'];
			var bannerIdx = 0, posIdx, banner;
			for (posIdx in positions) {
				if (bannerIdx < footer_json.length) {
					banner = footer_json[bannerIdx];
					$('.b-promo .promo-' + positions[posIdx] + ' .shadow-box').append('<a href="' + banner.link + '" class="sh-in"><img src="' + withSSL(banner.preview) + '" class="img"><img src="' + withSSL(banner.image) + '" class="img-wide"></a>');
				} else {
					$('.b-promo .promo-' + positions[posIdx] + ' .shadow-box').css("display","none");
				}
				++bannerIdx;
			}
		} else {
			$(".b-promo").css("display","none");
		}
	} catch(e) {
	}}
});

