//GetElementsByID Shorthand
function $()
{
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++)
    {
        var element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        if (arguments.length == 1)
            return element;
        elements.push(element);
    }
    return elements;
}
var responseCache;
var step;

// Crossbrowser XMLHttpRequest Object
function createXMLHttpRequest()
{
    try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
    try { return new XMLHttpRequest();                   } catch(e) {}
    window.status = "XMLHttpRequest не поддерживается";
    return null;
}

// Update the page with the response
function stateListener()
{
    var z;

    step = 1;
    if (window.translator.readyState == 4)
    {
        if (window.translator.status == 200)
        {
            xml = translator.responseXML;
            updateSatData(xml);

            window.status = "";
        }
        else
        {
            window.status = "Проблемы при отправке данных.";
        }
    }
    else
    {
        window.status = "Подождите, идёт отправка данных.";
    }
}

// Change message "wait" status
function change_wait_status()
{
    if (window.translator.readyState != 4)
    {
        if (step > 5)
        {
            step = 1;
        }

        if (step == 1)
        {
            window.status = "Подождите, идёт отправка данных.";
        }
        window.status += ".";

        step++;

        window.setTimeout("change_wait_status()", 500);
    }
}

//create the XMLHttpRequest() object
window.translator = createXMLHttpRequest();

//Query the server with the data
function send_request(ID, siteID, cur)
{
    try
    {
        //create the XMLHttpRequest() object
        window.translator = createXMLHttpRequest();

        translator.onreadystatechange = stateListener;
        translator.open("GET", "/common/goods_sat.php?id="+ID+"&site_id="+siteID+"&cur="+cur, true);
        translator.send(null);
    }
    catch (e)
    {
        alert(e.message);
    }
}

function showsat(ID, siteID, cur)
{
    if(window.translator.readyState == 4 || window.translator.readyState == 0)
    {
        if(document.getElementById("sat"+ID).rows.length>1)
        {
			document.getElementById("sat"+ID).style.display='block';
			document.getElementById('frame'+ID).style.display='block';
			document.getElementById("down"+ID).style.display='block';
			document.getElementById('img'+goodsID).style.display='none';
		}
		else
		{
			send_request(ID, siteID, cur);
		}
    } else {
		window.setTimeout("showsat("+ID+", "+siteID+", "+cur+")", 300);
    }
}

function delrows(ID)
{
	var tbl = document.getElementById("sat"+ID);
	tbl.style.display = 'none';
}

