function setFaq(){
    hideAll('faqText');
    activeFaq = "";
    var a = document.getElementById("faqs").getElementsByTagName("h2")
    for(i=0; i<a.length; i++){
        var str = a[i].firstChild.nodeValue;
        var lnk = "<a id=\"flink" + i +"\"  href='javascript:showFaq("+ i + ")'>" + str + "</a>";
        a[i].innerHTML = lnk;
    }
    
}
var activeFaq = ""
function showFaq(fid){
    hideAll('faqText');
    var str = "flink" + fid;
    if (activeFaq == str){
        document.getElementById(activeFaq).style.color = '#FF7702';
        activeFaq = "";
    }
    else{
        if (document.getElementById(activeFaq) != null){
            document.getElementById(activeFaq).style.color = '#FF7702';
            activeFaq = "";
        }
        activeFaq = str;
        document.getElementById(str).style.color = '#6696FF';
        str = "faqText" + fid;
        show(str);
        
    }
}
function hideAll(lyrId) { 
    var divs = document.getElementsByTagName('div'); 
    for(i=0;i<divs.length;i++){ 
        if(divs[i].id.match(lyrId)){
            divs[i].style.display='none';
        } 
    } 
}
function show(lyrId) {
    document.getElementById(lyrId).style.display='block';
}
sfHover = function() {
    var sfEls = document.getElementById("quickLinks").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

/*
sfHover2 = function() {
    var sfEls = document.getElementById("lang-box").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover2";
        }
        sfEls[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" sfhover2\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", sfHover2);
*/

// Affiliation form validation routines;

    var affShowCount = 1;
    var tdivToShow;
    function showAnotherAffiliate()
    {
        //Check data ok before opening new
        if(!verifyAfilliate(affShowCount))
        {
            return false;
        }
        affShowCount++;
        tdivToShow = document.getElementById("addaff_" + affShowCount);
        if(tdivToShow){
            tdivToShow.style.display = "block";                
        }            
        else{
            alert("You cannot add more than 10 affiliates at a time.");
        }        
        ShowHideDeleteButton();
    }
    function deleteLastAffiliate()
    {
        tdivToShow = document.getElementById("addaff_" + affShowCount);
        if(tdivToShow){
            blankAfilliate(affShowCount);
            tdivToShow.style.display = "none";                
            affShowCount--;
        }
        ShowHideDeleteButton();
    }
    function ShowHideDeleteButton()
    {
        if(affShowCount > 1){
            document.getElementById("btnDeleteAnother").style.display = "block";
        }
        else{
            document.getElementById("btnDeleteAnother").style.display = "none";
        }        
    }
    function _validateFormSubmit()
    {            
        //Validate consultant and sumbitter rest of form
        var fields = new Array(13)
        fields[0] = new Array("strTitle", "Consultant Title", "ddl");    
        fields[1] = new Array("strFirstName", "Consultant First Name", "text");
        fields[2] = new Array("strLastName", "Consultant Last Name", "text");
        fields[3] = new Array("strAddress1", "Consultant Address Line 1", "text");
        fields[4] = new Array("strCity", "Consultant City", "text");
        fields[5] = new Array("strStateCounty", "Consultant State", "text");
        fields[6] = new Array("strZipPostal", "Consultant ZIP", "text");    
        fields[7] = new Array("strCountry", "Consultant Country", "ddl");        
        fields[8] = new Array("strSubmitTitle", "Submitted by Title", "ddl");                
        fields[9] = new Array("strSubmitFirstName", "Submitted by First Name", "text");
        fields[10] = new Array("strSubmitLastName", "Submitted by Last Name", "text");
        fields[11] = new Array("strSubmitEmailAddress", "Submitted by Email", "text");
        fields[12] = new Array("strSubmitCountry", "Submitted by Country", "ddl");        
        var fieldIsValid = false;
        var field, erroMsg;
        for (i=0; i<=12; i++){
            field = document.getElementById(fields[i][0]);
            erroMsg = fields[i][1] + " required.";
            if(fields[i][2] == "text"){
                fieldIsValid = validateTextfield(field, erroMsg);
            }
            else{
                fieldIsValid = validateDropdownfield(field, erroMsg);
            }
            if(!fieldIsValid)
            {
                return fieldIsValid; //False, stop and alert user
            }
        }            
        
        //Verify the first affiliate if only one
        if(affShowCount == 1){
            if(!verifyAfilliate(affShowCount)){
                return false;
            }
        }
        field = document.getElementById("strSubmitEmailAddress");
        if(!IsEmail(field.value))
        {
            alert("Invalid email address");
            field.focus();
            return false;
        }
        return true;
    }
    function _verifyAfilliate(affIndex)
    {
        var fields = new Array(6)
        fields[0] = new Array("strAffiliateName_", "Affiliate Name", "text");
        fields[1] = new Array("strAffiliateAddress1_", "Affiliate Address Line 1", "text");
        fields[2] = new Array("strAffiliateCity_", "Affiliate City", "text");
        fields[3] = new Array("strAffiliateStateCounty_", "Affiliate State", "text");
        fields[4] = new Array("strAffiliateZipPostal_", "Affiliate ZIP", "text");
        fields[5] = new Array("strAffiliateCountry_", "Affiliate Country", "ddl");        
        
        
        var fieldIsValid = false;
        var field, erroMsg;
        for (i=0; i <=5; i++){
            field = document.getElementById(fields[i][0] + affIndex);
            erroMsg = fields[i][1] + " required for affiliate " + affIndex + ".";
            if(fields[i][2] == "text"){
                fieldIsValid = validateTextfield(field, erroMsg);
            }
            else{
                fieldIsValid = validateDropdownfield(field, erroMsg);
            }
            if(!fieldIsValid)
            {
                return fieldIsValid; //False, stop and alert user
            }
        }
        return true;
    }
    function blankAfilliate(affIndex)
    {        
        var fields = new Array(6)
        fields[0] = new Array("strAffiliateName", "text");
        fields[1] = new Array("strAffiliateAddress1", "text");
        fields[2] = new Array("strAffiliateCity", "text");
        fields[3] = new Array("strAffiliateStateCounty", "text");
        fields[4] = new Array("strAffiliateZipPostal", "text");
        fields[5] = new Array("strAffiliateCountry", "ddl");        
                    
        var field;
        for (i=0; i <=5; i++){
            field = document.getElementsByName(fields[i][0])[affIndex-1];
            if(fields[i][1] == "text"){
                field.value = "";
            }
            else{
                field.selectedIndex = 0;                    
            }
        }
    }
    function ValidateFormSubmit()
    {            
        //Verify the last affiliate added:
        if(!verifyAfilliate(affShowCount)){
            return false;
        }
        //Validate consultant and sumbitter rest of form
        var fields = new Array(13)
        fields[0] = new Array("strTitle", "Consultant Title", "ddl");    
        fields[1] = new Array("strFirstName", "Consultant First Name", "text");
        fields[2] = new Array("strLastName", "Consultant Last Name", "text");
        fields[3] = new Array("strAddress1", "Consultant Address Line 1", "text");
        fields[4] = new Array("strCity", "Consultant City", "text");
        fields[5] = new Array("strStateCounty", "Consultant State", "text");
        fields[6] = new Array("strZipPostal", "Consultant ZIP", "text");    
        fields[7] = new Array("strCountry", "Consultant Country", "ddl");        
        fields[8] = new Array("strSubmitTitle", "Submitted by Title", "ddl");                
        fields[9] = new Array("strSubmitFirstName", "Submitted by First Name", "text");
        fields[10] = new Array("strSubmitLastName", "Submitted by Last Name", "text");
        fields[11] = new Array("strSubmitEmailAddress", "Submitted by Email", "text");
        fields[12] = new Array("strSubmitCountry", "Submitted by Country", "ddl");        
        var fieldIsValid = false;
        var field, erroMsg;
        for (i=0; i<=12; i++){
            field = document.getElementById(fields[i][0]);
            erroMsg = fields[i][1] + " required.";
            if(fields[i][2] == "text"){
                fieldIsValid = validateTextfield(field, erroMsg);
            }
            else{
                fieldIsValid = validateDropdownfield(field, erroMsg);
            }
            if(!fieldIsValid)
            {
                return fieldIsValid; //False, stop and alert user
            }
        }            
        
        field = document.getElementById("strSubmitEmailAddress");
        if(!IsEmail(field.value))
        {
            alert("Invalid email address");
            field.focus();
            return false;
        }
        return true;
    }
    function verifyAfilliate(affIndex)
    {
        var fields = new Array(6)
        fields[0] = new Array("strAffiliateName", "Affiliate Name", "text");
        fields[1] = new Array("strAffiliateAddress1", "Affiliate Address Line 1", "text");
        fields[2] = new Array("strAffiliateCity", "Affiliate City", "text");
        fields[3] = new Array("strAffiliateStateCounty", "Affiliate State", "text");
        fields[4] = new Array("strAffiliateZipPostal", "Affiliate ZIP", "text");
        fields[5] = new Array("strAffiliateCountry", "Affiliate Country", "ddl");        
        
        var fieldIsValid = false;
        var field, erroMsg;
        for (i=0; i <=5; i++){
            field = document.getElementsByName(fields[i][0])[affIndex-1];
            erroMsg = fields[i][1] + " required for affiliate " + affIndex + ".";
            if(fields[i][2] == "text"){
                fieldIsValid = validateTextfield(field, erroMsg);
            }
            else{
                fieldIsValid = validateDropdownfield(field, erroMsg);
            }
            if(!fieldIsValid)
            {
                return fieldIsValid; //False, stop and alert user
            }
        }
        return true;
    }
    function validateTextfield(obj, errMessage)
    {
        if( obj.value.length == 0 || obj.value == "0" ) {
            alert(errMessage);
            obj.focus();
            return false;
        }            
        return true;
    }
    function validateDropdownfield(ddl, errorMessage)
    {
        if(getDropDownValue(ddl) == 0)
        {
            alert(errorMessage);
            ddl.focus();
            return false;            
        }    
        return true;
    }
    function getDropDownValue(dd)
    {
        if(dd)
        {
            return dd.options[dd.selectedIndex].value;
        }
    }
    function IsEmail(aTextField) 
    {
        var s = aTextField;
        var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
        // .xxxyyy allowed;
        var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{1,6}|[0-9]{1,6})(\\]?)$");
        return (!r1.test(s) && r2.test(s));
    }