var req;
var timeid;
var bg="#26262f";
var fg="#7c777b";

function loadXMLDoc(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
			response = req.responseXML.documentElement;

			d=document.getElementById("qsdiv");
			t=document.getElementById("qstable");
			s=document.getElementById("searchstring");
			d.style.top=(5-s.offsetTop)+"px";
			if (t!=null) 
			{
				d.removeChild(t);
				t=null;
			}

			var t = document.createElement("TABLE");
			t.id="qstable";
			t.cellSpacing="0";
			t.cellPadding="0";
			t.style.width=s.offsetWidth+"px";
			var tb = document.createElement("TBODY");
			tb.id="qstb";

			for (i=0;i<response.getElementsByTagName('item').length;i++)
			{
				var newText = document.createTextNode(response.getElementsByTagName('item')[i].attributes[0].value);
				var newText2 = document.createTextNode("Страница производителя");
				var newLink = document.createElement("A");
				var newTD = document.createElement("TD");
				var newTD2 = document.createElement("TD");
				var newTR = document.createElement("TR");

				newLink.href="/"+response.getElementsByTagName('item')[i].attributes[1].value+"/";
				newLink.appendChild(newText2);
				newLink.onmouseover=ssel;
				newLink.onmouseout=sunsel;
				newLink.style.color="#FFFFFF";
				
				newTD.id = "newTD";
				newTD.style.borderLeft="1px solid #6D6A6C";
				newTD.style.borderBottom="1px solid #6D6A6C";
				newTD.style.width="50%";
				newTD.onmouseover=ssel;
				newTD.onmouseout=sunsel;
				newTD.onclick=sclick;
				newTD.appendChild(newText);

				newTD2.id = "newTD2";
				newTD2.style.borderBottom="1px solid #6D6A6C";
				newTD2.style.borderRight="1px solid #6D6A6C";
				newTD2.style.textAlign="right";
				newTD2.style.width="50%";
				newTD2.onmouseover=ssel;
				newTD2.onmouseout=sunsel;
				newTD2.onclick=sclick;
				newTD2.appendChild(newLink);

				newTR.appendChild(newTD);
				newTR.appendChild(newTD2);
				newTR.bgColor = bg;
				tb.appendChild(newTR);
			}

			t.appendChild(tb);
			d.appendChild(t);
			
			d.style.height=t.clientHeight+'px';

			d.style.display="block";

        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

function checkSearch(input)
{
    url  = '/quicksearch.php?q=' + input;
    loadXMLDoc(url);
}

function ssel(event)
{
	if (!event&&window.event) {event=window.event;}
	if (event.target!=null) {cell=event.target.parentNode;}else{cell=event.srcElement.parentNode;}
	if (cell.tagName=="TD") {cell=cell.parentNode;}

	cell.childNodes[0].bgColor=fg;
	cell.childNodes[1].bgColor=fg;
}

function sunsel(event)
{
	if (!event&&window.event) {event=window.event;}
	if (event.target!=null) {cell=event.target.parentNode;}else{cell=event.srcElement.parentNode;}
	if (cell.tagName=="TD") {cell=cell.parentNode;}

	cell.childNodes[0].bgColor=bg;
	cell.childNodes[1].bgColor=bg;
}

function sclick(event)
{
	if (!event&&window.event) {event=window.event;}
	if (event.target!=null) {cell=event.target.parentNode;}else{cell=event.srcElement.parentNode;}
	if (cell.tagName=="TD") {cell=cell.parentNode;}

	s=document.getElementById("searchstring");
	s.value=cell.childNodes[0].childNodes[0].data;
	s.focus();
}

function inittimeout(e)
{
	if (e.keyCode==0) {k=e.which;} else {k=e.keyCode;}
	if (k!=38 && k!=40 && k!=13)
	{
		d=document.getElementById("qsdiv");
		d.style.display="none";
		t=document.getElementById("qstable");
		if (t!=null) 
		{
			d.removeChild(t);
			t=null;
		}

		if (timeid!=null)
		{
			clearTimeout(timeid);
			timeid=null;
		}
		timeid=setTimeout("checkSearch(document.getElementById('searchstring').value);",500);
	}
	tb=document.getElementById("qstb");
	s=document.getElementById("searchstring");
	if (tb!=null)
	{
		sn=-1;
		ch=tb.childNodes;
		for (i=0;i<ch.length;i++)
		{
		if (ch[i].tagName=="TR" && ch[i].bgColor!=bg)
		{
			sn=i;
			ch[i].bgColor=bg;
		}
		}

		if (k==40)
		{
//		alert(sn);
		scroll(0,0);
		if (sn==-1) 
		{
				ch[0].bgColor=fg;
				s.value=ch[0].childNodes[0].childNodes[0].data;
		}else{
			if (sn==ch.length-1)
			{
				ch[sn].bgColor=fg;
				s.value=ch[sn].childNodes[0].childNodes[0].data;
			}else{
				ch[sn+1].bgColor=fg;
				s.value=ch[sn+1].childNodes[0].childNodes[0].data;
			}
		}
		return false;
		}

		if (k==38)
		{
//		alert(sn);
		if (sn==0)
		{
			ch[sn].bgColor=fg;
			s.value=ch[sn].childNodes[0].childNodes[0].data;
		}else{
			ch[sn-1].bgColor=fg;
			s.value=ch[sn-1].childNodes[0].childNodes[0].data;
		}
		return false;
		}
	}
}

function formatter(event,phonepref)
{
	if (!event&&window.event) {event=window.event;}
	if (event.target!=null) {inp=event.target;}else{inp=event.srcElement;}
	val=inp.value;
	val=val.replace(/[a-zа-яё_!\-\s@,.;&]|\+7/ig,"");
	val=val.replace(/^8(?!12)/ig,"");
	if (val.match(/\(|\)/ig))
	{
		if (val.match(/(\(\d+\))(\d+)(\d{2,2})(\d{2,2})$/ig))
		{
			val=val.replace(/(\(\d+\))(\d+)(\d{2,2})(\d{2,2})$/ig,"$1 $2-$3-$4");
		}else{
			val=val.replace(/(\(\d+\))(\d+)$/ig,"$1 $2");
		}
	}else{
		if (val.match(/(\d+?)(\d{3,3})(\d{2,2})(\d{2,2})$/ig))
		{
			val=val.replace(/(\d+?)(\d{3,3})(\d{2,2})(\d{2,2})$/ig,"($1) $2-$3-$4");
		}else{
			val='('+phonepref+')'+val;
			val=val.replace(/(\(\d+\))(\d+)(\d{2,2})(\d{2,2})$/ig,"$1 $2-$3-$4");
		}
	}
	inp.value=val;
	sotval=val.replace(/[^\d]/ig,"");
	sotval=sotval.substr(0,6);

	document.getElementById("mobile_sms").style.display='none';
	document.getElementById("federal_sms").style.display='none';

	if (sotval.match(/^(8129|4959)/ig))
	{
		document.getElementById("federal_sms").style.display='block';
	}

/*
	for (i=0;i<mobile_pref.length;i++)
	{
		eval("sotmatch=sotval.match(/^"+mobile_pref[i]+"/ig);");
		if (sotmatch)
		{
			document.getElementById("mobileop_logo").innerHTML=mobile_op[i];
			document.getElementById("mobile_sms").style.display='block';
		}
	}
*/
    url = '/getmob.php?sot='+sotval;
//	alert(url);
    loadXMLDoc_me(url,mobeffect);
}

function mobeffect()
{
// only if req shows "complete"
if (req.readyState == 4) {
	// only if "OK"
	if (req.status == 200) {
    	// ...processing statements go here...
		xmlitem = req.responseXML.documentElement.getElementsByTagName('item')[0];
		opsos=xmlitem.attributes[0].value;
		if (opsos!='not')
		{
			document.getElementById("mobileop_logo").innerHTML=opsos;
			document.getElementById("mobile_sms").style.display='block';
		}
		
	} else {
    	alert("There was a problem retrieving the XML data:\n" + req.statusText);
	}
}
}

function loadXMLDoc_me(url,processReqChange) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
