function hideCategorySelect(n)
{
	document.getElementById("category" + n).className = "hidden";
}

function checkForm()
{
	var errors = false;
	
	// check text fields
	if (document.getElementById("conName").value=="") {
		if (document.getElementById("conNameSpan").lastChild.className != "errorcode")
		{
			document.getElementById("conNameSpan").innerHTML += "<span class=\"errorcode\">You Must Enter A Contact Name!</span>";
		}
		errors = true;
	}
	if (document.getElementById("telNo").value=="") {
		if (document.getElementById("telNoSpan").lastChild.className != "errorcode")
		{
			document.getElementById("telNoSpan").innerHTML += "<span class=\"errorcode\">You Must Enter A Telephone Number!</span>";
		}
		errors = true;
	}
	if (document.getElementById("eMail").value=="") {
		if (document.getElementById("eMailSpan").lastChild.className != "errorcode")
		{
			document.getElementById("eMailSpan").innerHTML += "<span class=\"errorcode\">You Must Enter An E-Mail Address!</span>";
		}
		errors = true;
	}
	if (document.getElementById("cName").value=="") {
		if (document.getElementById("cNameSpan").lastChild.className != "errorcode")
		{
			document.getElementById("cNameSpan").innerHTML += "<span class=\"errorcode\">You Must Enter A Company Name!</span>";
		}
		errors = true;
	}
	if (document.getElementById("address1").value=="") {
		if (document.getElementById("address1Span").lastChild.className != "errorcode")
		{
			document.getElementById("address1Span").innerHTML += "<span class=\"errorcode\">You must enter at least one line of an Address!</span>";
		}
		errors = true;
	}
	if (document.getElementById("town").value=="") {
		if (document.getElementById("townSpan").lastChild.className != "errorcode")
		{
			document.getElementById("townSpan").innerHTML += "<span class=\"errorcode\">You must enter a Town!</span>";
		}
		errors = true;
	}
	if (document.getElementById("county").value=="") {
		if (document.getElementById("countySpan").lastChild.className != "errorcode")
		{
			document.getElementById("countySpan").innerHTML += "<span class=\"errorcode\">You must enter a County!</span>";
		}
		errors = true;
	}
	if (document.getElementById("pCode").value=="") {
		if (document.getElementById("pCodeSpan").lastChild.className != "errorcode")
		{
			document.getElementById("pCodeSpan").innerHTML += "<span class=\"errorcode\">You must enter a Postcode!</span>";
		}
		errors = true;
	}
	
	//check categories	
	if (document.getElementById("category1").value == "x" &&
		document.getElementById("category2").value == "x" &&
		document.getElementById("category3").value == "x" &&
		document.getElementById("category4").value == "x" &&
		document.getElementById("inputFreeCat").value == "" ||
		document.getElementById("subCat1").value == "x" &&
		document.getElementById("subCat2").value == "x" &&
		document.getElementById("subCat3").value == "x" &&
		document.getElementById("subCat4").value == "x" &&
		document.getElementById("inputFreeCat").value == "")
	{
		if (document.getElementById("categoriesHelp").lastChild.className != "errorcode")
		{
			document.getElementById("categoriesHelp").innerHTML += " <span class=\"errorcode\">You must specify at least one category, and a subcategory, if you cannot see a relevant category listed, click the link at the bottom of this section.</span>";
		}
		errors = true;
	}
	
	//options start here mike!
	var i = 1;
	var j = 0;
	
	while(document.getElementById("optionBox" + i))
	{
		if (document.getElementById("optionBox" + i).checked == true)
		{
			j++;
		}
		i++;
	}
	
	if (j>3)
	{
		errors = true;
		if (document.getElementById("optionsHelp").lastChild.className != "errorcode")
		{
			document.getElementById("optionsHelp").innerHTML += "<span class=\"errorcode\">You may only specify a maximum of 3 options.</span>";
		}
	}
	//options end here mike!
	
	if (!document.getElementById("TaC").checked)
	{
			errors=true;
			document.getElementById("TaCp").innerHTML += "<span class=\"errorcode\"> You must accept the findTraders terms and conditions to continue.</span>";
	}
	
	if (errors == true)
	{
		alert("Errors encountered - Please check form data");
		return(false);
	}
	else
	{
		return(true);
	}
}

function clearError(id)
{
	if (document.getElementById(id).value != "")
	{
		if (document.getElementById(id).parentNode.lastChild.className=="errorcode")
		{
			document.getElementById(id).parentNode.removeChild(document.getElementById(id).parentNode.lastChild);
		}
	}
}

