function process_ndb_photo() {
    if (location.pathname.match(/cgi-bin/) && !window.sbPreview) {
        unhide_widgets();       
    }
}

function process_ndb_profile() {
    relocate_name();
    hide_dating_for_minors();
    
    // edit mode
    if (location.pathname.match(/cgi-bin/) && !window.sbPreview) {
        unhide_widgets();       
    }
    
    // view mode
    else {
        append_viewer_regno();
    }
}
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
        var end = document.cookie.indexOf(";", begin);
        if (end == -1)
        end = dc.length;
        return unescape(dc.substring(begin + prefix.length, end));
    }
}

function unhide_widgets() {
    var spans = document.getElementsByTagName('SPAN');
    for (i in spans) {
        var id = spans[i].id;
        if (id && id.match(/_wrapper$/i)) {
            spans[i].style.display = '';
        }
    }
}


function append_viewer_regno() {
    var viewer_regno = getCookie('ndb_viewer_regno');
    var viewer_hash = getCookie('ndb_viewer_hash');
    if (viewer_regno && viewer_hash) {
        var send_msg = document.getElementById('ndb_send_message');
        if (send_msg) send_msg.href += '&c=' + viewer_regno + '&c1=' + viewer_regno + '&h=' + viewer_hash;
        var address_book = document.getElementById('ndb_address_book');
        if (address_book) address_book.href += '&c=' + viewer_regno;
    }
}

// move the name above the profile photo and basic profile info
function relocate_name() {
    var sobj = document.getElementById('name_wrapper');
    var tobj = document.getElementById('name_trg');
    if(tobj && sobj) {
        tobj.innerHTML = sobj.innerHTML;
        sobj.parentNode.removeChild(sobj);
    }
}

function hide_dating_elements(els) {
    for (var i = 0; i < els.length; i++) {
        var e = els[i];
        if (e.className && e.className.match(/edit_text_4/)) {
            e.style.display = 'none';
        }
    }
}

function hide_dating_for_minors() {
    var age_range = document.getElementById('age_range');
    if (age_range) {
        var age_start = age_range.innerHTML.replace( /^.*Age\s+(\d+).*$/gi, "$1" );
        if (age_start < 18) {
            hide_dating_elements(document.getElementsByTagName('DIV'));
            hide_dating_elements(document.getElementsByTagName('A'));
            var wrapper =  document.getElementById('profile_dating_wrapper');
            if (wrapper) { wrapper.style.display='none'; }
        }
    }
}
