﻿var img = new Image();
img.src = "img/opinion.over.gif";

var undefined;

var m_Request = null;
var m_strURL = "";
var m_bReport = true;
var m_nInterval = null;
var SendingButton = null;
var m_nProductId = 0;

function StartSending()
{
    m_strURL = "notify.ashx?id=" + m_nProductId + "&report=1";
	var nInterval = parseInt((Math.random() * 1000) + 2);
	m_nInterval = setInterval("InitSending()", nInterval);
	
	SendingButton = document.getElementById("SendingButton");
	if (SendingButton)
	{
		SendingButton.disabled = true;
		SendingButton.value = "Идет отправка...";
	}
}

function InitSending()
{
	try
	{
		m_Request = GetRequest();
		m_Request.open("GET", m_strURL, true);
		m_Request.onreadystatechange = OnSendingComplete;
		m_Request.setRequestHeader("Content-Type", "text/html; charset=windows-1251");
		m_Request.send(null);
	}
	catch (e) { }
	finally
	{
		clearInterval(m_nInterval);
	}
}

function OnSendingComplete()
{
	if (m_Request.readyState == 4)
	{
		if (m_Request.status == 200)
		{
			var strResponse = m_Request.responseText;
			var nToSend = parseInt(strResponse);
			
			// Отчет //
			if (m_bReport)
			{
				var TextToSend = document.getElementById("TextToSend");
				if (TextToSend)
					TextToSend.innerHTML = nToSend;
			}
			
			// Продолжаем рассылку //
			if (nToSend > 0)
			{
				StartSending();
			}
			else
			{
				if (SendingButton)
				{
					SendingButton.disabled = false;
					SendingButton.value = "Начать отправку";
				}
			}
		}
	}
}

var BlinkTextNodex = null;

function BlinkSetColor(pNode)
{    
    if (pNode.style.visibility != "hidden")
    {
        pNode.style.visibility = "hidden";
    }
    else
    {
        pNode.style.visibility = "visible";
    }
}

function BlinkInit()
{
    BlinkTextNodex = document.getElementsByTagName("h1");
    for (i = 0; i < BlinkTextNodex.length; i++)
    {
        if (BlinkTextNodex[i].id.toLowerCase().indexOf("blinktext") != -1)
        {
            setInterval("BlinkSetColor(BlinkTextNodex[" + i + "])", 400);
        }
    }
}

//
// Функция ищет родительский элемнт по id или class
function FindParent(sender, attributes/* Object {id, class, tagname} */, allowsender/* Boolean */)
{
	if (!sender)
		return;
	if (allowsender == null || allowsender == undefined)
		allowsender = false;
	var target = null;
	var parent = sender;
	while (parent.parentNode)
	{
		if (!allowsender)
			parent = parent.parentNode;
		allowsender = false;
		if (attributes["id"] && parent.id == attributes["id"])
		{
			target = parent;
			break;
		}
		if (attributes["class"] && parent.className)
		{
			var classes = parent.className.split(/[ ]{1,}/g);
			if (classes)
			{
				for (var i = 0; i < classes.length; i++)
					if (classes[i] == attributes["class"])
					{
						target = parent;
						break;
					}
			}
		}
		if (attributes["tagname"] && parent.tagName.toLowerCase() == attributes["tagname"].toLowerCase())
		{
			target = parent;
			break;
		}
		if (attributes["attr"] && parent.getAttribute(attributes["attr"]))
		{
			target = parent;
			break;
		}
	}
	return target;
}

var opinion_timer;

function OnVoteOver(s)
{
	if (opinion_timer)
		window.clearTimeout(opinion_timer);
	var t = FindParent(s, {"tagname":"table"});
	var img = t.getElementsByTagName("img");
	var val = parseInt(s.getAttribute("voteval"));
	for (var i = 0; i < img.length; i++)
	{
		if (!img[i].hasAttribute("voteval"))
			continue;
		if (parseInt(img[i].getAttribute("voteval")) <= val)
			img[i].src = "img/opinion.over.gif";
		else
			img[i].src = "img/opinion.out.gif";
	}
}

function OnVoteOut(s)
{
	if (opinion_timer)
		window.clearTimeout(opinion_timer);
	opinion_timer = window.setTimeout(function()
	{
		var t = FindParent(s, {"tagname":"table"});
		var img = t.getElementsByTagName("img");
		for (var i = 0; i < img.length; i++)
		{
			if (!img[i].hasAttribute("voteval"))
				continue;
			img[i].src = "img/opinion.out.gif";
		}
	}, 100);
}

function Vote(s)
{
	var d = document.getElementById("description_container");
	var o = document.getElementById("opinion_container");
	var c = FindParent(s, {"tagname":"div"});
	var vote = parseInt(s.getAttribute("voteval"));
	var r = GetRequest();
	window["vote_html"] = c.innerHTML;
	c.innerHTML = "идет голосование...";
	r.onreadystatechange = function()
	{
		if (r.readyState != 4 || r.status != 200)
			return;
		if (r.responseText == "")
			return;
		var res = JSON.parse(r.responseText);
		if (!res)
			return;
		// Меняем цвет текста
		c.style.color = "#ffed27";
		if (res.code == 100)
		{
			var vc = parseInt(o.getAttribute("votecount")) + 1;
			var vv = parseFloat(o.getAttribute("votevalue")) + vote;
			var res = Math.round((vv / vc) * 10) / 10;
			document.getElementById("product_rating").innerHTML = res.toString();
			c.innerHTML = "Ваш голос принят";
		}
		else
		{
			c.innerHTML = "Вы уже оценивали данный продукт";
		}
	}
	r.open("GET", "Webservice.ashx?val=" + vote + "&id=" + d.getAttribute("pid") + "&u=" + Math.round(Math.random() * 100000000));
	r.send(null);
}
