function sortOptions(){
		var metalHolder = document.getElementById("metalHolder");
		if (metalHolder.className == "mfform") {
			document.getElementById("add").disabled = "true";
		}
		var filterType = metalHolder.name;
		var evaluateOptions = document.getElementById("S1");
		var secondOptions = document.getElementById("S3");
		var secondOptionsContainer = document.getElementById("optionalSelect");
		var productHolder = document.getElementById("productSelector");
		for (var i =0; i<evaluateOptions.length; i++) {
		var createOption = [];
		createOption['Moonstone'] = ["Moonstone"];
		createOption['Peach Moonstone'] = ["Peach Moonstone"];
		createOption['Tourmalinated Quartz'] = ["Tourmalinated Quartz"];
		createOption['Aquamarine'] = ["Aquamarine"];
		createOption['Rutilated Quartz Copper Rutiles'] = ["Rutilated Quartz Copper Rutiles"];
		createOption['Labradorite'] = ["Labradorite"];
		createOption['Chalcedony'] = ["Chalcedony"];
		createOption['Strawberry Qtz'] = ["Strawberry Qtz"];
		createOption['Rutilated Qtz'] = ["Rutilated Qtz"];
		createOption['Chrysophrase'] = ["Chrysophrase"];
		createOption['Smokey Quartz'] = ["Smokey Quartz"];
		createOption['Citrine'] = ["Citrine"];
		createOption['Blue Sapphire'] = ["Blue Sapphire"];
		createOption['Pink Sapphire'] = ["Pink Sapphire"];
		createOption['Peridot'] = ["Peridot"];
		createOption['Diamond'] = ["Diamond"];
		createOption['Garnet'] = ["Garnet"];
		createOption['Amethyst'] = ["Amethyst"];
		createOption['Emerald'] = ["Emerald"];
		createOption['Pearl'] = ["Pearl"];
		createOption['Ruby'] = ["Ruby"];
		createOption['Iolite'] = ["Iolite"];
		createOption['Opal'] = ["Opal"];
		createOption['Citrine'] = ["Citrine"];
		createOption['Turquoise'] = ["Turquoise"];
		createOption['Hematite'] = ["Hematite"];
		createOption['Grey Moonstone'] = ["Grey Moonstone"];
		createOption['Garnet (January)'] = ["Garnet (January)"];
		createOption['Amethyst (February)'] = ["Amethyst (February)"];
		createOption['Aquamarine (March)'] = ["Aquamarine March)"];
		createOption['Diamond (April)'] = ["Diamond (April)"];
		createOption['Emerald (May)'] = ["Emerald (May)"];
		createOption['Pearl (June)'] = ["Pearl (June)"];
		createOption['Ruby (July)'] = ["Ruby (July)"];
		createOption['Peridot (August)'] = ["Peridot (August)"];
		createOption['Iolite (September)'] = ["Iolite (September)"];
		createOption['Opal (October)'] = ["Opal (October)"];
		createOption['Citrine (November)'] = ["Citrine (November)"];
		createOption['Turquoise (December)'] = ["Turquoise (December)"];
		createOption['Lemon Quartz'] = ["Lemon Quartz"];
		// createOption['Attribute Code'] = ["Attribute Prompt"];
		var holdOptions = {};
		for (i=0; i<evaluateOptions.options.length; i++)
			{
			 if (/Moonstone -/i.test(evaluateOptions.options[i].text))
			 // If S is contained in any of the option's value, set holdOptions["S"] to 1. Do the same for all other metals below.
				{
				 holdOptions["Moonstone"] = 1;
				 var qwerty = "1234";
				}
			 if (/Peach Moonstone -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Peach Moonstone"] = 1;
				 var qwerty = "1234";
				}
			 if (/Tourmalinated Quartz -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Tourmalinated Quartz"] = 1;
				 var qwerty = "1234";
				}
			 if (/Aquamarine -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Aquamarine"] = 1;
				 var qwerty = "1234";
				}
			 if (/Rutilated Quartz Copper Rutiles -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Rutilated Quartz Copper Rutiles"] = 1;
				 var qwerty = "1234";
				}
			 if (/Labradorite -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Labradorite"] = 1;
				 var qwerty = "1234";
				}
			 if (/Chalcedony -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Chalcedony"] = 1;
				 var qwerty = "1234";
				}
			 if (/Strawberry Qtz -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Strawberry Qtz"] = 1;
				 var qwerty = "1234";
				}
			 if (/Rutilated Qtz -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Rutilated Qtz"] = 1;
				 var qwerty = "1234";
				}
			 if (/Chrysophrase -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Chrysophrase"] = 1;
				 var qwerty = "1234";
				}
			 if (/Smokey Quartz -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Smokey Quartz"] = 1;
				 var qwerty = "1234";
				}
			 if (/Citrine -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Citrine"] = 1;
				 var qwerty = "1234";
				}
			 if (/Blue Sapphire -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Blue Sapphire"] = 1;
				 var qwerty = "1234";
				}
			 if (/Peridot -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Peridot"] = 1;
				 var qwerty = "1234";
				}
			 if (/Diamond -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Diamond"] = 1;
				 var qwerty = "1234";
				}
			 if (/Pink Sapphire -/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Pink Sapphire"] = 1;
				 var qwerty = "1234";
				}
			 if (/Garnet -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Garnet"] = 1;
				var qwerty = "1234";
				}		
			 if (/Amethyst -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Amethyst"] = 1;
				var qwerty = "1234";
				}
			 if (/Emerald -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Emerald"] = 1;
				var qwerty = "1234";
				}		
			 if (/Pearl -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Pearl"] = 1;
				var qwerty = "1234";
				}		
			 if (/Ruby -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Ruby"] = 1;
				var qwerty = "1234";
				}	
			 if (/Iolite -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Iolite"] = 1;
				var qwerty = "1234";
				}
			 if (/Opal -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Opal"] = 1;
				var qwerty = "1234";
				}
			 if (/Citrine -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Citrine"] = 1;
				var qwerty = "1234";
				}
			 if (/Turquoise -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Turquoise"] = 1;
				var qwerty = "1234";
				}
 			 if (/Hematite -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Hematite"] = 1;
				var qwerty = "1234";
				}
 			if (/Grey Moonstone -/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Grey Moonstone"] = 1;
				var qwerty = "1234";
				}
			if (/Amethyst \(February\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Amethyst (February)"] = 1;
				var qwerty = "1234";
				}
			if (/Garnet \(January\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Garnet (January)"] = 1;
				var qwerty = "1234";
				}
			if (/Aquamarine \(March\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Aquamarine (March)"] = 1;
				var qwerty = "1234";
				}
			if (/Diamond \(April\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Diamond (April)"] = 1;
				var qwerty = "1234";
				}
			if (/Emerald \(May\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Emerald (May)"] = 1;
				var qwerty = "1234";
				}
			if (/Pearl \(June\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Pearl (June)"] = 1;
				var qwerty = "1234";
				}
			if (/Ruby \(July\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Ruby (July)"] = 1;
				var qwerty = "1234";
				}
			if (/Peridot \(August\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Peridot (August)"] = 1;
				var qwerty = "1234";
				}
			if (/Iolite \(September\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Iolite (September)"] = 1;
				var qwerty = "1234";
				}
			if (/Opal \(October\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Opal (October)"] = 1;
				var qwerty = "1234";
				}
			if (/Citrine \(November\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Citrine (November)"] = 1;
				var qwerty = "1234";
				}
			if (/Turquoise \(December\) - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Turquoise (December)"] = 1;
				var qwerty = "1234";
				}
			if (/Lemon Quartz - \w/i.test(evaluateOptions.options[i].text))
				{
				holdOptions["Lemon Quartz"] = 1;
				var qwerty = "1234";
				}
			/*	if (/Option Code/i.test(evaluateOptions.options[i].text))
				{
				 holdOptions["Option Code"] = 1;
				}
		*/
		}
		if (holdOptions['Moonstone'] || holdOptions["Labradorite"] || holdOptions["Rutilated Quartz Copper Rutiles"] || holdOptions["Aquamarine"] || holdOptions["Tourmalinated Quartz"] || holdOptions["Peach Moonstone"] || holdOptions["Chalcedony"] || holdOptions["Strawberry Qtz"] || holdOptions["Rutilated Qtz"] || holdOptions["Chrysophrase"] || holdOptions["Smokey Quartz"] || holdOptions["Citrine"] || holdOptions["Blue Sapphire"] || holdOptions["Peridot"] || holdOptions["Diamond"] || holdOptions["Pink Sapphire"] || holdOptions["Garnet"] || holdOptions["Amethyst"] || holdOptions["Emerald"] || holdOptions["Pearl"] || holdOptions["Ruby"] || holdOptions["Iolite"] || holdOptions["Opal"] || holdOptions["Citrine"] || holdOptions["Citrine"] || holdOptions["Turquoise"] || holdOptions["Hematite"] || holdOptions["Grey Moonstone"] || holdOptions["Amethyst (February)"] || holdOptions["Garnet (January)"] || holdOptions["Aquamarine (March)"] || holdOptions["Diamond (April)"] || holdOptions["Emerald (May)"] || holdOptions["Pearl (June)"] || holdOptions["Ruby (July)"] || holdOptions["Peridot (August)"] || holdOptions["Iolite (September)"] || holdOptions["Opal (October)"] || holdOptions["Citrine (November)"] || holdOptions["Turquoise (December)"] || holdOptions["Lemon Quartz"])
		// to add place additional  || holdOptions['Option Code'] above
			{
			 if (filterType == "Stone") {
				metalHolder.options.length = 1;
				 for (each in holdOptions)
				{
				 var aNewOption = document.createElement('option'); 
			 	 aNewOption.value = each; 
				 aNewOption.appendChild(document.createTextNode(createOption[each][0])); 
			 	 metalHolder.appendChild(aNewOption); 
				} 
			 }
			 else if (filterType == "Metal") {
			 secondOptions.options.length = 1;
			 for (each in holdOptions)
				{
				 var aNewOption = document.createElement('option'); 
			 	 aNewOption.value = each; 
				 aNewOption.appendChild(document.createTextNode(createOption[each][0])); 
			 	 secondOptions.appendChild(aNewOption); 
				}
			}
			}
		}
		if (filterType != "Stone") {
		var createOption = [];
		createOption['S'] = ["Sterling Silver"];
		createOption['G'] = ["14K Gold"];
		createOption['V'] = ["24K Overlay"];
		createOption['B'] = ["Bronze Dore"];
		// createOption['Attribute Code'] = ["Attribute Prompt"];
		var holdOptions = {};
		for (i=0; i<evaluateOptions.options.length; i++)
			{
			 if (/S/i.test(evaluateOptions.options[i].value))
				{
				 holdOptions["S"] = 1;
				}
			 if (/G/i.test(evaluateOptions.options[i].value))
				{
				 holdOptions["G"] = 1;
				}
			 if (/V/i.test(evaluateOptions.options[i].value))
				{
				 holdOptions["V"] = 1;
				}
			 if (/B/i.test(evaluateOptions.options[i].value))
				{
				 holdOptions["B"] = 1;
				}
		/*	if (/Option Code/i.test(evaluateOptions.options[i].value))
				{
				 holdOptions["Option Code"] = 1;
				}
		*/
			}
		if (holdOptions['S'] || holdOptions['G'] || holdOptions['V'] || holdOptions['B'])
		// to add place additional  || holdOptions['Option Code'] above
			{
			 metalHolder.options.length = 1;
			 for (each in holdOptions)
				{
				 var aNewOption = document.createElement('option'); 
			 	 aNewOption.value = each; 
				 aNewOption.appendChild(document.createTextNode(createOption[each][0])); 
			 	 metalHolder.appendChild(aNewOption); 
				}
			}
		}

		metalHolder.onchange = function()
			{
			var currentSel = secondOptions.selectedIndex;
			if (qwerty == "1234") {
				productHolder.style.display = 'none';
				buildMenu();
			}
			else {
				secondOptionsContainer.style.display = 'none';
				optionRequest();
				productHolder.style.display = 'inline';
			}
			if (metalHolder.selectedIndex == 0) {
				secondOptionsContainer.style.display = 'none';
				productHolder.style.display = 'none';
			}
			if (metalHolder.selectedIndex != 0 && qwerty == "1234") {
				if (filterType == "Stone") {
					secondOptionsContainer.style.display = 'none';
					productHolder.style.display = 'inline';
				}
				else {
					secondOptionsContainer.style.display = 'inline';
					var currentSel = secondOptions.selectedIndex;
				}
				optionRequest();
			}
			document.getElementById("S2").selectedIndex = 0;
			productCheck();
			}		
		secondOptions.onchange = function()
			{
			if (secondOptions.selectedIndex == 0) {
				productHolder.style.display = 'none';
			}
			if (secondOptions.selectedIndex != 0) {
					productHolder.style.display = 'inline';
					optionRequest();
			}
			document.getElementById("S2").selectedIndex = 0;
			productCheck();
			}
		
		
	}

	navigator.appName == "Microsoft Internet Explorer" ? attachEvent('onload', sortOptions, false) : addEventListener('load', sortOptions, false);	


function getHttpObject() 
{
		if(window.ActiveXObject)
		{
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest)
		{
			return new XMLHttpRequest();
		}
		else
		{
			alert("Your browser does not support AJAX Web Applications");
			return null;
		}
}

function optionRequest(requestType) {
httpObject = getHttpObject();
	if (httpObject != null)
        {
				jsSrc  = document.getElementById("jsTag").src;
				var jsQry = jsSrc.substr(jsSrc.indexOf("="));
				var prodcode = jsQry.substr(1);
                var optionDropDown = document.getElementById("metalHolder");
                var sIndex = optionDropDown.selectedIndex;
                var optionSelect = optionDropDown[sIndex].value;
                var re = new RegExp("[0-9]", "g");
                var optionSelect = optionSelect.replace(re, "");
				var filterType = optionDropDown.name;
				var secondChoices = document.getElementById("S3");
                var secondsIndex = secondChoices.selectedIndex;
                var secondChoice = secondChoices[secondsIndex].value;
				if (filterType == "Stone") {
				ajaxRequest = "http://www.mignonfaget.com/shop/product-attributes/select-current.php?optionSelect=" + optionSelect + "&prodcode=" + prodcode + "&filterType=" + filterType;
				}
				else {
				ajaxRequest = "http://www.mignonfaget.com/shop/product-attributes/select-current.php?optionSelect=" + optionSelect + "&prodcode=" + prodcode + "&secondChoice=" + secondChoice;
				}
                httpObject.open("GET",ajaxRequest,true);
				httpObject.send(null);
				if (requestType == "two") {
					httpObject.onreadystatechange = setOutputVariant;
				}
				else {
				httpObject.onreadystatechange = setOutput;
				}
	}
}

function setOutput()
{
	if(httpObject.readyState == 4)
	{
		var productSelect = document.getElementById("spanDrop");
        productSelect.innerHTML = httpObject.responseText;
	}
}

function setOutputVariant()
{
	if(httpObject.readyState == 4)
	{
		alert("dope dude");
	}
}

function buildMenu()
{
    var list2 = new Array();
	var metalSelect = document.getElementById("metalHolder")
	var productSelect = document.getElementById("S1");
	var stoneSelect = document.getElementById("S3");
    // wipe out the S3 select except S1 option:
    for ( var o = stoneSelect.options.length-1; o > 0; --o )
    {
        stoneSelect.options[o] = null;
    }
    stoneSelect.options.length = 1;
    var fsel = metalSelect.selectedIndex;
    if ( fsel == 0 ) return; 
    var s1val  = metalSelect.options[fsel].value;
    for ( var t = 0; t < productSelect.options.length; ++t ) 
    {
        var s3val  = productSelect.options[t].value;
        var s3letter = s3val.charAt(s3val.length-1);
        if ( s3letter == s1val ) 
        {
            var s3text = productSelect.options[t].text;
            var s3word = s3text.substr(0, s3text.indexOf(" -"));
            if ( list2[s3word] == null ) 
            {
                list2[s3word] = s3letter;
                stoneSelect.options[stoneSelect.options.length] =
                    new Option(s3word,s3word);
            }
        }
    }
}

function productCheck() {
	var productElement = document.getElementById("S2");
	if (productElement.selectedIndex != 0) {
		document.getElementById("add").disabled = false;
	}
	else {
		document.getElementById("add").disabled = true;
	}
}