function getsystem(dd)
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { RequestSuccess(xmlhttp,dd); }
	xmlhttp.open("GET","main.php?dd="+dd,true);
	xmlhttp.send();
}
function getmanu(val,dd)
{
	var xmlhttp;
  	document.getElementById('system').style.display="block";
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
			document.getElementById("manu").innerHTML="";
			document.getElementById("manu").innerHTML=xmlhttp.responseText;
			document.getElementById("memory2").style.display="block";
		  	document.getElementById('system').style.display="none";
    }}
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getproducturl(val,dd)
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { 
	  	if (xhr.readyState == 4 && xhr.status == 200) {
			return xmlhttp.responseText; 
		}
	  }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getseries(val,dd)
{
	var xmlhttp;
  	document.getElementById('manufac').style.display="block";
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { RequestSuccess(xmlhttp,dd);
 }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getmodel(val,dd)
{  	document.getElementById('series').style.display="block";

	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { RequestProduct(xmlhttp,dd); }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getproducts(val,dd)
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { ProductInfo(xmlhttp); }
	xmlhttp.open("GET","main2.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getmapping(val,dd)
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { getProductInfo(xmlhttp,val); }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function getresult(val,start,dd)
{
	var xmlhttp;
	//var val=document.getElementById('search').value;
	val=val.replace(/ /g,'<>');
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { getsearchresult(xmlhttp,val); }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val+"&start="+start,true);
	xmlhttp.send();
}
function RequestSuccess(xhr, dd)
{
	if (xhr.readyState == 4 && xhr.status == 200) {
			try
			{
				//alert(xhr.responseText);
				var JSONObject = eval('(' + xhr.responseText + ')');
				if (JSONObject.status == 'ok') {
					var obj = document.getElementById("Drop"+dd);
					document.getElementById("memory"+dd).style.display="block";
					obj.length = 0;
					var opt = document.createElement("option");
						opt.text = "Please Select";
						obj.options.add(opt);
					var nodeLength = JSONObject.response.values.length;
					 for (var iNode = 0; iNode < nodeLength; iNode++) {
						var JSONNode = JSONObject.response.values[iNode];
						var opt = document.createElement("option");
						opt.text = JSONNode.value
						opt.value = JSONNode.id;
						obj.options.add(opt);
					 }
    				document.getElementById('manufac').style.display="none";
				}
				else {
					var errorElement = document.getElementById('lblError');
					errorElement.innerHTML = JSONObject.Error;
				}
			}
			catch(err) {
				var errorElement = document.getElementById('lblError');
				errorElement.innerHTML = "No Data Available";
			}
			finally {
			}
	}
	else
	{
	}
}
function RequestProduct(xhr, dd)
{
	if (xhr.readyState == 4 && xhr.status == 200) {
			try
			{
				//alert(xhr.responseText);
				var JSONObject = eval('(' + xhr.responseText + ')');
				if (JSONObject.status == 'ok') {
					var obj = document.getElementById("Drop"+dd);
					document.getElementById("memory"+dd).style.display="block";
					obj.length = 0;
					var opt = document.createElement("option");
						opt.text = "Please Select";
						obj.options.add(opt);
					var nodeLength = JSONObject.response.products.length;
					 for (var iNode = 0; iNode < nodeLength; iNode++) {
						var JSONNode = JSONObject.response.products[iNode];
						var opt = document.createElement("option");
						opt.text = JSONNode.name
						opt.value = JSONNode.id;
						obj.options.add(opt);
					 }
					 document.getElementById('series').style.display="none";
				   	
				}
				else {
					var errorElement = document.getElementById('lblError');
					errorElement.innerHTML = JSONObject.Error;
				}
			}
			catch(err) {
				var errorElement = document.getElementById('lblError');
				errorElement.innerHTML = "No Data Available";
			}
			finally {
			}
	}
	else
	{

	}
}
       
function ProductInfo(xhr) {
            if (xhr.readyState == 4 && xhr.status == 200)
            {
                try {

                        //alert(xhr.responseText);
                        var JSONObject = eval('(' + xhr.responseText + ')');
                        if (JSONObject.status == 'ok') {
							if(JSONObject.response.products[0].attributes["Maximum Memory"]){
								if(parseInt(JSONObject.response.products[0].attributes["Maximum Memory"]) > 1000)
								{
									var memorysize=parseInt(JSONObject.response.products[0].attributes["Maximum Memory"])/1024;
									memorysize=memorysize+'GB';
								}
								else
								{
									var memorysize=JSONObject.response.products[0].attributes["Maximum Memory"];
									memorysize=memorysize+'MB';
								}
	                            document.getElementById("MaximumMemory").innerHTML = memorysize;
							}
							if(JSONObject.response.products[0].attributes["Standard Memory"]){
								if(parseInt(JSONObject.response.products[0].attributes["Standard Memory"]) > 1000)
								{
									var memorysize1=parseInt(JSONObject.response.products[0].attributes["Standard Memory"])/1024;
									memorysize1=memorysize1+'GB';
								}
								else
								{
									var memorysize1=JSONObject.response.products[0].attributes["Standard Memory"];
									memorysize1=memorysize1+'MB';
								}
	                            document.getElementById("StandardMemory").innerHTML = memorysize1;
							}
							if(JSONObject.response.products[0].attributes["Total Memory Slots"])
	                            document.getElementById("TotalMemorySlot").innerHTML = JSONObject.response.products[0].attributes["Total Memory Slots"];
							if(JSONObject.response.products[0].attributes["Form Factor"])
	                            document.getElementById("FormFactor").innerHTML = JSONObject.response.products[0].attributes["Form Factor"];
							if(JSONObject.response.products[0].attributes["Pin Count"])
                            	document.getElementById("PinCount").innerHTML = JSONObject.response.products[0].attributes["Pin Count"];
							if(JSONObject.response.products[0].attributes["Module Type"])
                           		document.getElementById("ModuleType").innerHTML = JSONObject.response.products[0].attributes["Module Type"];
							getmapping(JSONObject.response.products[0].id,6);
							
							document.getElementById('ProductDetails').style.visibility="visible";
						}
                        else
                        {
                            var errorElement = document.getElementById('lblError');
                            errorElement.innerHTML = JSONObject.Error;
                        }
						document.getElementById('sproducts').innerHTML='&nbsp;';
                    }
                catch (err)
                {
                    var errorElement = document.getElementById('lblError');
                    //errorElement.innerHTML = "No Info Available";
                }
            }
        }
        function getProductInfo(xhr,val) {
            if (xhr.readyState == 4 && xhr.status == 200)
            {
                try {
					//alert(xhr.responseText);
						if(xhr.responseText==""){
							document.getElementById('lblError').innerHTML = "Sorry No match found! Please call us at 800-338-1531 for upgrade information";
							document.getElementById('products').innerHTML="&nbsp;";

						}else{
                        	document.getElementById('products').innerHTML=xhr.responseText;
							var errorElement = document.getElementById('lblError');
							errorElement.innerHTML = "&nbsp;";
							getsysteminfo(val,5);
						}
                    }
                catch (err)
                {
                	//alert('Catch Error: '+err.description);
                    var errorElement = document.getElementById('lblError');
                    //errorElement.innerHTML = "There are no products available for your system at this time. Please call us for compatible product information.";
                    errorElement.innerHTML = "Sorry No match found! Please call us at 800-338-1531 for upgrade information";
                }
            }
        }
function getsearchresult(xhr,val){
            if (xhr.readyState == 4 && xhr.status == 200)
            {
                try {

                        //alert(xhr.responseText);
                        var JSONObject = eval('(' + xhr.responseText + ')');
                        if (JSONObject.status == 'ok') {
                            var nodeLength = JSONObject.response.products.length;
							var pro='';
                            for (var iNode = 0; iNode < nodeLength; iNode++) {
                                var JSONNode = JSONObject.response.products[iNode];
								getproductsurl(JSONNode["id"],5);
								
								pro += '<a target="_blank" href="/'+JSONNode["id"]+'/'+document.getElementById('get_url').value+'-RAM-memory.html">'+JSONNode["name"]+'</a><br>';					
                            }
                            if(nodeLength == 0)
                            {
                            }
		var pg = JSONObject.response.total;
		if(pg>20)
		{
			if((pg/20) >5)
			{
				for(var i=1;i<=5;i++)
				{
					var j=i*20;
					pro += '<a href="#" onclick="getresult(\''+val+'\','+j+',7); return false;">'+i+'</a>';
				}
				pro += '<a href="#"></a>';
			}
			else{
				for(var i=1;i<=pg/20;i++)
				{
					var j=i*20;
					pro += '<a href="#" onclick="getresult(\''+val+'\','+j+',7); return false;">'+i+'</a>';
				}
			}			
		}
		//paging(pg);
		//showPaging(1);
		document.getElementById('sproducts').innerHTML=pro;
		document.getElementById('sprods').style.display="none";
		if(pro==''){
			var errorElement = document.getElementById('lblError');
			errorElement.innerHTML = "Sorry no match found! Please call us at 800-338-1531 for upgrade information";
			document.getElementById('sproducts').innerHTML="&nbsp;";
		}
		else{
			var errorElement = document.getElementById('lblError');
			errorElement.innerHTML = "&nbsp;";
		}
	}
	else
	{
		var errorElement = document.getElementById('lblError');
		errorElement.innerHTML = "Sorry no match found! Please call us at 800-338-1531 for upgrade information";
		document.getElementById('sproducts').innerHTML="&nbsp;";
	}
	}
	catch (err)
	{
		//alert('Catch Error: '+err.description);
		var errorElement = document.getElementById('lblError');
		errorElement.innerHTML = "Sorry no match found! Please call us at 800-338-1531 for upgrade information";
		document.getElementById('sproducts').innerHTML="&nbsp;";
	}
	}
}
function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13){
          sproducts(); return false;
	 }
     else
          return true;
}  
function getproductsurl(val,dd){
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { 
		 ProductUrl(xmlhttp); 
	  }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,false);
	xmlhttp.send();
}
function ProductUrl(xhr) {
	if (xhr.readyState == 4 && xhr.status == 200)
	{
		var JSONObject = eval('(' + xhr.responseText + ')');
		if (JSONObject.status == 'ok') {
			var part1=JSONObject.response.products[0].attributes["System Type"];
			var part2=JSONObject.response.products[0].attributes["Manufacturer"];
			var part3=JSONObject.response.products[0].attributes["Product Line"];
			var part4=JSONObject.response.products[0].model;
			var newurl=part1+'-'+part2+'-'+part3+'-'+part4;
			newurl.replace(' ','_');
			newurl.replace(/ /gi,'_');
			return document.getElementById('get_url').value=newurl;
		}
	}
}
function getsysteminfo(val,dd){
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  { 
		 Productsysteminfo(xmlhttp); 
	  }
	xmlhttp.open("GET","main.php?dd="+dd+"&val="+val,true);
	xmlhttp.send();
}
function Productsysteminfo(xhr) {
	if (xhr.readyState == 4 && xhr.status == 200)
	{
		var JSONObject = eval('(' + xhr.responseText + ')');
		if (JSONObject.status == 'ok') {
			var part1=JSONObject.response.products[0].attributes["System Type"];
			var part2=JSONObject.response.products[0].attributes["Manufacturer"];
			var part3=JSONObject.response.products[0].attributes["Product Line"];
			var part4=JSONObject.response.products[0].model;
			var newurl=part1+'->'+part2+'->'+part3+'->'+part4;
			//newurl.replace(' ','_');
			//newurl.replace(/ /gi,'_');
			//alert(newurl);
			document.getElementById('system_info').innerHTML=newurl;
			return document.getElementById('systeminfo').value=newurl;
		}
	}
}
