function manage_price(for_sale) {
    var price_mandatory = document.getElementById("price_mandatory");
    if (for_sale.value == 'y' || for_sale.value == 'Y') {
        for_sale.form.price.disabled = false;
        price_mandatory.innerHTML = '*';
    } else {
        for_sale.form.price.disabled = true;
        price_mandatory.innerHTML = '';
    }
}

function manage_checkboxes(element) {
    var element = element;
    var the_form = element.form;

    if (element.checked) {
        set_checkboxes(the_form, true);
        return false;
    } else {
        set_checkboxes(the_form, false);
        return false;
    }
}

function set_checkboxes(the_form, set) {
    var items = the_form.elements['items[]'];
    var subitems = the_form.elements['subitems[]'];

    if (items) {
        var items_num = items.length;

        if (items_num) {
            for (var i = 0; i < items_num; i++) {
                items[i].checked = set;
            }
        } else {
            items.checked = set; 
        }
    }

    if (subitems) {
        var subitems_num = subitems.length;

        if (subitems_num) {
            for (var i = 0; i < subitems_num; i++) {
                subitems[i].checked = set;
            }
        } else {
            subitems.checked = set; 
        }
    }

    return true;
}

function count_checkboxes(the_form, element) {
    if (!element) {
        els = new Array('items', 'subitems');
    } else {
        els = new Array(element);
    }

    num_checked=0;
    for(j=0;j<els.length;j++) {
        el = els[j];
        items = the_form.elements[el + '[]'];

        if (items) {
            var items_num = items.length;

            if (items_num) {
                for (var i = 0; i < items_num; i++) {
                    if (items[i].checked) {
                        num_checked=num_checked+1;
                    }
                }
            } else if (items) {
                num_checked = items.checked;
            }
        }
    }

    return num_checked;
}

function send_form_once(formptr, btn, btnCaption, btnClass) {
    var result = 0;
    if (! form_submitted) {
        form_submitted = 1;
        btn.className = btnClass;
        btn.value = btnCaption;
        btn.disabled = true;
        formptr.submit();
        result = 1;
    }
    return result;
}

function show_hide_manual(el) {
    var manual_frame = document.getElementById('manual_method');
    var border_cell = document.getElementById('border_cell');
    var manual_legend = document.getElementById('manual_legend');
    if (el.checked) {
        manual_frame.style.visibility = 'visible';
        border_cell.className = 'border_cell';
        manual_legend.style.visibility = 'visible';
    } else {
        manual_frame.style.visibility = 'hidden';
        border_cell.className = 'border_cell_hidden';
        manual_legend.style.visibility = 'hidden';
    }

    return true;
}

function show_hide_extra_msg(el, type, count, max) {
    var area = document.getElementById(type + '_container');
    if (el.className == type + '_show_all') {
        area.style.display = 'block';
        el.className = type + '_hide_all';
        hide = count-max;
        el.innerHTML = '(Hide the last ' + parseInt(hide) + ' ' + type + 's)';
    } else if(el.className == type + '_hide_all') {
        area.style.display = 'none';
        el.className = type + '_show_all';
        el.innerHTML = '(Show all the ' + count + ' ' + type + 's)';
    }
}

function check_uploded_file(uploaded_files, frm) {
    var importfiles = frm.elements['importfiles[]'];
    var agreefiles = frm.elements['agreefiles[]'];
    var re = new RegExp('^.*(\\\\|/)');
    var re_ = new RegExp('\\.');
    var overwrite_files = '';

    if (!uploaded_files) {
        return true;
    }

    if (importfiles) {
        var importfiles_num = importfiles.length;

        if (importfiles_num) {
            for (var i = 0; i < importfiles_num; i++) {
                if (importfiles[i].value) {
                    filename = importfiles[i].value.replace(re, '');
                    regex_str = filename.replace(re_, '\\.');
                    var re2 = new RegExp(regex_str, 'i');
                    m = re2.exec(uploaded_files);
                    if (m != null) {
                        overwrite_files += m[0] + '\n';
                    }
                }
            }
        }
    }

    if (docfiles) {
        var docfiles_num = docfiles.length;

        if (docfiles_num) {
            for (var i = 0; i < docfiles_num; i++) {
                if (docfiles[i].value) {
                    filename = docfiles[i].value.replace(re, '');
                    regex_str = 'documents/' + filename.replace(re_, '\\.');
                    var re2 = new RegExp(regex_str, 'i');
                    m = re2.exec(uploaded_files);
                    if (m != null) {
                        overwrite_files += m[0] + '\n';
                    }
                }
            }
        }
    }

    if (agreefiles) {
        var agreefiles_num = agreefiles.length;

        if (agreefiles_num) {
            for (var i = 0; i < agreefiles_num; i++) {
                if (agreefiles[i].value) {
                    filename = agreefiles[i].value.replace(re, '');
                    regex_str = 'agreements/' + filename.replace(re_, '\\.');
                    var re2 = new RegExp(regex_str, 'i');
                    m = re2.exec(uploaded_files);
                    if (m != null) {
                        overwrite_files += m[0] + '\n';
                    }
                }
            }
        }
    }

    if (overwrite_files) {
        return confirm('The following files are already uploaded:\n' + overwrite_files + '\nAre you sure you want to overwrite them?\n*If you do not want to overwrite them, please press \'Cancel\' and deselect them.');
    } else {
        return true;
    }
    return false;
}

function getZipCode(zip) {
  if (zip == '...') {
    $('zipcode').value = '';
  } else {
    var hidden = zip.innerHTML.replace(/.*<span style="display: none;*">(.*)<\/span>/i, '$1'); 
    var vars = hidden.split('|');
    $('zipcode_id').value = vars[0];
    $('zipcode').value = vars[1]; 

    if ($('city')) {
      $('city').value = vars[2];
    }
    if ($('city_content')) {
      $('city_content').innerHTML = vars[2];
    }

    if ($('state')) {
      $('state').value = vars[3];
    }
    if ($('state_content')) {
      $('state_content').innerHTML = vars[3];
    }
  }
}
