/**
 *  set the hidden contribution values
 *  into the CEcontribute object
 *  Notice: this funtion is hard coupled with
 *  CEcontribute.php
 *  see: core/classes/ceForms/CEcontribute.php
 */
function setHiddenContFields(formElement) {
    var mainForm = $(formElement);
    var hiddenElements = mainForm.getInputs('hidden');
    var amountForm = $('amountForm');
    if (amountForm != null) {
        var radioElements = amountForm.getInputs('radio');
        var isContribution = true;
    };

    for (var i=0; i < hiddenElements.length; i++) {
        
        var currentElement = hiddenElements[i];
        var currentName = currentElement.name;
        
        if (currentName == "cc_type_h") {
            currentElement.value = $('cc_type').value;
        } else if (currentName == "cc_number_h") {
            currentElement.value = $('cc_number').value;
        } else if (currentName == "ex_month_h") {
            currentElement.value = $('ex_month').value;
        } else if (currentName == "ex_year_h") {
            currentElement.value = $('ex_year').value;
        } else if (currentName == "sec_code_h") {
            currentElement.value = $('sec_code').value;
        } else if (currentName == "agreement_accepted_h") {
            if ($('agreement_accepted').checked) {
                currentElement.value = 1;
            } else {
                currentElement.value = "";
            };
        } else if ((currentName == "cont_amount_h") && isContribution) {
            for (var x=0; x < radioElements.length; x++) {
                if ((radioElements[x].name == "cont_amount") && radioElements[x].checked) {
                    if (radioElements[x].value == "other") {
                        currentElement.value = $('other').value;
                    } else {
                        currentElement.value = radioElements[x].value;                                                
                    };
                }; 
            };
        } else if ((currentName == "cont_type_h") && isContribution) {
            for (var y=0; y < radioElements.length; y++) {
                if ((radioElements[y].name == "cont_type") && radioElements[y].checked) {
                    currentElement.value = radioElements[y].value;
                };
            };
        }else if ((currentName == "cont_time_h") && isContribution) {
            currentElement.value = $('recurrent_combo').value;
        } else {};
    };
    
    mainForm.submit();
}

function startWatching(element) {
    var watchedEl = $('process_button');
    var mainForm = $(element);
    Event.observe(watchedEl, 'clic', setHiddenContFields(mainForm));    
}

function fillContributionForm(formId) {
    var mainForm = $(formId);
    if (mainForm != null) {
        var inputs = mainForm.getInputs("text");
        
        for (var i=0; i < inputs.length; i++) {
            var item = inputs[i];
            var data = ""; 
            if (item.name == "firstname") {
                data = "Roberto";
                item.value = data;
            } else if (item.name == "lastname") {
                data = "Esmit";
                item.value = data;
            } else if (item.name == "address1") {
                data = "Close road #23";
                item.value = data;
            } else if (item.name == "city") {
                data = "Rupture";
                item.value = data;
            } else if (item.name == "postcode") {
                data = "98333";
                item.value = data;
            } else if (item.name == "email_address") {
                data = "jgutierrez@quarksoft.net";
                item.value = data;
            } else if (item.name == "home_phone") {
                data = "5557665432";
                item.value = data;
            } else if (item.name == "occupation") {
                data = "musician";
                item.value = data;
            } else if (item.name == "employer") {
                data = "self employed";
                item.value = data;
            }
        };
    } else {
        alert('no form with the id' + formId);
    };
}