function clearCategoryError()
{
	if (document.getElementById("category0").value!="x" ||
		document.getElementById("category1").value!="x" ||
		document.getElementById("category2").value!="x" ||
		document.getElementById("category3").value!="x" ||
		document.getElementById("category4").value!="x")
	{
		document.getElementById("categoriesHelp").removeChild(document.getElementById("categoriesHelp").lastChild);
	}
}

function toggleAdvanced()
{
	if (document.getElementById("hideAdvanced").className == "hidden")
	{
		document.getElementById("hideAdvanced").className = "visible"
	}
	else
	{
		document.getElementById("hideAdvanced").className = "hidden"
	}
}

function checkInitialForm()
{
	if (document.getElementById("inputaName").value == "" && document.getElementById("inputaTown").value == "" && document.getElementById("inputKeyword").value == "")// && document.getElementById("category").options[document.getElementById("category").selectedIndex].value=="x")
	{
		alert("You must fill in at least one field!");
		return(false);
	}
	else
	{
		return(true);
	}
}

function checkSearchForm()
{
	if (document.getElementById("inputPostcode").value == "" && document.getElementById("inputaName").value == "" && document.getElementById("inputaTown").value == "" && document.getElementById("inputKeyword").value == "")
	{
		alert("You must fill in at least one field!");
		return(false);
	}
	else
	{
		return(true);
	}
}

function toggleLookUp()
{
	if(document.getElementById("traderIFrame").className == "hidden")
	{
		document.getElementById("traderIFrame").className = "visible";
		document.getElementById("traderToggle").innerHTML = "Hide";
	}
	else if(document.getElementById("traderIFrame").className == "visible")
	{
		document.getElementById("traderIFrame").className = "hidden";
		document.getElementById("traderToggle").innerHTML = "Click here if you don't see your category";
	}
}
function toggleFreeCat()
{
	if(document.getElementById("freeCat").className == "hidden")
	{
		document.getElementById("freeCat").className = "visible";
		document.getElementById("freeCatToggle").innerHTML = "Hide";
	}
	else if(document.getElementById("freeCat").className == "visible")
	{
		document.getElementById("freeCat").className = "hidden";
		document.getElementById("freeCatToggle").innerHTML = "Click here if you don't see your category";
	}
}

function TraderLookupToggle()
{
	if(document.getElementById("LookupToggle").className == "hidden")
	{
		document.getElementById("LookupToggle").className = "visible";
	}
}
function TraderLookupToggleOff()
{
		document.getElementById("LookupToggle").className = "hidden";
}

function transBGClose()
{
		document.getElementById("transBG").className = "hidden";
}

var globalid;

function setSubCatDD(id)
{
	var index = document.getElementById("category" + id).options[document.getElementById("category" + id).selectedIndex].value;
	
	if (index!="x")
	{
		url = "../includes/getSubCategories.php?index=" + index;
		
		if (!isWorking && http2)
		{
			globalid = id;
			http2.open("GET", url, true);
			http2.onreadystatechange = handleHttpResponseDD;
			isWorking = true;
			http2.send(null);
		}
	}
	else
	{
		document.getElementById("subCat" + id).options.length = 0;
		document.getElementById("subCat" + id).options[0] = new Option("----","x")
	}
}

function handleHttpResponseDD()
{
	if (http2.readyState == 4)
	{
		var xmlDocument = http2.responseXML;
		var numData = xmlDocument.getElementsByTagName('cat');
		var i;
		
		document.getElementById("subCat" + globalid).options.length = 0;
		
		for(i=0;i<numData.length;i++)
		{
			var category = xmlDocument.getElementsByTagName('cat').item(i).firstChild.data;
			var catid = xmlDocument.getElementsByTagName('cat').item(i).getAttribute('id');
			
			document.getElementById("subCat" + globalid).options[i] = new Option(category,catid)
		}
		isWorking = false;
	}
}

function showLookup()
{
	if(document.getElementById("acctLkup").className == "hidden")
	{
		document.getElementById("acctLkup").className = "visible";
	}
}

