var txt;
var automotive = [];
var motorcyle = [];
var fleet = [];
var makes = [];


function loadList(url) {
	document.getElementById('catMenu')[0].selected = "1";
	document.getElementById('catMenu').disabled = true;
	document.getElementById('modelMenu').disabled = true;
	document.getElementById('makeMenu').disabled = true;
	document.getElementById('yearMenu').disabled = true;
	document.getElementById('catWaitImg').style.display = 'inline';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {loadDone(url);};
    req.open("GET", url, true);
    req.send("");
  }
	return false;
}

function loadDone(url) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
	 txt= req.responseText;
	  setCat();
	  document.getElementById('catWaitImg').style.display = 'none';
    } else {
	  document.getElementById('makeWaitImg').innerHTML = " Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}
function addOption(element, optionName, optionValue){
	 var option = document.createElement('option');
	 option = document.createElement('option');
	 option.innerHTML =   optionName;
	 option.value = optionValue;
	 document.getElementById(element).appendChild(option);
}
function setCat(){
	 clearObject('catMenu');	
	 addOption('catMenu', '---Choose a Category---', '');
	 addOption('catMenu','Automotive', 'automotive');
	 addOption('catMenu','Motorcycles', 'motorcycles');
	 addOption('catMenu','Fleet', 'fleet');
	 addOption('catMenu','Bulk', 'bulk');
	 addOption('catMenu','Equipment', 'equipment');
	 addOption('catMenu','Accessories', 'accessories');
	 document.getElementById('catMenu').disabled = false;
}
function getAutomotive(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	var carSIndex = stext.indexOf('Automotive</a><br>');
	var carEIndex = stext.indexOf('Lamin-x Home</a>');
	var carAll = stext.slice(carSIndex, carEIndex);
	automotive = carAll.split("\n"+'&#149;');
	automotive.splice(0,1); 
	//MAKES:
	for (var w=0; w < automotive.length; w++){
		automotive[w] = automotive[w].split("\n"+' &nbsp; >');
		
		//MODELS:
		for (var x=1; x < automotive[w].length; x++){
			automotive[w][x] = automotive[w][x].split('&#149;');
			
			//YEARS:	
			for(var a=1; a < automotive[w][x].length; a++){
				var subYears  = automotive[w][x][a].split('&nbsp; >');

				//SUBLINKS:
				if( subYears.length > 1){
					var subName = parseForLinks(subYears[0]);
					var subArray = [];
					for(var b=1; b< subYears.length; b++){
						var disA = parseForLinks(subYears[b]);
						var newLink = '<a href="'+ disA[0] + '" class="yeah"> '+ subName[1] + ' -- ' + disA[1]+ ' </a>'+ '<br>';
						subArray.push(newLink);
					}
					automotive[w][x].splice(a,1);
					for(var c=0; c<subArray.length; c++){
						automotive[w][x].splice(a+c,0,subArray[c]);
						
					}
				}
			}
		}
	}
	
	document.getElementById('makeWaitImg').style.display = 'none';
	makes = automotive;	
}
function getEquipment(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	var eSIndex = stext.indexOf('Equipment</a><br>');
	var stext = stext.slice(eSIndex, -1);
	var eEIndex = stext.indexOf('</tr>');
	var EAll =  stext.slice(0, eEIndex);
	equipment = EAll.split("\n"+'&#149;');
	equipment.splice(0,1); 
	for (var w=0; w < equipment.length; w++){
		equipment[w] = equipment[w].split('&#149;');
		for (var x=1; x < equipment[w].length; x++){ 
			equipment[w][x] = equipment[w][x].split('&#149;');
		}
	}
	makes = equipment;	
	document.getElementById('makeWaitImg').style.display = 'none';
}
function getAccessories(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	var aSIndex = stext.indexOf('Accessories</a><br>');
	var aEIndex = stext.indexOf('</tbody>');
	var aAll = stext.slice(aSIndex, aEIndex);
	accessories = aAll.split("\n"+'&#149;');
	accessories.splice(0,1); 
	for (var w=0; w < accessories.length; w++){
		accessories[w] = accessories[w].split(' >');
		for (var x=1; x < accessories[w].length; x++){ 
			accessories[w][x] = accessories[w][x].split('&#149;');
		}
	}
	makes = accessories;	
	document.getElementById('makeWaitImg').style.display = 'none';
}
function getBulk(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	startIndex = stext.indexOf('Rolls '+ "&"+' Universal Covers</a><br>');;
	stext = stext.slice(startIndex,-1);
	var bEIndex = stext.indexOf("\n"+'Universal Covers');
	var bAll = stext.slice(0, bEIndex);
	bulk=bAll.split(' >');
	bulk.splice(0,1); 
	for (var w=0; w < bulk.length; w++){
		bulk[w]= bulk[w].split(' >');
	}
	makes = bulk;	
	document.getElementById('makeWaitImg').style.display = 'none';
}
function getMotorcycle(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	var mcSIndex = stext.indexOf('Motorcycle</a><br>');
	var mcAll = stext.slice(mcSIndex, -1);
	var mcEIndex =  mcAll.indexOf('</tr>');
	mcAll = mcAll.slice(0, mcEIndex);
	motorcycle = mcAll.split("\n"+'&#149;');
	
	motorcycle.splice(0,1); 
	for (var w=0; w < motorcycle.length; w++){
		motorcycle[w] = motorcycle[w].split(' >');
		for (var x=1; x < motorcycle[w].length; x++){ 
			motorcycle[w][x] = motorcycle[w][x].split('&#149;');
		}
	}
	makes = motorcycle;	
	document.getElementById('makeWaitImg').style.display = 'none';
}
function getFleet(stext){
	var startIndex = stext.indexOf('>Category Index</');
	var endIndex = stext.indexOf('<!-- FOOTER -->');
	stext = stext.slice(startIndex, endIndex);
	var fltSIndex = stext.indexOf('Fleet</a><br>');
	var fltAll = stext.slice(fltSIndex, -1);
	var fltEIndex = fltAll.indexOf('</tr>');
	fltAll = fltAll.slice(0, fltEIndex);
	fleet = fltAll.split("\n"+'&#149;');
	fleet.splice(0,1); 
	for (var w=0; w < fleet.length; w++){
		fleet[w] = fleet[w].split(' >');
		for (var x=1; x < fleet[w].length; x++){ 
			fleet[w][x] = fleet[w][x].split('&#149;');
		}
	}
	makes = fleet;	
	document.getElementById('makeWaitImg').style.display = 'none';
}
	

function parseForLinks(input){
	var	result = [];
	input.replace(/<a[\s]+[^>]*?href[\s]?=[\s\"\']*(.*)[\"\']\sclass*.*?>([^<]+|.*?)?<\/a>/gi, function () {				
			result = Array.prototype.slice.call(arguments, 1, 4);	
	});
	return result;  //0 is url,1 is name
}
function getMakes(selObj){
	document.getElementById('makeWaitImg').style.display = 'inline';
	clearObject('makeMenu');
	clearObject('modelMenu');
	clearObject('yearMenu');
	cat = selObj.options[selObj.selectedIndex].value;
	if(cat != 'none'){	
		var theOption = document.createElement('option');
		if(cat == 'automotive'){
			getAutomotive(txt);
			document.getElementById('year_list').style.display = 'inline';
			theOption.innerHTML =  '---Choose Make---';
		}else if( cat =='motorcycles'){
			getMotorcycle(txt);
			document.getElementById('year_list').style.display = 'none';
			theOption.innerHTML =  '---Choose Make---';
		}else if(cat == 'fleet'){
			getFleet(txt);	
			document.getElementById('year_list').style.display = 'none';
			theOption.innerHTML =  '---Choose Make---';
		}else if(cat == 'accessories'){
			getAccessories(txt);	
			document.getElementById('year_list').style.display = 'none';
			document.getElementById('model_list').style.display = 'none';
			theOption.innerHTML =  '---Choose Accessory---';
		}else if(cat == 'bulk'){
			getBulk(txt);	
			document.getElementById('model_list').style.display = 'none';
			document.getElementById('year_list').style.display = 'none';
			theOption.innerHTML =  '---Choose Size---';
		}else if(cat == 'equipment'){
			getEquipment(txt);	
			document.getElementById('model_list').style.display = 'none';
			document.getElementById('year_list').style.display = 'none';
			theOption.innerHTML =  '---Choose Equipment---';
		}
		document.getElementById('makeMenu').appendChild(theOption);
		for (var w=0; w < makes.length; w++){
			var makeUrl = parseForLinks(makes[w][0]);

			var innerOption = document.createElement('option');
			innerOption.value = w;
			innerOption.innerHTML =  makeUrl[1];
			document.getElementById('makeMenu').appendChild(innerOption);
		}
	}
	document.getElementById('makeWaitImg').style.display = 'none';
	document.getElementById('makeMenu').disabled = false;
}
function getModels(selObj){
	clearObject('modelMenu');

	document.getElementById('modelWaitImg').style.display = 'inline';
	make = selObj.options[selObj.selectedIndex].value;
	var theOption = document.createElement('option');
	theOption.innerHTML =  '---Choose Model---';
	document.getElementById('modelMenu').appendChild(theOption);
	if(makes[make].length > 1){
		for (var x=1; x < makes[make].length; x++){
			var modelUrl = parseForLinks(makes[make][x][0]);
			var innerOption = document.createElement('option');
			innerOption.innerHTML = modelUrl[1];
			innerOption.value = make+ '--'+ x;
			document.getElementById('modelMenu').appendChild(innerOption);
		}
	}else{
		yearUrl = parseForLinks(makes[make][0]);
		document.getElementById('makeWaitImg').style.display = 'none';
		document.location = yearUrl[0] ;
		document.getElementById('year_list').style.display = 'none';
		document.getElementById('model_list').style.display = 'none';
	}
	document.getElementById('modelWaitImg').style.display = 'none';
	document.getElementById('modelMenu').disabled = false;
	document.getElementById('yearMenu').disabled = true;
}
function getYearGroup(selObj){
	clearObject('yearMenu');
	var makeModel = selObj.options[selObj.selectedIndex].value;
	var makeModelArr = makeModel.split('--');
	var make = makeModelArr[0];
	var model = makeModelArr[1];
	var yearUrl;
	if(makes[make][model].length >1){
		document.getElementById('yearWaitImg').style.display = 'inline';
		var theOption = document.createElement('option');
		theOption.innerHTML =  '---Choose Year---';
		document.getElementById('yearMenu').appendChild(theOption);
		for (var t=1; t < makes[make][model].length; t++){
			yearUrl = parseForLinks(makes[make][model][t]);			
			var innerOption = document.createElement('option');
			innerOption.innerHTML = yearUrl[1];
			innerOption.value = make+ '--'+ model + '--'+ t
			document.getElementById('yearMenu').appendChild(innerOption);
			document.getElementById('yearWaitImg').style.display = 'none';
		}
	}else{
		yearUrl = parseForLinks(makes[make][model][0]);
		document.getElementById('yearWaitImg').style.display = 'none';
		document.getElementById('modelWaitImg').style.display = 'none';
		document.location = yearUrl[0] ;
		
	}
	document.getElementById('yearMenu').disabled = false;
}
function selPage(selObj){
	var makeModelYear = selObj.options[selObj.selectedIndex].value;
	var makeModelYearArr = makeModelYear.split('--');
	var make = makeModelYearArr[0];
	var model = makeModelYearArr[1];
	var year = makeModelYearArr[2];	
	var url = parseForLinks(makes[make][model][year]);
	document.location = url[0] ;
}
function clearObject(name){
	var cell = document.getElementById(name);
	if ( cell.hasChildNodes() )
	{
		while ( cell.childNodes.length >= 1 )
		{
			cell.removeChild( cell.firstChild );       
		} 
	}
}