function IsInViewport( elem )
{
	var rc1 = {
		l: elem.offset().left,
		t: elem.offset().top,
		r: elem.offset().left + elem.width(),
		b: elem.offset().top + elem.height()
	};
	//var ofs = $(document.window).offset();
	var ofs = {
		left: window.pageXOffset, 
		top: window.pageYOffset
	};
	var wnd = $(document.window);
	var rc2 = {
		l: ofs.left,
		t: ofs.top,
		r: ofs.left + wnd.width(),
		b: ofs.top + wnd.height()
	};
	//var rc = rc2;
	//var str = "l: " + rc.l + ", t: "+ rc.t + ", r: "+ rc.r + ", b: "+ rc.b;
	//alert(str);
	if(	rc1.b > rc2.t &&
		rc1.t < rc2.b &&
		rc1.r > rc2.l &&
		rc1.l < rc2.r )
	{
		return 1;
	}
	return 0;
}

function Prdlsasc_LoadList( opts )
{
	var mc = $(".main_content").get(0);
	var url = "/page.php?cat="+ mc.ajcat +"&prodcat="+ opts.prodCat+ "&gindex="+ opts.pageIndex;
	var box = $(".js_prodsasyncviewbox:first");
	box.empty();
	var tdPreloader =
		"<img src='/img/layout/loading.gif' alt='image' style='vertical-align: middle;' />"+
		"<span style='vertical-align: middle;'>"+
		"	"+ _txt.prodlistloadertext +
		"</span>"+
		"";
	//height='1140'
	var preloader =
		"<table cellspacing='0' cellpadding='0' border='0' width='100%' height='1136' >"+
		"<tr><td valign='top' align='center' >"+
		"	"+ tdPreloader +
		"</td></tr>"+
		"<tr><td valign='bottom' align='center' >"+
		"	"+ tdPreloader +
		"</td></tr>"+
		"</table>"+
		"";
	box.append( preloader );
	$.ajax({
		async: true,
		type: "GET",
		url: url,
		success: function( html, textStatus ){
			box.empty();
			box.append( html );
			// setup events.
			SetupCartAhrefEvents( box, function(){}, function( stats ){
				ShowPopupDialog( stats.addresult? stats.tpl_obj.msg_cartaddok: stats.tpl_obj.msg_cartadderror, false );
			});
			SetupPageTooltipActvrs( box );
			SetupPagePrd2frViews( box );
			Prdlsasc_SetupPageTabButtons( box );
			SetupAnhorTitleTooltips( box );

			if( !$.browser.msie && !IsInViewport( $(".main_content") ) ){
				// przenies viewport na poczatek wlasnie zaladowanego.
				document.location = '#midcontent';
			}//*/
		}
	});
}

function Prdlsasc_SetupPageTabButtons( parentElements )
{
	var buttons = $(".js_prdlsasctabbutton", parentElements );
	buttons.click( function(){
		var jsonstr = $(this).attr("params");
		var jsonobj = eval( "(" + jsonstr + ")" );
		Prdlsasc_LoadList( jsonobj );
	});
}

