var awardTemplate = '<div class="award" onclick="window.location.href=\'/award.php?code={code}\'">{corner_new}{discountWidget}<a class="image" href="/award.php?code={code}"><img src="{image}"/></a><div class="lower_wrapper"><h4><a href="/award.php?code={code}">{name}</a></h4>{p_old_price}<p>{price}</a></p></div>{giftbox}</div>';
var comingSoon = 'скоро в наличии';
var cornerNew = '<img src="/images/new_small.gif" alt="NEW" title="Новинка" class="corner_new"/>';

function sortGifts(field, dir, p)
{
	dir = dir ? dir : 'asc';
	p = Number(p) > 0 ? p : 1;
	var ggg = $('ggg');
	gifts = gifts.sort(by(field, dir));

	window.sort = field;
	window.page = p;

	var A = $$('#paging a');
	for(var i=0; i<A.length; i++)
		A[i].href = A[i].href.replace(/#[a-z]*(\d*)/i, '#'+field+'$1');

	A = $$('#paging2 a');
	for(var i=0; i<A.length; i++)
		A[i].href = A[i].href.replace(/#[a-z]*(\d*)/i, '#'+field+'$1');

	$$('.navigation a').removeClass('selected');
	var sf = $('sort_'+field);
	if(sf)
		sf.addClass('selected');
	showPage(p);
	return false;
}

function showPage(p)
{
	var ggg = $('ggg'), g = {};
	if(ggg){
		var block = '', inner = '';
		var start = (p-1)*pagesize;
		var finish = p*pagesize-1;
		var x = 0;
		for(var i=start; i<gifts.length && i<=finish; i++)
		{
			g = gifts[i];
			g['corner_new'] = (g['new']) ? cornerNew : '';
			g['discountWidget'] = (g['discount']) ? '<div class="discount" title="скидка '+g['discount']+'%">'+g['discount']+'%</div>' : '';
    
            if(!g['hideprice']){
				if(g['money'] > 0)
					g['price'] = '<table align="right"><tr><td><a class="points smaller" href="/award.php?code='+g['code']+'">'+g['points']+'<small><br/>баллов</small></a></td><td>+</td><td align="right"><a class="points smaller" href="/award.php?code='+g['code']+'"><span style="color:black">'+g['money']+'<small><br/>руб.</small></span></a></td></tr></table>';
				else
					g['price'] = '<a href="/award.php?code='+g['code']+'" class="points">'+g['points']+' баллов</a>';
    
				if(typeof(g['old_price'])!='undefined')
					g['p_old_price'] = '<p class="old_price"><a href="/award.php?code='+g['code']+'" class="points">'+g['old_price']+' баллов</a></p>';
				else
					g['p_old_price'] = '';
			}
			else{
				g['price'] = '';
				g['p_old_price'] = '';
			}
    
			if(g['onstock']==1)
				g['nostock'] = '';
			else
				g['nostock'] = (g['forecast']) ? '<br/><span class="nostock">ожидается '+g['forecast']+'</span>' : '<br/><span class="nostock">'+comingSoon+'</span>';
    
			block = awardTemplate;
    
			g['giftbox'] = (g['gift']!='') ? '<img src="/images/box.png" class="giftbox png" alt="Подарок" title="'+g['gift']+'"/>' : '';
			for(var key in g)
			{
				rx = new RegExp('{'+key+'}', 'g');
				block = block.replace(rx, g[key]);
			}
			inner += block;
		}
		ggg.innerHTML = inner;
	}
	window.page = p;

	var maxpages = Math.ceil(gifts.length)/pagesize;
	$$('#paging a').removeClass('selected');
	$$('#paging2 a').removeClass('selected');
	if($('page_'+p)) {
		$('page_'+p).addClass('selected');
		$('page2_'+p).addClass('selected');

		if(p>1)	{
			$('prevpage').href="#"+sort+(p-1);
			$('prevpage').removeAttribute('onclick');
			$('prevpage').onclick=function(){return showPage(p-1)};
			$('prevpage2').href="#"+sort+(p-1);
			$('prevpage2').removeAttribute('onclick');
			$('prevpage2').onclick=function(){return showPage(p-1)};
		} else	{
			$('prevpage').removeAttribute('href');
			$('prevpage').removeAttribute('onclick');
			$('prevpage2').removeAttribute('href');
			$('prevpage2').removeAttribute('onclick');
		}
		if (p<maxpages) {
			$('nextpage').href="#"+sort+(p+1);
			$('nextpage').removeAttribute('onclick');
			$('nextpage').onclick=function(){return showPage(p+1)};
			$('nextpage2').href="#"+sort+(p+1);
			$('nextpage2').removeAttribute('onclick');
			$('nextpage2').onclick=function(){return showPage(p+1)};
		} else	{
			$('nextpage').removeAttribute('href');
			$('nextpage').removeAttribute('onclick');
			$('nextpage2').removeAttribute('href');
			$('nextpage2').removeAttribute('onclick');
		}
	}

	var newhash = '';
	if (sort || p>1)
		var newhash = "#"+sort+p;
	if (newhash!=window.location.hash) {
		if (newhash!='')
			window.location.hash = newhash;
		else {
			window.location = window.location.href;
		}
	}

	window.scrollTo(0, 0);
	return false;
}

function restoreState(hash)
{
	var p = 1, order = '';
    if (hash) {
		var m = hash.match(/^#([a-z]*)(\d*)$/i);
		order = m[1];
		p = Number(m[2]);
    }
	if (order)
		sortGifts(order, '', p);
	if (page > 0)
		showPage(p);
}

function by(field, dir)
{
	dir = dir.toLowerCase();
	var gt = (dir=='asc') ? 1 : -1;
	var lt = (dir=='asc') ? -1 : 1;
	return Function("a", "b", "var x=a."+field+"; var y=b."+field+"; if(typeof(x)=='string'){x=x.toLowerCase(); y=y.toLowerCase();} if(x==y)return 0; if(x>y)return "+gt+"; else return "+lt+";");
}

function like(value)
{
	return Function("el", "i", "var rx = new RegExp('"+value+"', 'i'); return (el.name.search(rx)!=-1 || el.code.search(rx)!=-1);");
}

var oldValue = '';
function filterGifts(value)
{
	var ggg = $('ggg');
	var inner = '', li = '';

	if(value == '')
		gifts = allGifts.copy();
	else
	{
		if(value.length <= oldValue.length)
		{
			gifts = allGifts.copy();
		}

		gifts = gifts.filter(like(value));
	}
	oldValue = value;

	for(var i=0; i<gifts.length && i<pagesize; i++)
	{
		if(gifts[i]['new'])
			li = giftTemplateNew;
		else
			li = giftTemplate;
		for(var key in gifts[i])
		{
			if(gifts[i]['onstock']=='t')
				gifts[i]['nostock'] = '';
			else
				if(gifts[i]['forecast'])
					gifts[i]['nostock'] = '<br/><span class="nostock">ожидается '+gifts[i]['forecast']+'</span>';
				else
					gifts[i]['nostock'] = '<br/><span class="nostock">'+comingSoon+'</span>';

			var rx = new RegExp('{'+key+'}', 'g');
			li = li.replace(rx, gifts[i][key]);
		}
		inner += li;
	}
	if(gifts.length == 0)
		inner = "Таких предметов нет в данном разделе. Нажмите <b>Enter</b> для поиска по всему каталогу.";
	ggg.innerHTML = inner;

	$$('.navigation a').removeClass('selected');
	var pageTemplate = '<a href="?page={p}" id="page_{p}" onclick="return showPage({p});">{p}</a></span>';
//	var page2Template = '<a href="?page={p}" id="page2_{p}" onclick="return showPage({p});">{p}</a></span>';
	var pages = Math.ceil(gifts.length/pagesize);
	var innerP = ''; //var innerP2 = '';
	var a = ''; //var a2 = '';
	if(pages > 1)
		for(var j=1; j<=pages;j++)
		{
			a = pageTemplate; a2 = page2Template;
			a = a.replace(/\{p\}/g, j);
//			a2 = a2.replace(/\{p\}/g, j);
			innerP += a;
//			innerP2 += a2;
		}
	if(innerP != '')
		$('paging').innerHTML = '<span class="pages">Страницы:&nbsp;&nbsp;'+innerP+'</span>';
	else
		$('paging').innerHTML = '';
/*
	if(innerP2 != '')
		$('paging2').innerHTML = '<span class="pages">Страницы:&nbsp;&nbsp;'+innerP2+'</span>';
	else
		$('paging2').innerHTML = '';
*/
	var p1 = $('page_1');
	if(p1)
		p1.addClass('selected');
//	var q1 = $('page2_1');
//	if(q1)
//		q1.addClass('selected');
	return false;
}

function setRegion(strRegion) {

	var DAYS = 7;
	var region = '';
	var dt = new Date();

	if (strRegion=='SPB') {
		region = strRegion;
		dt.setTime(dt.getTime() + DAYS * 24 * 3600 * 1000);
	}
	else { //MSK
		dt.setTime(0);
	}
	var expires = dt.toUTCString();
	document.cookie='region='+region+';domain=malina.ru;expires='+expires;

	return true;
}
