function createRequestObject()
{
	if (window.XMLHttpRequest) {
		try {
			
			return new XMLHttpRequest();
		} catch (e){}
	} else if (window.ActiveXObject) {
		try {
			return new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e){
			try {
				return new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e){}
		}
	}
	return null;
}

function redrawStars(offer_id, rate, div_rates_id)
{
	var divStars = document.getElementById(div_rates_id);
	var images = divStars.getElementsByTagName('img');
	for (var i = 0; i < rate; i++) {
		images[i].src = "/image/star.gif";
	}
	for (var i = rate; i < 5; i++) {
		images[i].src = "/image/star_empty.gif";
	}
}


function setUserOfferRate(offer_id, rate)
{
	{ // в каталоге
		var divStars = document.getElementById('catalogOffer' + offer_id + 'RateDiv');
		if (divStars != null) {
			var id = divStars.id;
			divStars.onmouseout = function() { redrawStars(offer_id, rate, id) };
			redrawStars(offer_id, rate, divStars.id);
		}

		var divNotRatedText = document.getElementById('catalogOffer' + offer_id + 'NotRatedTextDiv');
		if (divNotRatedText != null) {
			divNotRatedText.style.display = 'none';
		}
		
		var divResetRateText = document.getElementById('catalogOffer' + offer_id + 'ResetRateTextDiv');
		if (divResetRateText != null) {
			divResetRateText.style.display = 'inline';
		}
	}
	
	{ // в рекомендациях
		var divStars = document.getElementById('recommendOffer' + offer_id + 'RateDiv');
		if (divStars != null) {
			var id = divStars.id;
			divStars.onmouseout = function() { redrawStars(offer_id, rate, id) };
			redrawStars(offer_id, rate, divStars.id);
		}
		
		var divNotRatedText = document.getElementById('recommendOffer' + offer_id + 'NotRatedTextDiv');
		if (divNotRatedText != null) {
			divNotRatedText.style.display = 'none';
		}
		
		var divResetRateText = document.getElementById('recommendOffer' + offer_id + 'ResetRateTextDiv');
		if (divResetRateText != null) {
			divResetRateText.style.display = 'inline';
		}
	}
}

function resetUserOfferRate(offer_id, average_rate)
{
	{ // в каталоге
		var divStars = document.getElementById('catalogOffer' + offer_id + 'RateDiv');
		if (divStars != null) {
			var id = divStars.id;
			divStars.onmouseout = function() { redrawStars(offer_id, 0, id) };
			redrawStars(offer_id, 0, divStars.id);
		}
		
		var divNotRatedText = document.getElementById('catalogOffer' + offer_id + 'NotRatedTextDiv');
		if (divNotRatedText != null) {
			divNotRatedText.style.display = 'inline';
		}
		
		var divResetRateText = document.getElementById('catalogOffer' + offer_id + 'ResetRateTextDiv');
		if (divResetRateText != null) {
			divResetRateText.style.display = 'none';
		}
	}

	
	{ // в рекомендациях
		var divStars = document.getElementById('recommendOffer' + offer_id + 'RateDiv');
		if (divStars != null) {
			var id = divStars.id;
			divStars.onmouseout = function() { redrawStars(offer_id, average_rate, id) };
			redrawStars(offer_id, average_rate, divStars.id);
		}
		
		var divNotRatedText = document.getElementById('recommendOffer' + offer_id + 'NotRatedTextDiv');
		if (divNotRatedText != null) {
			divNotRatedText.style.display = 'inline';
		}
		
		var divResetRateText = document.getElementById('recommendOffer' + offer_id + 'ResetRateTextDiv');
		if (divResetRateText != null) {
			divResetRateText.style.display = 'none';
		}
	}
}

	var reloadCount=0;
	
function reloadRecom()
{
		if (this.readyState == 4) {
			if (this.status == 200) {
				var elem = document.getElementById('recommendationsDiv');
				elem.innerHTML = this.responseText;
			}
		}
}	
	
function itemRated()
{
	try {
		if (this.readyState == 4) {
			if (this.status == 200) {
				if (this.responseXML && this.responseXML.getElementsByTagName('status').item(0).firstChild.nodeValue == 'ok') {
					var offer_id = this.responseXML.getElementsByTagName('offer_id').item(0).firstChild.nodeValue;
					var rate = this.responseXML.getElementsByTagName('rate').item(0).firstChild.nodeValue;
					
					setUserOfferRate(offer_id, rate);
					
					var count = this.responseXML.getElementsByTagName('count').item(0).firstChild.nodeValue;
					if (((++reloadCount) % 5) == 0)
					{
						//document.getElementById('regcount').value = regcount + 5;
						var req = createRequestObject();
						if (req) {
							req.open("POST", '/cgi-bin/rates/recomend.pl')
							req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
							req.send("section=" + $("[name = section]").val());
							req.onreadystatechange = reloadRecom;
						}
					}
					if ((reloadCount % 15) == 0)
					{
						//document.getElementById('regdiv').className = 'regdiv'
					}
				}
			} else {
				//alert("Не удалось получить данные:\n" + req.statusText);
			}
		}
	}
	catch( e ) {
	}
}