function doLookup()
{
	if(!isWorking && http)
	{
		LUID = document.getElementById("LUID").value;
		LUCN = document.getElementById("LUCN").value;
		LUPC = document.getElementById("LUPC").value;
		
		if (LUID=="" && (LUCN=="" || LUPC==""))
		{
			alert("You must complete BOTH a Company Name & Postcode if you do not enter an ID.")
		}
		else
		{
			LookupUrl = "../includes/lookupDetails.php?ID=" + escape(LUID) + "&CN=" + escape(LUCN) + "&PC=" + escape(LUPC);
			
			document.getElementById("notification").innerHTML = "Working...";
			
			http.open("GET", LookupUrl, true);
			http.onreadystatechange = handleHttpResponseLookup;
			isWorking = true;
			http.send(null);
		}
	}	
}

function handleHttpResponseLookup()
{
	var xmlDocument = http.responseXML;
	
	if(http.readyState == 4)
	{
		var numData = xmlDocument.getElementsByTagName('name');
		var i=0;
		
		clearRegForm();
		
		if (numData.length==1)
		{
			var acctNo = xmlDocument.getElementsByTagName('acct').item(i).firstChild.data;
			var subscribed = xmlDocument.getElementsByTagName('subscribed').item(i).firstChild.data;
			var name = xmlDocument.getElementsByTagName('name').item(i).firstChild.data;
			var contactname = xmlDocument.getElementsByTagName('contactname').item(i).firstChild.data;
			var telno = xmlDocument.getElementsByTagName('telno').item(i).firstChild.data;
			var mobno = xmlDocument.getElementsByTagName('mobno').item(i).firstChild.data;
			var faxno = xmlDocument.getElementsByTagName('faxno').item(i).firstChild.data;
			var address1 = xmlDocument.getElementsByTagName('address1').item(i).firstChild.data;
			var address2 = xmlDocument.getElementsByTagName('address2').item(i).firstChild.data;
			var address3 = xmlDocument.getElementsByTagName('address3').item(i).firstChild.data;
			var address4 = xmlDocument.getElementsByTagName('address4').item(i).firstChild.data;
			var town = xmlDocument.getElementsByTagName('town').item(i).firstChild.data;
			var county = xmlDocument.getElementsByTagName('county').item(i).firstChild.data;
			var postcode = xmlDocument.getElementsByTagName('postcode').item(i).firstChild.data;
			var logoID = xmlDocument.getElementsByTagName('logoID').item(i).firstChild.data;
			var freetype = xmlDocument.getElementsByTagName('freetype').item(i).firstChild.data;
			var web = xmlDocument.getElementsByTagName('web').item(i).firstChild.data;
			var email = xmlDocument.getElementsByTagName('email').item(i).firstChild.data;
			var option1 = xmlDocument.getElementsByTagName('option1').item(i).firstChild.data;
			var option2 = xmlDocument.getElementsByTagName('option2').item(i).firstChild.data;
			var option3 = xmlDocument.getElementsByTagName('option3').item(i).firstChild.data;
			var subStat = xmlDocument.getElementsByTagName('listingType').item(i).firstChild.data;
			var bSubStat = xmlDocument.getElementsByTagName('listingTypeB').item(i).firstChild.data;
			
			if(acctNo=="-"){acctNo="";}
			if(name=="-"){name="";}
			if(contactname=="-"){contactname="";}
			if(telno=="-"){telno="";}
			if(mobno=="-"){mobno="";}
			if(faxno=="-"){faxno="";}
			if(address1=="-"){address1="";}
			if(address2=="-"){address2="";}
			if(address3=="-"){address3="";}
			if(address4=="-"){address4="";}
			if(town=="-"){town="";}
			if(county=="-"){county="";}
			if(postcode=="-"){postcode="";}
			if(freetype=="-"){freetype="";}
			if(web=="-"){web="";}
			if(email=="-"){email="";}
			
			document.getElementById("conName").value = contactname;
			document.getElementById("telNo").value = telno;
			document.getElementById("mobNo").value = mobno;
			document.getElementById("faxNo").value = faxno;
			document.getElementById("eMail").value = email;
			document.getElementById("website").value = web;
			
			document.getElementById("cName").value = name;
			document.getElementById("address1").value = address1;
			document.getElementById("address2").value = address2;
			document.getElementById("address3").value = address3;
			document.getElementById("address4").value = address4;
			document.getElementById("pCode").value = postcode;
			document.getElementById("town").value = town;
			document.getElementById("county").value = county;
			
			document.getElementById("freetype").innerHTML = freetype;
			
			if (bSubStat != 1) {
				if (subStat != 0) {
					if (subStat == 2) {
						document.getElementById('supremeListing').checked = true;
						showPreview('supreme');
					}
					else if (subStat == 1) {
						document.getElementById('advancedListing').checked = true;
						showPreview('advanced');
					}
				}
			} else {
				document.getElementById('borderListing').checked = true;
				showPreview('border');
			}
			
			if(option1!=0)
			{
				if (document.getElementById("optionBox" + option1))
					document.getElementById("optionBox" + option1).checked = true;
			}
			if(option2!=0)
			{
				if (document.getElementById("optionBox" + option2))
					document.getElementById("optionBox" + option2).checked = true;
			}
			if(option3!=0)
			{
				if (document.getElementById("optionBox" + option3))
					document.getElementById("optionBox" + option3).checked = true;
			}
			
			if (logoID!="-")
			{
				if(!document.getElementById("currentImage"))
				{
					document.getElementById("otherInfo").innerHTML = "<div id=\"currentImage\">Your current image is:<br /><img src=\"Company_Logos/" + logoID + "\" alt=\"Current Listing Image\" /></div>" + document.getElementById("otherInfo").innerHTML;
				}
				else
				{
					document.getElementById("currentImage").parentNode.removeChild(document.getElementById("currentImage"));
					document.getElementById("otherInfo").innerHTML = "<div id=\"currentImage\">Your current image is:<br /><img src=\"Company_Logos/" + logoID + "\" alt=\"Current Listing Image\" /></div>" + document.getElementById("otherInfo").innerHTML;
				}
			}
			else
			{
				if(document.getElementById("currentImage"))
				{
					document.getElementById("currentImage").parentNode.removeChild(document.getElementById("currentImage"));
				}
			}
			
			for (i=0;i<4;i++)
			{
				if (xmlDocument.getElementsByTagName('category').item(i))
				{
					//alert(document.getElementById("category" + (i+1)).options.length);
					for (j=0;j<document.getElementById("category" + (i+1)).options.length;j++)
					{
						//alert(document.getElementById("category" + (i+1)).options[j].value);
						//alert(xmlDocument.getElementsByTagName('category').item(i).getAttribute("id"));
						if (document.getElementById("category" + (i+1)).options[j].value == xmlDocument.getElementsByTagName('category').item(i).getAttribute("id"))
						{
							document.getElementById("category" + (i+1)).options[j].selected = true;
						}
					}
				}
			}
			
			if(acctNo!="")
			{
				document.getElementById("acctNo").value = acctNo;
			}
			
			isWorking = false;
			
			setSubCatDD(1);
			window.setTimeout('selectSubCat(1)',900);
			window.setTimeout('setSubCatDD(2)',1000);
			window.setTimeout('selectSubCat(2)',1200);
			window.setTimeout('setSubCatDD(3)',1200);
			window.setTimeout('selectSubCat(3)',1500);
			window.setTimeout('setSubCatDD(4)',1800);
			window.setTimeout('selectSubCat(4)',2100);
			
			document.getElementById("notification").innerHTML = "Listing Data Loaded";
			document.getElementById("amend").value = "1";
			window.location = "#mainFields";
		}
		else
		{
			document.getElementById("notification").innerHTML = "No Results Found";
			isWorking = false;
		}
	}
}

