/***** SIDE NAV STUFF *****/

function toggleSubsection(sectionID) {
    var elemArrow, elemSubsection;
    if (document.getElementById) {
        elemArrow = document.getElementById(sectionID + "_img");
        elemSubsection = document.getElementById(sectionID + "_sub");
    } else if (document.all) {
        elemArrow = document.all[sectionID + "_img"];
        elemSubsection = document.all[sectionID + "_sub"];
    } else if (document.layers) {
        elemArrow = document.layers[sectionID + "_img"];
        elemSubsection = document.layers[sectionID + "_sub"];
    }

    if ((elemArrow != null) && (elemSubsection != null)) {
        if (elemSubsection.style.display == 'block') {
            elemArrow.src = "http://www.simpaddico.com/cashews/img/arrow_r.png";
            elemSubsection.style.display = 'none';
        } else {
            elemArrow.src = "http://www.simpaddico.com/cashews/img/arrow_d.png";
            elemSubsection.style.display = 'block';
        }
    }

}

/***** CONTENT RETRIEVAL STUFF *****/

function getContent(contentID) {
    var elemContentPane, httpRequest;
    
    if (document.getElementById)
        elemContentPane = document.getElementById("content_pane");
    else if (document.all)
        elemContentPane = document.all["content_pane"];
    else if (document.layers)
        elemContentPane = document.layers["content_pane"];

    if (elemContentPane != null) {
        if (XMLHttpRequest)
            httpRequest = new XMLHttpRequest();
        else if (ActiveXObject)
            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");    
            
        if (httpRequest) {
            httpRequest.onreadystatechange = 
                function() {
                    if (httpRequest.readyState == 4)
                        if (httpRequest.status == 200) {
                            elemContentPane.innerHTML = httpRequest.responseText;
                            return true;
                        } else
                            elemContentPane.innerHTML = "uh oh, an error occured while attempting to retrieve the content you requested.";       
                };  
            
            elemContentPane.innerHTML = "<center><b>loading...</b><p><img src=\"http://www.simpaddico.com/cashews/img/loading.gif\" width=\"24\" height=\"24\" alt=\"loading...\"></center>";
            httpRequest.open("GET", ((document.location.href.indexOf('http://www.simpaddico.com') == 0) ? "http://www.simpaddico.com/cashews/engine.php?mod=" : "http://simpaddico.com/cashews/engine.php?mod=") + contentID, true);
            httpRequest.send(null);
        } else
            elemContentPane.innerHTML = "uh oh, your browser does not support our website.";
    }
}

/***** CONTACT FORM STUFF *****/