function rateReseted()
{
	try {
		if (this.readyState == 4) {
			if (this.status == 200) {
				if (this.responseXML && this.responseXML.getElementsByTagName('status').item(0).firstChild.nodeValue == 'ok') {
					var offer_id = this.responseXML.getElementsByTagName('offer_id').item(0).firstChild.nodeValue;
					var average_rate = this.responseXML.getElementsByTagName('average_rate').item(0).firstChild.nodeValue;
					
					resetUserOfferRate(offer_id, average_rate);
					
					var count = this.responseXML.getElementsByTagName('count').item(0).firstChild.nodeValue;
					document.getElementById('rateCountDiv').innerHTML = count;
				}
			} else {
				//alert("Не удалось получить данные:\n" + req.statusText);
			}
		}
	}
	catch( e ) {
	}
}


function resetRate(offer_id, session_id)
{
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/reset.pl')
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
		req.onreadystatechange = rateReseted;
	}
}

function rateOffer(offer_id, rate, session_id)
{
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/add.pl')
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&rate=" + rate + "&sessionid=" + session_id);
		req.onreadystatechange = itemRated;
	}
}

// вызывается по нажатии "не читал". Не оценивает товар, но и в быстрых оценках не показывает 
$('.notread').live('click', function (){
	var offer_id =  $(this).attr('id').substr(0,  $(this).attr('id').indexOf('@', 0));
	var session_id =  $(this).attr('id').substr( $(this).attr('id').indexOf('@', 0) + 1,  $(this).attr('id').length);
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/notread.pl');
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
		document.getElementById('notread_'+offer_id).innerText="OK";
	}
	reloadMe($("#notread_"+offer_id).parents("[id ^= qr]:first").attr('id'), offer_id);
});
// вызывается по нажатии "не хочу". Не оценивает товар, но и в рекомендациях не показывает 
$('.nehotet').live('click', function(){
	var offer_id =  $(this).attr('id').substr(0,  $(this).attr('id').indexOf('@', 0));
	var session_id =  $(this).attr('id').substr( $(this).attr('id').indexOf('@', 0) + 1,  $(this).attr('id').length);
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/exclude.pl');
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
		document.getElementById('nehotet_'+offer_id).innerText="OK";
	}
	reloadMe($("#nehotet_"+offer_id).parents("[id ^= qr]:first").attr('id'), offer_id);
	
	var req = createRequestObject();
	if (req) 
	{
		req.open("POST", '/cgi-bin/rates/recomend.pl')
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("section=" + $("[name = section]").val());
		req.onreadystatechange = reloadRecom;
	}
});
// вызывается по нажатии "не читал всё". Не оценивает товар, но и в быстрых оценках не показывает 
$('#notreadall').live('click', function(){
	var elems = $('.notread');
	for(var i = 0; i < elems.length; i++)
	{
		var req = createRequestObject();
		var offer_id =  $(elems[i]).attr('id').substr(0,  $(elems[i]).attr('id').indexOf('@', 0));
		var session_id =  $(elems[i]).attr('id').substr( $(elems[i]).attr('id').indexOf('@', 0) + 1,  $(elems[i]).attr('id').length);
		if (req) {
			req.open("POST", '/cgi-bin/rates/notread.pl');
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
			document.getElementById('notread_'+offer_id).innerText="OK";
		}
		reloadMe($("#notread_"+offer_id).parents("[id ^= qr]:first").attr('id'), offer_id);
	}	
});
// вызывается по нажатии "не хочу  всё". Не оценивает товар, но и в рекомендациях не показывает 
$('#nehotetall').live('click', function(){
	var elems = $('.nehotet');
	for(var i = 0; i < elems.length; i++)
	{
		var req = createRequestObject();
		var offer_id =  $(elems[i]).attr('id').substr(0,  $(elems[i]).attr('id').indexOf('@', 0));
		var session_id =  $(elems[i]).attr('id').substr( $(elems[i]).attr('id').indexOf('@', 0) + 1,  $(elems[i]).attr('id').length);
		if (req) {
			req.open("POST", '/cgi-bin/rates/exclude.pl');
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
			document.getElementById('nehotet_'+offer_id).innerText="OK";
		}
		reloadMe($("#nehotet_"+offer_id).parents("[id ^= qr]:first").attr('id'), offer_id);
	}
});

