function display_rs(rs_data, max_rs_squares) {
    var rs_str = '';
    rs_str += '<table width="100%" cellpadding="0" cellspacing="0" class="bgPink">';
    for (var i = 0; i < 8; i++) {
        var display_class = 'border_bottom_white';
        if( i == 0 ) { 
            display_class = 'topCategoryLeft border_bottom_white'; }
        else if(i == 7) {
            display_class = 'bottomCategoryLeft';
        }
        var rs_crt = '<tr><td class="height_47 bgPink ' + display_class + '">';
        rs_crt += '<a href="' + rs_data[i].href_url + '" onmouseout="window.status=\'\'" onmouseover="window.status=\'' + rs_data[i].term.replace(/'/g, "\\'") +'\'; return true;">' + rs_data[i].term + '</a>';
        rs_crt += '</td></tr>';
        rs_str += rs_crt;
    }
    rs_str += '</table>';
    document.getElementById('rs_container').innerHTML = rs_str;
    // document.getElementById('rs_container').style.display = 'block';
    
    var cat_str = '';
    cat_str += '<ul>';
    for (var i = 0; i < max_rs_squares; i++) {
        var cat_crt = '<li class="bgRelatedSearch' + (i + 1) + '"><a href="' + rs_data[i].href_url + '" onmouseout="window.status=\'\'" onmouseover="window.status=\'' + rs_data[i].term.replace(/'/g, "\\'") +'\'; return true;">' + rs_data[i].term + '</a></li>';
        cat_str += cat_crt;
    }
    cat_str += '</ul>';
    document.getElementById('cat_container').innerHTML = cat_str;
    // document.getElementById('cat_container').style.display = 'block';
}

function set_sb_tokens() {
    if(token) {
        // document.getElementById('ltk').value = token;
        document.forms.frm_rs_search.ltk.value = token;
    }
    if(search_token) {
        // document.getElementById('stk').value = search_token;
        document.forms.frm_rs_search.stk.value = search_token;
    }
}

function get_ad_ratings(ad) {
    var ad_extensions = '';
    if (typeof(ad.seller_ratings) != 'undefined') {
        var seller_rating = ad.seller_ratings;
        ad_extensions += '<div class="ad_rating">';
        ad_extensions += '<div class="ad_rating_text">' + seller_rating.advertiser_info + '</div>';
        for (var j=0; j < 5; j++) {
            var star = 'e';
            if (seller_rating.rating > 0) {
                if (seller_rating.rating >= 1) {
                star = 'f';
                } else {
                star = 'p';
                }
            }
            seller_rating.rating--;
            ad_extensions += '<div class="ad_rating_star' + star + '"></div>';
        }
        ad_extensions += ' (<a href="' + seller_rating.source_url + '" target="_blank">' + seller_rating.review_count + '</a>)';
        ad_extensions += '<div class="clearlr"></div>';
        ad_extensions += '</div>';
    }
    return ad_extensions;
}

function get_ad_sitelinks(ad) {
    var ad_extensions = '';
    if (typeof(ad.sitelinks) != 'undefined') {
        ad_extensions += '<div class="ad_sitelinks">';
        var ad_sitelinks = new Array('', '');
        for (var j=0; j < ad.sitelinks.length; j++) {
            var sitelink = ad.sitelinks[j];
            ad_sitelinks[j % 2] += '<a href="' + sitelink.catcher_url + '" target="_blank">' + sitelink.link_text + '</a><br />';
        }
        ad_extensions += '<div class="sitelinks_col1">' + ad_sitelinks[0] + '</div>';
        ad_extensions += '<div class="sitelinks_col2">' + ad_sitelinks[1] + '</div>';
        ad_extensions += '<div class="clearlr"></div>';
        ad_extensions += '</div>';
    }
    return ad_extensions;
}

function display_ads(google_ads_array,iba_url,is_ads_repeat) {
    var ads_string = '';
    for (var i = 0; i < google_ads_array.length; i++) {
        
        var start_li = '<li>';
        var end_li = '</li>';
        
        var ad_title = '<div><a class="title blue" href="' + google_ads_array[i].catcher_url + '" target="_blank">' + google_ads_array[i].ad_title + '</a></div>';
        var ad_link = '<a id="a' + (i + 1) + '" class="link green" href="' + google_ads_array[i].catcher_url + '" target="_blank">' + google_ads_array[i].visible_url + '</a>';
        var ad_description = '<p>';
        if (typeof(ad_format) != 'undefined' && ad_format == 2) {
            ad_description += '<span class="ad_urlline">' + ad_link + '</span>';
            ad_link = '';
        }
        ad_description  += google_ads_array[i].ad_description + '</p>'; 
        var ad_ratings = get_ad_ratings(google_ads_array[i]);
        var ad_sitelinks = get_ad_sitelinks(google_ads_array[i]);
        ads_string += start_li + ad_title + ad_description + ad_ratings + ad_link + ad_sitelinks + end_li;
    }
    
    // display
    if(is_ads_repeat) { 
        target_ads = 'ads_repeat';
    }
    else {
        target_ads = 'ads';
    }

    var target_ads_container = target_ads + '_container';
    var target_ads_title = target_ads + '_title';

    document.getElementById(target_ads_container).innerHTML  = ads_string;
    if(iba_url) {
        var sponsored_label = document.getElementById(target_ads_title).innerHTML;
        document.getElementById(target_ads_title).innerHTML = '<a href="' + iba_url + '" target="_blank">' + sponsored_label + '</a>';
    }
    document.getElementById(target_ads).style.display = 'block';
}

function display_ws(google_ws_array) {
    if(google_ws_array.length > 0) {
        var ws_string = '';
        for (var i = 0; i < google_ws_array.length; i++) {
            var start_li = '<li>';
            var end_li = '</li>';
                    
            var ws_title = '<a class="title blue" href="' + google_ws_array[i].ws_url + '" target="_blank">' + google_ws_array[i].ws_title + '</a>';
            var ws_description = '<p>' + google_ws_array[i].ws_description + '</p>';
            var ws_link = '<a class="link green" href="' + google_ws_array[i].ws_url + '" target="_blank">' + google_ws_array[i].ws_url + '</a>';
            
            ws_string += start_li + ws_title + ws_description + ws_link + end_li;
        }
        // display
        document.getElementById("web_container").innerHTML  = ws_string;
    }

    document.getElementById("web").style.display = 'block';
}

function display_portal(rs_data) {
    var pc_string = '';
    pc_string += '<table width="100%" cellpadding="0" cellspacing="0" class="bgGrey">';
    for (var i = 8; i < 16; i++) {
        var display_class = 'border_bottom_white';
        if( i == 8 ) { 
            display_class = 'topCategoryRight border_bottom_white'; }
        else if(i == 15) {
            display_class = 'bottomCategoryRight';
        }
        var pc_crt = '<tr><td class="height_47 bgGrey ' + display_class + '">';
        pc_crt += '<a href="' + rs_data[i].href_url + '" onmouseout="window.status=\'\'" onmouseover="window.status=\'' + rs_data[i].term.replace(/'/g, "\\'") +'\'; return true;">' + rs_data[i].term + '</a>';
        pc_crt += '</td></tr>';
        pc_string += pc_crt;
    }
    pc_string += '</table>';
            
    // display
    document.getElementById("pc_container").innerHTML  = pc_string;
    document.getElementById("portal").style.display = 'block';
}

function display_content() {
    // display rs
    display_rs(rs_data, max_rs_squares);

    // debug
    if (test) { alert("RS DONE: " + google_afd_ad_request_done.counter); }
    
    // set tokens for SB
    set_sb_tokens();

    // debug
    if (test) { alert("TOKENS DONE: " + google_afd_ad_request_done.counter); }
    
    //  debug
    if (test) {
        alert('fp: ' + force_portal + ' (GCALL: ' + google_afd_ad_request_done.counter + ')');
    }
    
    // ads
    if(!force_portal) {
        display_ads(google_ads_array,iba_url,0);
        if(gt == 'AFS' && google_ws_array) {
            display_ws(google_ws_array);
        }
        if(gt == 'AFS' && google_ads_repeat_array && google_ads_repeat_array.length > 0) {
            display_ads(google_ads_repeat_array,'',1);
        }
    }
    // portal
    else {
        display_portal(rs_data);
    }
}

// content display call
display_content();