function didSubmit() {
    var isOK = true;
    
    var elemFormBox;
    if (document.getElementById)
        elemFormBox = document.getElementById('contact_form_box');
    else if (document.all)
        elemFormBox = document.all['contact_form_box'];
    else if (document.layers)
        elemFormBox = document.layers['contact_form_box'];
           
           
    frmElem_isOK(document.forms.contact_form.contact_name);
    frmElem_isOK(document.forms.contact_form.contact_email);
    frmElem_isOK(document.forms.contact_form.contact_subject);
    frmElem_isOK(document.forms.contact_form.contact_body);
    
    if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.forms.contact_form.contact_email.value)) { frmElem_isError(document.forms.contact_form.contact_email, "^ please enter a valid e-mail address"); isOK = false; };
    if (document.forms.contact_form.contact_name.value == "") { frmElem_isError(document.forms.contact_form.contact_name, "^ please enter your name"); isOK = false; };
    if (document.forms.contact_form.contact_email.value == "") { frmElem_isError(document.forms.contact_form.contact_email, "^ please enter your e-mail address"); isOK = false; };
    if (document.forms.contact_form.contact_subject.value == "") { frmElem_isError(document.forms.contact_form.contact_subject, "^ please enter a subject for your message"); isOK = false; };
    if (document.forms.contact_form.contact_body.value == "") { frmElem_isError(document.forms.contact_form.contact_body, "^ please enter your message"); isOK = false; };
    
    if (isOK) {
        var httpRequest, formData;
        
        if (XMLHttpRequest)
            httpRequest = new XMLHttpRequest();
        else if (ActiveXObject)
            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");    
            
        if (httpRequest) {
            formData = "name="+document.forms.contact_form.contact_name.value+
                        "&email="+document.forms.contact_form.contact_email.value+
                        "&subject="+document.forms.contact_form.contact_subject.value+
                        "&body="+document.forms.contact_form.contact_body.value;
            httpRequest.onreadystatechange = 
                function() {
                    if (httpRequest.readyState == 4)
                        if (httpRequest.status == 200) {
                            elemFormBox.innerHTML = "your message has been sent! we will get back to you as soon as possible.";
                            return true;
                        } else
                            elemFormBox.innerHTML = "uh oh, an error occured while attempting to send your message. please send us an e-mail at info [at] simpaddico.com.";       
                };  
            
            elemFormBox.innerHTML = "<center><b>sending your message...</b><p><img src=\"http://www.simpaddico.com/cashews/img/loading.gif\" width=\"24\" height=\"24\" alt=\"sending your message...\"></center>";
            httpRequest.open("POST", ((document.location.href.indexOf('http://www.simpaddico.com') == 0) ? "http://www.simpaddico.com/cashews/email.php" : "http://simpaddico.com/cashews/email.php"), true);
            httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            httpRequest.setRequestHeader("Content-length", formData.length);
            httpRequest.setRequestHeader("Connection", "close");
            httpRequest.send(formData);
            
        } else
            elemFormBox.innerHTML = "uh oh, your browser does not support our message form. please send us an e-mail at info [at] simpaddico.com.";
    }
            
    return isOK;
}

function didClear() {
    document.forms.contact_form.contact_name.value = "";
    document.forms.contact_form.contact_email.value = "";
    document.forms.contact_form.contact_subject.value = "";
    document.forms.contact_form.contact_body.value = "";
    
    frmElem_isOK(document.forms.contact_form.contact_name);
    frmElem_isOK(document.forms.contact_form.contact_email);
    frmElem_isOK(document.forms.contact_form.contact_subject);
    frmElem_isOK(document.forms.contact_form.contact_body);
    
    return true;
}

function frmElem_isError(frmElement, errMsg) {
    frmElement.style.borderColor = "#ff0000";
    
    var elemError, elemText, elem;
   
    elem = (frmElement.id.charAt(frmElement.id.length - 2) == "_") ? frmElement.id.substr(0, frmElement.id.length - 2) : frmElement.id;
    
    if (document.getElementById) {
        elemError = document.getElementById(elem + "_error");
        elemText = document.getElementById(elem + "_error_text");
    } else if (document.all) {
        elemError = document.all[elem + "_error"];
        elemText = document.all[elem + "_error_text"];
    } else if (document.layers) {
        elemError = document.layers[elem + "_error"];
        elemText = document.layers[elem + "_error_text"];
    }
        
    if (elemError != null) {
        elemError.style.display = 'inline';
        if (errMsg != "")
            elemText.innerHTML = errMsg;
    }
}

function frmElem_isOK(frmElement) {
    frmElement.style.borderColor = "#000000";

    var elemError, elemText, elem;
    elem = (frmElement.id.charAt(frmElement.id.length - 2) == "_") ? frmElement.id.substr(0, frmElement.id.length - 2) : frmElement.id;

    if (document.getElementById) {
        elemError = document.getElementById(elem + "_error");
        elemText = document.getElementById(elem + "_error_text");
    } else if (document.all) {
        elemError = document.all[elem + "_error"];
        elemText = document.all[elem + "_error_text"];
    } else if (document.layers) {
        elemError = document.layers[elem + "_error"];
        elemText = document.layers[elem + "_error_text"];
    }
        
    if (elemError != null) {
        elemError.style.display = 'none';
        elemText.innerHTML = "";    
    }
}

