var http_request = false;

function xReqMake(url,activator)
	{
	http_request = false;

	if (window.XMLHttpRequest)
		{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
			{
			http_request.overrideMimeType('text/xml');
			}
		}
	 else if (window.ActiveXObject)
		{
		try
			{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
		catch (e)
			{
			try
				{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
			catch (e)
				{}
			}
		}

	if (!http_request)
		{
		//alert('no XMLHTTP instance created');
		return false;
		}
	
	http_request.onreadystatechange = activator;
	http_request.open('GET', url, true);
	http_request.send(null);
	}



function getManufacturers()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var xmlItems = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('item');
			var cntItems = xmlItems.length;

			var targetDiv = document.getElementById('ary_manufacturers');
			targetDiv.innerHTML = '';

			var listingElement = document.createElement('option');
			listingElement.setAttribute("value",0);
			listingElement.innerText = "-";
			targetDiv.appendChild( listingElement );


			for (var i=0; i<cntItems; i++)
				{
				var item = xmlItems.item(i);
				var listingElement = document.createElement('option');
				listingElement.setAttribute("value", item.getElementsByTagName('key').item(0).firstChild.nodeValue );
				listingElement.innerHTML = item.getElementsByTagName('value').item(0).firstChild.nodeValue;
				targetDiv.appendChild( listingElement );
				}

			if (dispatch0=="do")
				aryFill0();

			return true;
			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}


function getModelsSeries()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var xmlItems = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('item');
			var cntItems = xmlItems.length;

			/* document.getElementById('ary_prototypes').innerHTML = ''; */
			/* document.getElementById('ary_models_items').innerHTML = ''; */

			var targetDiv = document.getElementById('ary_models_series');
			targetDiv.innerHTML = '';

			var listingElement = document.createElement('option');
			listingElement.setAttribute("value",0);
			listingElement.innerText = "-";
			targetDiv.appendChild( listingElement );


			for (var i=0; i<cntItems; i++)
				{
				var item = xmlItems.item(i);
				var listingElement = document.createElement('option');
				listingElement.setAttribute("value", item.getElementsByTagName('key').item(0).firstChild.nodeValue );
				listingElement.innerHTML = item.getElementsByTagName('value').item(0).firstChild.nodeValue;
				targetDiv.appendChild( listingElement );
				}

			if (dispatch1=="do")
				aryFill1();


			return true;
			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}



function getModelsItems()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var xmlItems = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('item');
			var cntItems = xmlItems.length;

			document.getElementById('ary_prototypes').innerHTML = '';

			var targetDiv = document.getElementById('ary_models_items');
			targetDiv.innerHTML = '';

			var listingElement = document.createElement('option');
			listingElement.setAttribute("value",0);
			listingElement.innerText = "-";
			targetDiv.appendChild( listingElement );


			for (var i=0; i<cntItems; i++)
				{
				var item = xmlItems.item(i);
				var listingElement = document.createElement('option');
				listingElement.setAttribute("value", item.getElementsByTagName('key').item(0).firstChild.nodeValue );
				listingElement.innerHTML = item.getElementsByTagName('value').item(0).firstChild.nodeValue;
				targetDiv.appendChild( listingElement );
				}

			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}


function getPrototypes()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var xmlItems = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('item');
			var cntItems = xmlItems.length;

			var targetDiv = document.getElementById('ary_prototypes');
			targetDiv.innerHTML = '';

			var listingElement = document.createElement('option');
			listingElement.setAttribute("value",0);
			listingElement.innerText = "-";
			targetDiv.appendChild( listingElement );


			for (var i=0; i<cntItems; i++)
				{
				var item = xmlItems.item(i);
				var listingElement = document.createElement('option');
				listingElement.setAttribute("value", item.getElementsByTagName('key').item(0).firstChild.nodeValue );
				listingElement.innerHTML = item.getElementsByTagName('value').item(0).firstChild.nodeValue;
				targetDiv.appendChild( listingElement );
				}

			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}



function getProperties()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var xmlItems = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('item');
			var cntItems = xmlItems.length;

			var targetDiv = document.getElementById('properties_inverse');
			targetDiv.innerHTML = '';

			for (var i=0; i<cntItems; i++)
				{
				var item = xmlItems.item(i);

				var liElement = document.createElement('li');


				var listingElement = document.createElement('span');
				var cx ="";
				if (item.getElementsByTagName('check').item(0).firstChild.nodeValue == "1")
					cx = "checked";

				listingElement.innerHTML = "<input type='checkbox' name='r["+item.getElementsByTagName('id').item(0).firstChild.nodeValue+"]' value='1' "+cx+" /><input type='hidden' name='q["+item.getElementsByTagName('id').item(0).firstChild.nodeValue+"]' value='1' />";
				liElement.appendChild( listingElement );
				
				var listingElement = document.createElement('label');
				listingElement.innerHTML = item.getElementsByTagName('content').item(0).firstChild.nodeValue;
				liElement.appendChild( listingElement );


				targetDiv.appendChild( liElement );
				targetDiv.style.display = "block"
				}

			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}




function setRank()
	{
	if (http_request.readyState == 4)
		{
		if (http_request.status == 200)
			{
			var thisRank = http_request.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('rank').item(0).firstChild.nodeValue;

		    var tWidth = parseInt( parseFloat(thisRank) * 17 ) ;
			document.getElementById('tool_rate_bar').style.width = tWidth + "px";

			document.getElementById('tool_step_bar').style.display = "none";

			rankVoted = 1;

			}
		else
			{
			return true;
			//alert('problem with the request.');
			}
		}
	}




















function conceal(element_id)
    {
    document.getElementById(element_id).style.display = 'none';
    }


function reveal(element_id)
    {
    document.getElementById(element_id).style.display = 'block';
    }
