function display_rs(rs_data, type) {
    var oneclick_top_rs_str = '';
    var oneclick_rs_str = '';
    var portal_top_rs_str = '';
    var portal_rs_str = '';
    var portal_bottom_rs_str = '';

    var total_rs = rs_data.length;

    for (var i = 0; i < total_rs; i++) {
        rs_link = 'href="' + rs_data[i].href_url + '" title="' + rs_data[i].term + '">' + rs_data[i].term + '</a>';

        if (type == 'oneclick') {
            if (i < MAX_TOP_RS_1Click) {
                oneclick_top_rs_str += '<li';
                if (i < MAX_TOP_RS_1Click - 1 && i < total_rs - 1)
                    oneclick_top_rs_str += ' style="margin-right:25px;"';
                oneclick_top_rs_str += '><a ' + rs_link + '</li>';
            }

            if (i >= 4 && i < MAX_TOP_RS_1Click + 4) {
                oneclick_rs_str += '<li><span>></span>&nbsp;<a ' + rs_link + '</li>';
            }
        } else {
            if (i >= 4 && i < TOP_RS_COUNT + 4) {
                portal_top_rs_str += '<td width="' + Math.round(100/TOP_RS_COUNT) + '%" align="center"><a class="portal_rs_top"' + rs_link + '</td>';
            }

            if (i < CENTER_RS_COUNT) {
                portal_rs_str += '<li><a class="portal_rs_middle"' + rs_link + '</li>';
            }

            if (i >= TOP_RS_COUNT + 4 && i < TOP_RS_COUNT + BOTTOM_RS_COUNT + 4) {
                portal_bottom_rs_str += '<td width="' + Math.round(82/BOTTOM_RS_COUNT) + '%" align="center" valign="top"><a class="portal_rs_bottom"' + rs_link + '</td>';
            }
        }
    }

    if (type == 'oneclick') {
        document.getElementById('oneclick_top_rs_container').innerHTML = oneclick_top_rs_str;
        document.getElementById('oneclick_rs_container').innerHTML = '<ul>' + oneclick_rs_str + '</ul>';
    } else {
        document.getElementById('portal_top_rs_container').innerHTML = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top">' + portal_top_rs_str + '</tr></table>';
        document.getElementById('portal_rs_container').innerHTML = '<ul>' + portal_rs_str + '</ul>';
        document.getElementById('portal_bottom_rs_container').innerHTML = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td width="18%" align="center" valign="top" class="portal_rs">' + language_related_searches + ':</td>' + portal_bottom_rs_str + '</tr></table>';
    document.getElementById("portal").style.display = 'block';
    }
}

function set_sb_tokens() {
    if(token) {
        document.forms.frm_rs_top_search.ltk.value = token;
        document.forms.frm_rs_search.ltk.value = token;
    }
    if(search_token) {
        document.forms.frm_rs_top_search.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 = '';
    ads_string += '<ul>';
    for (var i = 0; i < google_ads_array.length; i++) {
        var start = '<li>';
        var end = '</li>';

        var ad_title = '<a class="title blue" href="' + google_ads_array[i].catcher_url + '" target="_blank">' + google_ads_array[i].ad_title + '</a>';
        var ad_link = '<a 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 + ad_title + ad_description + ad_ratings + ad_link + ad_sitelinks + end; 
    }
    ads_string += '</ul>';

    // 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("portal_container").style.width = '953px';
    document.getElementById("portal_header_folder").style.width = '100%';
    document.getElementById(target_ads).style.display = 'block';
    document.getElementById("portal").style.display = 'none';
}

function display_ws(google_ws_array) {
    if(google_ws_array.length > 0) {
        var ws_string = '';
        ws_string += '<ul>';
        for (var i = 0; i < google_ws_array.length; i++) {
            var start = '<li>';
            var end = '</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 + ws_title + ws_description + ws_link  + end;
        }
        ws_string += '</ul>';
        document.getElementById("web_container").innerHTML  = '<ul>' + ws_string + '</ul>';          
    }
    // display
    document.getElementById("web").style.display = 'block';
}

function display_content() {
    // set tokens for SB
    set_sb_tokens();

    // ads
    if(!force_portal) {
        // display rs
        display_rs(rs_data, 'oneclick');

        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 rs
        display_rs(rs_data, 'portal');
    }

}

// content display call
display_content();