function selectSubCat(i)
{
	var xmlDocument = http.responseXML;
	
	for (j=0;j<document.getElementById("subCat" + i).options.length;j++)
	{
		if(xmlDocument.getElementsByTagName('subcategory').item(i-1))
		{
			if (document.getElementById("subCat" + i).options[j].value == xmlDocument.getElementsByTagName('subcategory').item(i-1).getAttribute("id"))
			{
				document.getElementById("subCat" + i).options[j].selected = true;
			}
		}
	}
}

function clearRegForm()
{
	document.getElementById("regForm").reset();
	document.getElementById("amend").value = "0";
	
	if(document.getElementById("currentImage"))
	{
		document.getElementById("currentImage").parentNode.removeChild(document.getElementById("currentImage"));
	}
}

function editNotepad(divID)
{
	document.getElementById("edit_" + divID).className = "visible";
	document.getElementById("original_" + divID).className = "hidden";
	document.getElementById("link_" + divID).className = "hidden";
}
function addNotepad(divID)
{
	document.getElementById("edit_" + divID).className = "visible";
}
function deleteNotepad(divID)
{
	if(confirm("Are you sure you wish to clear your notebook for this listing?"))
	{
		window.location = "includes/deleteNote.php?accNumber=" + divID;
	}
}

function noteColor(divID)
{
	if(document.getElementById("text_" + divID).className == "textareaNewGrey")
	{
		document.getElementById("text_" +  divID).className = "textareaNewBlack";
	}
}