// дополнительные функции офферов
function polka(offer_id, session_id, pad){
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/polka.pl');
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&sessionid=" + session_id);
		if (pad){
			document.getElementById('polka_'+offer_id).innerText="OK                    ";
		}
		else
		{
			document.getElementById('polka_'+offer_id).innerText="OK";
		}
		
	}
}

function polkadel(offer_id, session_id, pad){
	var req = createRequestObject();
	if (req) {
		req.open("POST", '/cgi-bin/rates/polka.pl');
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("offer_id=" + offer_id + "&sessionid=" + session_id+"&del=1");
		if (pad)
		{
			document.getElementById('polka_'+offer_id).innerText="OK             ";
		}
		else
		{
			document.getElementById('polka_'+offer_id).innerText="OK";
		}
	}
}

function loadrates(login)
{
	var req = createRequestObject();
	if (req) {
			req.open("POST", '/cgi-bin/rates/loadrates.pl?');
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			//alert($('[name = section]').val());
			req.send("login="+login+"&type="+$('[name = section]').val());
			req.onreadystatechange = reload;
		}
}

function reload()
{
	window.location.href = $('#rates').attr('href') + "&ok=1";//'/cgi-bin/rates/rates.pl?ok=1';
}

function absPosition(obj) {
    var x = y = 0;
    while(obj) {
        x += obj.offsetLeft;
        y += obj.offsetTop;
        obj = obj.offsetParent;
    }
    return {x:x, y:y};
}

var timers={};

function over_img(img_id){
	if (timers["offerimg_"+img_id])
	{
		clearTimeout(timers["offerimg_"+img_id].id)
	}else{
		elem = absPosition(document.getElementById("offerdiv_"+img_id))
		timers["offerimg_"+img_id] = {id:0,x:0,left:elem.x,top:elem.y};
	}
	timers["offerimg_"+img_id].id = setTimeout ( "image_plus("+"offerimg_"+img_id+","+"offerdiv_"+img_id+")", 10 );
}

function image_plus(img_id,div_id){
	elem = timers[img_id.id]
	elem.x+=5
	if (elem.x<100)
	{
		img_id.width=60+elem.x*0.6
		img_id.height=77+elem.x*0.77;
		div_id.style.left = elem.left-elem.x*0.3
		div_id.style.top = elem.top-elem.x*0.385
		elem.id = setTimeout ( "image_plus("+img_id.id+","+div_id.id+")", 10 );
	}else{
		elem.x=100
	}
}

function out_img(img_id){
	if (timers["offerimg_"+img_id])
	{
		clearTimeout(timers["offerimg_"+img_id].id)
	}
	timers["offerimg_"+img_id].id = setTimeout ( "image_minus("+"offerimg_"+img_id+","+"offerdiv_"+img_id+")", 10 );
}

function image_minus(img_id,div_id){
	elem = timers[img_id.id]
	elem.x-=5
	if (elem.x>0)
	{
		img_id.width=60+elem.x*0.6
		img_id.height=77+elem.x*0.77;
		div_id.style.left = elem.left-elem.x*0.3
		div_id.style.top = elem.top-elem.x*0.385
		elem.id = setTimeout ( "image_minus("+img_id.id+","+div_id.id+")", 10 );
	}else{
		elem.x=0
	}
}

/*
var pTop = 0;
var pLeft = 0;
$(document).live('ready', function(){
$("[id ^= 'offerimg_']").addClass('zoomimg');
$(".zoomimg").height("100%");
$(".zoomimg").width("100%");
$(".zoomimg").live('mouseover', function(){
	pTop = $(this).parents("[id ^= 'offerdiv_']:first").offset().top;
	pLeft = $(this).parents("[id ^= 'offerdiv_']:first").offset().left;
	$(this).parents("[id ^= 'offerdiv_']:first").css({'top': ''+pTop, 'left': ''+pLeft});
	$(this).parents("[id ^= 'offerdiv_']:first").animate({height: "140px", width: "120px", top: (pTop - 26.9) + "px", left: (pLeft - 24.85) + "px"}, {duration:500, queue: false});
});
$(".zoomimg").live('mouseout', function(){
	$(this).parents("[id ^= 'offerdiv_']:first").animate({height: "87.82px", width: "70.3px", top: pTop+"px", left: pLeft+'px'}, {duration:500, queue: false});
});
});
*/

