document.documentElement.className = 'jsEnabled_acctSelect_demo';

$(document).ready(function(){
	//reset all elements   
    fn_resetAll();

	$("select.parentSel").change(function(){
		var currAcct = $(this).closest("div.accountBox");
        var selected = $(this).children("option:selected");
        var selectedValue = selected.attr("value");
		var sLists = $(currAcct).find("select.sList");
		
	//add "curr" class to current elements, remove from all else   
		fn_removeAllCurr();
        $(this).addClass("curr");
		$(sLists).addClass("tier2");
		
       if (selectedValue == "") {
           fn_resetOthers();
        }
	//if value not empty, show sList tier2
       else {
		   fn_resetOthers();
		   //if only one sList, show it
			if (sLists.length == 1) {
				$(sLists).addClass("curr").show();	
				$(sLists).not(".curr").hide();
			}
		   //if more than one sList, filter correct one
			else if (sLists.length > 1) {
				currAcct = $(currAcct).attr("id").slice(4);
				if (currAcct == "CFD") {
					switch (selectedValue){
						case("United States"):	
							$(sLists).filter(".US").addClass("curr").show();
							$(sLists).not(".curr").hide();
							break;
						default:
							$(sLists).filter(".default").addClass("curr").show();
							$(sLists).not(".curr").hide();
					}
				}
			}
        }
	});
		
	$("select.sList").change(function(){
        selected = $(this).children("option:selected");
        selectedValue = selected.attr("value");
		currAcct = $(this).closest("div.accountBox");
        var selectedClass = selected.attr("class");
        var selectedURL = selected.attr("name");
       
        var currDisclaimer = "undefined";
        var currURL = "undefined";
        var defaultURL = $(this).children("option:first-child").attr("name");
		var theParentSel = $(currAcct).find("select.parentSel");
		
	//set currDisclaimer       
        switch (selectedClass) {
            case ("null"):   
            case ("undefined"):   
            case ("default"):   
                var currDisclaimer = "undefined";
                break;
           
            case(""):
                currDisclaimer = "default";
                break;
               
            default:
                currDisclaimer = selectedClass;
        }
	
	//set currURL       
        switch (selectedURL) {
            case ("undefined"):
            case (undefined):
            case (""):
                currURL = defaultURL;
                break;
               
            default:
                currURL = selectedURL;
        }
	//add "curr" class to current elements, remove from all else   
		fn_removeAllCurr();
		$(this).addClass("curr");
		
		if ($(this).hasClass("tier2")){
			$(theParentSel).addClass("curr");
		}
		else {
			$("select.tier2").removeClass("tier2").removeClass("curr").hide();	
		}
	//reset all other elements   
		fn_resetOthers();
		
	//display disclaimers and buttons
       if (selectedValue == "") {
            $("div.sNotify").children("div").hide();
        }
        else {
            $(currAcct).find("div.sNotify").addClass("curr").children("div." + currDisclaimer).show();
            $(currAcct).find("div.sNotify").children("div.sBtn").show().children("a").attr("href", currURL); 
        }
    });
});


//Functions:
function fn_resetAll(){
	$("select.parentSel").attr("selectedIndex", 0).removeClass("curr");
	$("select.parentSel").next("select.sList").removeClass("curr").hide();
	$("select.sList").attr("selectedIndex", 0).removeClass("curr");
	$("div.sNotify").removeClass("curr").children("div").hide();
}
function fn_removeAllCurr(){
	$("select.parentSel").removeClass("curr");
	$("select.sList").removeClass("curr");
	$("div.sNotify").removeClass("curr");
}
function fn_resetOthers(){
	$("select.parentSel").not(".curr").attr("selectedIndex", 0);
	$("select.sList").not(".curr").attr("selectedIndex", 0);
	$("select.tier2").not(".curr").hide();
	$("div.sNotify").not(".curr").children("div").hide();	
}

/*
==========
Usage:
==========
1. put class "default" on first list item, which holds the default URL

2. put [  name="URL.jsp"  ] inside any list item that requires a URL different from that account box's default.

3. for list item requiring a disclaimer, add any classname to list item, and the SAME classname to the corresponding disclaimer div.
	(If the country list item is duplicated in the same form, be sure to put the same classname and URL on all instances)

==> PLEASE NOTE... If there are 2 or more countries that require the same URL or DISCLAIMER, or if the country item is duplicated in the same form, be sure to put the same classname and URL on EACH instance.

4. put class "null" on any list item used as a divider etc (ie "------")

5. If you require a box with an always-visible button and no select box, remove "a.btn-submit-small" from its containing div ("div.sBtn").
==========
*/