	function urlFilter(url) {
		if (hcp != "") {
			var baseUrl = (url.indexOf("?") != -1 ? url.substr(0, url.indexOf("?")) : url);
			var queryString = (url.indexOf("?") != -1 ? url.substr(url.indexOf("?")+1) : "");
			return (contextPath + baseUrl + "?hcp=" + hcp + (queryString != "" ? "&" + queryString : ""));
		}
		else return (contextPath + url);
	}
	
	// set up drop downs 
	if (ncqDropDown.isSupported()) {

		//==================================================================================================
		// create a set of dropdowns
		//==================================================================================================
		// the first param should always be down, as it is here
		//
		// The second and third param are the top and left offset positions of the menus from their actuators
		// respectively. To make a menu appear a little to the left and bottom of an actuator, you could use
		// something like -5, 5
		//
		// The last parameter can be .topLeft, .bottomLeft, .topRight, or .bottomRight to inidicate the corner
		// of the actuator from which to measure the offset positions above. Here we are saying we want the 
		// menu to appear directly below the bottom left corner of the actuator
		//==================================================================================================
		var ms = new ncqDropDownSet(ncqDropDown.direction.down, 0, 5, ncqDropDown.reference.bottomLeft);
		
		//==================================================================================================
		// create a dropdown menu
		//==================================================================================================
		// the first parameter should be the HTML element which will act actuator for the menu
		// send no URL if nothing should happen onclick (2nd parameter)
		//==================================================================================================
		
		var menu2 = ms.addMenu(document.getElementById("menu2"));
		menu2.addItem("Details", urlFilter("aboutus.html"));
		menu2.addItem("Registration of SA citizens abroad", urlFilter("rosa.html"));
		menu2.addItem("Did you know?", urlFilter("facts.html"));
		menu2.addItem("Contact Us", urlFilter("contact.html"));

		var menu3 = ms.addMenu(document.getElementById("menu3"));
		//menu3.addItem("Visas & Passports &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", urlFilter("visaandpassport.html"));
		//menu3.addItem("Immigration", urlFilter("immigration.html"));
		//menu3.addItem("Civic Services", urlFilter("civic.html"));
		menu3.addItem("What are Consular Services", urlFilter("consular.html"));
		var menu31 = menu3.addMenu("Test", "Test", "Test");
		menu31.addItem("You will be able to make use of these services by", urlFilter("consular.html#1"));
		menu31.addItem("Before requesting a service", urlFilter("consular.html#2"));
		menu31.addItem("What services do consular officers not render to SA citizens", urlFilter("consular.html#3"));
			
		menu3.addItem("Legalization of documentation", urlFilter("consular.html#6a"));
		var menu34 = menu3.addMenu("Test", "Test", "Test");
		menu34.addItem("Certificate of authentication", urlFilter("consular.html#6"));
		menu34.addItem("Attestation services", urlFilter("consular.html#7"));
		menu34.addItem("Certification of copies", urlFilter("consular.html#8"));
		menu34.addItem("Signing of documents in front of the Commissioner of Oath", urlFilter("consular.html#9"));
		
		menu3.addItem("General information", urlFilter("consular.html#14a"));
		var menu39 = menu3.addMenu(document.getElementById("menu39"));
		menu39.addItem("Renewal or replacement of RSA credit card format driving license", urlFilter("consular.html#14"));
		
		menu3.addItem("Warden System", urlFilter("consular.html#12a"));
		//var menu37 = menu3.addMenu("Test", "Test", "Test");
		//menu37.addItem("Registration of South African's abroad", urlFilter("consular.html#12"));
		
		menu3.addItem("Deaths abroad", urlFilter("consular.html#4"));
		menu3.addItem("Arrested abroad", urlFilter("consular.html#5"));
		menu3.addItem("Service of process", urlFilter("consular.html#10"));
		menu3.addItem("Application for Police Clearance certificates", urlFilter("consular.html#11"));
		menu3.addItem("Other Services", urlFilter("consular.html#13"));	
		menu3.addItem("Service Delivery Charter", urlFilter("servicedelivery.html"));

		var menu4 = ms.addMenu(document.getElementById("menu4"));
		menu4.addItem("Visas", urlFilter("visas.html"));
		menu4.addItem("Transit Visas", urlFilter("transitvisas.html"));
		menu4.addItem("Work Permits", urlFilter("workpermits.html"));
		menu4.addItem("Study Permits", urlFilter("studypermits.html"));
		menu4.addItem("Relatives Permit", urlFilter("relativespermits.html"));
		menu4.addItem("Spouse Permit", urlFilter("spousepermits.html"));
		menu4.addItem("Business Permits", urlFilter("businesspermits.html"));
		menu4.addItem("Quota Work Permits ", urlFilter("quotaworkpermits.html"));
		menu4.addItem("Permanent Residence", urlFilter("permanentresidence.html"));
		menu4.addItem("Administrative Fines&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", urlFilter("administrativefines.html"));
		menu4.addItem("Downloadable Forms", urlFilter("downloadableforms.html"));
		menu4.addItem("Schedule of Fees", urlFilter("feeschedule.html"));

		var menu5 = ms.addMenu(document.getElementById("menu5"));
		menu5.addItem("Passport Renewal", urlFilter("passportsrenewal.html"));
		menu5.addItem("Lost, Damaged, Stolen Passports", urlFilter("passportsrenewal-lost.html"));
		menu5.addItem("Child Passports", urlFilter("childpassport.html"));
		menu5.addItem("Birth Registration & Child Passports", urlFilter("birthregistration.html"));
		menu5.addItem("Temporary Passports (Adult)", urlFilter("temporarypassport.html"));
		menu5.addItem("Temporary Passports (Children)", urlFilter("temporarypassportchildren.html"));
		menu5.addItem("Identity Documents", urlFilter("identitydocuments.html"));
		menu5.addItem("Birth Certificates", urlFilter("birthcertificates.html"));
		menu5.addItem("Death Certificates", urlFilter("deathcertificates.html"));
		menu5.addItem("Marriage Certificates", urlFilter("marriagecertificates.html"));
		menu5.addItem("Marriage Letter", urlFilter("marriageletter.html"));
		menu5.addItem("Marriage Options in the U.A.E", urlFilter("marriageoptions.aspx"));
		menu5.addItem("Retention of Citizenship", urlFilter("citizenship.html"));
		menu5.addItem("Dual Citizenship", urlFilter("dualcitizenship.html"));
		//menu5.addItem("Exemption: Section 26(4)", urlFilter("exemption.html"));
		//menu5.addItem("Renunciation of Citizenship", urlFilter("renunciation.html"));
		menu5.addItem("Downloadable Forms", urlFilter("downloadableforms.html"));
		menu5.addItem("Schedule of Fees", urlFilter("feeschedule.html"));


		var menu8 = ms.addMenu(document.getElementById("menu8"));
		menu8.addItem("SA Government Site", urlFilter("http://www.gov.za"));
		menu8.addItem("Department of Foreign Affairs", urlFilter("http://www.dfa.gov.za/"));
		menu8.addItem("SA Trade and Industry", urlFilter("http://www.dti.gov.za/"));
		menu8.addItem("SA Tourism", urlFilter("http://www.southafrica.net/"));
		menu8.addItem("SA, Alive with Possibility", urlFilter("http://www.southafrica.info/"));
		menu8.addItem("SA Business Council (SABCo)", urlFilter("http://www.sabco-uae.org/"));
		menu8.addItem("Arts and Culture", urlFilter("arts.html"));
		menu8.addItem("Science and Technology", urlFilter("science.html"));
		menu8.addItem("Study in South Africa", urlFilter("http://www.studysa.co.za"));
		//menu8.addItem("TechniKons", urlFilter("technikons.html"));
		//menu8.addItem("Universities", urlFilter("universities.html"));


		//==================================================================================================
		// write drop downs into page
		//==================================================================================================
		// this method writes all the HTML for the menus into the page with document.write(). It must be
		// called within the body of the HTML page.
		//==================================================================================================
		ncqDropDown.renderAll();
	}