function updateSatData(xml)
{
	count1 = xml.getElementsByTagName("count")[0].firstChild.data;
    goodsID = xml.getElementsByTagName("goodsID")[0].firstChild.data;

	// если нажали показывать сопутствующие а их нет - убираем выделения и кнопки
	if(goodsID.length == 0)
	{
		document.getElementById('frame'+goodsID).style.display='none';
		document.getElementById('tt'+goodsID).className='standart';
		document.getElementById('tx'+goodsID).className='standart';
	}
	else
	{
		document.getElementById('frame'+goodsID).style.display='block';
		document.getElementById('tt'+goodsID).className='openprod';
		document.getElementById('tx'+goodsID).className='openprod';
		document.getElementById('img'+goodsID).style.display='none';
		
        warehouses = eval(xml.getElementsByTagName("warehouses")[0].firstChild.data);
        pricecount = eval(xml.getElementsByTagName("pricecount")[0].firstChild.data);

	    var tbl = document.getElementById("sat"+goodsID);
    	var allrows = tbl.rows.length; 
		var now = 0;
 
	    for(var i=count1; i>=1; i--)
    	{
			catname = xml.getElementsByTagName("cat"+i)[0].firstChild.data;
			id1 = xml.getElementsByTagName("id"+i)[0].firstChild.data;
			name1 = xml.getElementsByTagName("name"+i)[0].firstChild.data;
			est = xml.getElementsByTagName("est"+i)[0].firstChild.data;
			estcount = xml.getElementsByTagName("estcount"+i)[0].firstChild.data;
			ui = xml.getElementsByTagName("ui"+i)[0].firstChild.data;
			uic = eval(xml.getElementsByTagName("uic"+i)[0].firstChild.data);
			warmounth = eval(xml.getElementsByTagName("warmounth"+i)[0].firstChild.data);
			wardays = eval(xml.getElementsByTagName("wardays"+i)[0].firstChild.data);
			warsc = eval(xml.getElementsByTagName("warsc"+i)[0].firstChild.data);

			tbl.insertRow(now); // добавляем строку в таблицу
			
			var agent=navigator.userAgent.toLowerCase();
			// Using W3C standarts? Ha! It's Microsoft, they never do that.
			if (agent.indexOf('msie')!=-1)
			{
				// Microsoft event model is useless... we can use "this" keyword.
				//tbl.rows[now].attachEvent('onmouseover',function () {this.style.background="#E5E5E5";})
				//tbl.rows[now].attachEvent('onmouseout',function () {this.style.background="#F5F5F5";})
			}
			else
			{
				tbl.rows[now].addEventListener('mouseover',function () {this.style.background="#E5E5E5";},false)
				tbl.rows[now].addEventListener('mouseout',function () {this.style.background="#F5F5F5";},false)
			}
			tbl.rows[now].style.background="#EEEEEE";

			for(var t=0;t<20;t++)
			{
				tbl.rows[now].insertCell(t);
				if(t!=2) tbl.rows[now].cells[t].setAttribute("align", "center");
				if((t==3)||(t==8)||(t==14)||(t==17)) tbl.rows[now].cells[t].setAttribute("style", "background: url(http://" + STATIC_HOST + "/pics/common/price/tbl_vbg.gif) top center repeat-y;");
    		}
    		
    		tbl.rows[now].cells[0].innerHTML = "&nbsp;";
    		tbl.rows[now].cells[0].className = "tbl_body_check";
		
		    tbl.rows[now].cells[1].innerHTML = "<font color=\"#7189b0\">"+id1+"</font>";
		    tbl.rows[now].cells[2].innerHTML = "<a href=\"/goods/"+id1+"/\" target=\"_blank\"><font color=\"#5c76a1\">"+name1+"</font></a>";
	    	var temp = '';
			if(i==count1)
				temp = "<div align=\"right\" valign=\"bottom\" style=\"position:absolute;margin-left:-58px;margin-top:-9px;\"><a href=\"#"+goodsID+"\" onclick=\"document.getElementById('frame"+goodsID+"').style.display='none';document.getElementById('tt"+goodsID+"').className='standart';document.getElementById('tx"+goodsID+"').className='standart';document.getElementById('down"+goodsID+"').style.display='none';document.getElementById('img"+goodsID+"').style.display='block';delrows("+goodsID+");\"><img src=\"http://" + STATIC_HOST + "/pics/common/sat_up.gif\" border=\"0\" id=\"down"+goodsID+"\" style=\"z-index:10;\" alt=\"Скрыть сопутствующие товары\"></a></div>";	
			
			tbl.rows[now].cells[3].innerHTML = temp+"<img src=\"http://" + STATIC_HOST + "/pics/common/price/0.gif\" alt=\"\" width=1 height=1 border=0>";
								
			for(var j=1; j<=warehouses; j++)
			{
				z = xml.getElementsByTagName("avail"+j+"x"+i)[0].firstChild.data;
	    		tbl.rows[now].cells[3+j].innerHTML = "<img src=\"http://" + STATIC_HOST + "/pics/common/new_avail/"+z+".gif\" border=\"0\">";
			}
			var l = 4+j;
				
			z = xml.getElementsByTagName("price1x"+i)[0].firstChild.data;

//	    	tbl.rows[now].cells[l].innerHTML = "<a href=\"#\" onclick=\"return openPriceComplaint("+id1+","+z+");\"><img src=\"http://" + STATIC_HOST + "/pics/common/mad.gif\" width=25 height=22 border=0 alt=\"Сообщить о более привлекательной цене\" title=\"Сообщить о более привлекательной цене\"></a>";
			l += 1;		
		
			for(var j=1; j<=pricecount; j++)
			{
				z = xml.getElementsByTagName("price"+j+"x"+i)[0].firstChild.data;
	    		tbl.rows[now].cells[l].innerHTML = z;
				l += 1;
				
				if(j==1)
				{
    				tbl.rows[now].cells[l].innerHTML = "<img src=\"http://" + STATIC_HOST + "/pics/common/price/0.gif\" alt=\"\" width=1 height=1 border=0>";
					l += 1;
				}
			}
				
	   		tbl.rows[now].cells[l].innerHTML = "<img src=\"http://" + STATIC_HOST + "/pics/common/price/0.gif\" alt=\"\" width=1 height=1 border=0>";
			l += 1;

	   		temp = "<a href=\"#estimate\" onclick=\"openEstimate('"+id1+"'); return false;\" title=\"Здесь вы можете оставить отзыв о товаре и ознакомится с отзывами посетителей нашего сайта\">";

			if(est=='нет')
			{
				tbl.rows[now].cells[l].innerHTML = temp+"нет";
			}
			else
			{
				tbl.rows[now].cells[l].innerHTML = temp+est+"&nbsp;/&nbsp;"+estcount;
			}
		
			l += 1;
			temp = '';
			if(uic==1){temp='#009900';} else
				if(uic==2){temp='#000099';} else
					if(uic==3){temp='#CCCC00';} else
						if(uic==4){temp='#993300';} else {temp='#000000';}
		
//			tbl.rows[now].cells[l].innerHTML = "<a href=\"http://www.ab-group.ru/pages/1190.html\" target=\"_blank\" title=\"Index\"><font color=\""+temp+"\">"+ui+"%</font></a>";
			l += 1;
			tbl.rows[now].cells[l].innerHTML = "<img src=\"http://" + STATIC_HOST + "/pics/common/price/0.gif\" alt=\"\" width=1 height=1 border=0>";
			l += 1;
		
			temp = '';
			if(warmounth>0) temp = warmounth + ' мес. ';
			if(wardays>0) temp += wardays + ' дн. ';
			if((warmounth==0)&&(wardays==0)) temp = 'б/г';
			if(warsc!=0) temp += 'с/ц';
		
			tbl.rows[now].cells[l].innerHTML = temp;
			l += 1;
			tbl.rows[now].cells[l].innerHTML = "<a href=\"#\" onclick=\"AddGoods2CartOne('" + siteRelURL + "', '"+id1+"','','');return false;\"><img src=\"http://" + STATIC_HOST + "/pics/common/c-buy.gif\" alt=\"\" border=0></a>";

			if(catname!=0)
			{
				tbl.insertRow(now); // добавляем строку в таблицу
				tbl.rows[now].style.background="#EEEEEE";

				for(var t=0;t<20;t++) tbl.rows[now].insertCell(t); // добавляем ячейки

				tbl.rows[now].cells[2].innerHTML = "<strong>"+catname+"</strong>"; // вставляем в форму поля
			}
		}
	}		
}
