var data = new Array();
var context_news_des = {
	titlelink: {size:'14px', color:'red', bgcolor:'', bold:0, underline:1},
	catlink: {size:'11px', color:'blue', bgcolor:'', bold:0, underline:1, pad: '0px 1px 0px 1px', first:0},
	botlink: {size:'11px',color:'blue', bgcolor:'', bold:0, underline:1},
	box: {width: '500px', pad: '0px', bgcolor: '', font:'' },	
	topic: {height: '60px',  padleft: '0px'},
	img: {defurl: ''}
};

var context_news = {
	name:'', host:'', keywords:'', limit:5, cats:'', partner:0,
	intitles:1, notopic:0, innews:0,
	images:0, des:context_news_des, t:new Array(), total_found:0, err:''};

function include(url)
{
	document.write('<script type="text/javascript" src="'+url+'"></script>');	
}

function context_news_show()
{
	var cn = window.context_news;
	
	var keywords = cn.keywords;
	var url = 'http://'+cn.host+'/context_news1.php?q='+escapeEx(keywords);

	if(cn.cats != '')
		url += '&c='+cn.cats;
	if(cn.limit != '')
		url += '&l='+cn.limit;
	if(cn.intitles == 1)
		url += '&it=1';
	if(cn.notopic != 0)
		url += '&nt='+cn.notopic;
	if(cn.innews != 0)
		url += '&in=1';
	
	include(url);
}

function context_st(f, c)
{
	var cn = window.context_news;
	var img = new Image(1,1);
    img.src = 'http://'+cn.host+'/jmpin.php?f='+f+'&c='+c;
}

function context_news_write()
{
	var cn = window.context_news;
	
	cn.des.titlelink.font = cn.des.box.font;
	cn.des.catlink.font = cn.des.box.font;
	cn.des.botlink.font = cn.des.box.font;
	
	var topics = cn.t;
	
	if(cn.err != '')
		return;
	

	document.write('<table cellspacing="0" cellpadding="0" border="0"><tr><td style="'+style_prms(cn.des.box)+'">');
	document.write('<table cellspacing="0" cellpadding="0" border="0" style="width:100%">');
	for(i=0; i < topics.length; i++)
	{	
		if(topics[i].type == 1)
			document.write(context_news_topic_html(topics[i]));
		else
			document.write(context_news_item_html(topics[i]));
	}
	document.write('</table>');
	
	if(cn.des.botlink != '')
		document.write('<a href="http://'+window.context_news.host+'" target="_blank" style="'+style_prms(cn.des.botlink)+'">'+cn.name+'</a>');
	document.write('</td></tr></table>');

	
}


function context_news_topic_html(topic)
{
	var cn = window.context_news;

	
	var ret = '<tr style="vertical-align: top">';
	
	if(cn.images == 1 )
	{
		var imgsrc= '';
		if(topic.img0 == '' && cn.des.img.defurl != '')
			imgsrc = cn.des.img.defurl;
		else
			if(topic.img0 == '')
				imgsrc = '';
			else
				imgsrc = 'http://'+cn.host+topic.img0;
		
		ret += '<td width="40">';
		if(imgsrc != '')
			ret += '<a href="http://'+cn.host+topic.link+'" onclick="context_st('+cn.partner+','+topic.id+');" target="_blank"><img src="'+imgsrc+'" border="0" width="40" height="40" /></a>';
		else
			ret += '&nbsp;';
		ret += '</td>';
	}
	
	ret += '<td style="'+style_prms(cn.des.topic)+'">';
	var topic_title_short = topic.title.length > 100 ? topic.title.substr(0, 100)+'...' : topic.title;

	var catlink_htm = ' <a href="http://'+cn.host+topic.catlink+'" onclick="context_st('+cn.partner+','+topic.id+')" target="_blank" style="'+style_prms(cn.des.catlink)+'" class="contextNewsCatTilte">'+topic.cattitle+'</a>';

	if(cn.des.catlink.first)
		ret += catlink_htm;	
	ret += '<a href="http://'+cn.host+topic.link+'" onclick="context_st('+cn.partner+','+topic.id+')" target="_blank" style="'+style_prms(cn.des.titlelink)+'" title="'+topic.title+'" class="contextNewsItem">'+topic_title_short+'</a>';
	if(!cn.des.catlink.first)
		ret += catlink_htm;
	
	ret += '</td></tr>';

	return ret;
}


function context_news_item_html(item)
{
	var cn = window.context_news;

	
	var ret = '<tr style="vertical-align: top">';
	
	if(cn.images == 1 )
	{
		var imgsrc= '';
		if(item.img0 == '' && cn.des.img.defurl != '')
			imgsrc = cn.des.img.defurl;
		else
			if(item.img0 == '')
				imgsrc = '';
			else
				imgsrc = 'http://'+cn.host+item.img0;
		
		ret += '<td width="40">';
		if(imgsrc != '')
			ret += '<a href="http://'+item.link+'" onclick="context_st('+cn.partner+',0);" target="_blank"><img src="'+imgsrc+'" border="0" width="40" height="40" /></a>';
		else
			ret += '&nbsp;';
		ret += '</td>';
	}
	
	ret += '<td style="'+style_prms(cn.des.topic)+'">';
	var topic_title_short = item.title.length > 100 ? item.title.substr(0, 100)+'...' : item.title;

	var catlink_htm = ' <a href="http://'+item.link+'" onclick="context_st('+cn.partner+',0)" target="_blank" style="'+style_prms(cn.des.catlink)+'" class="contextNewsCatTilte">'+item.rss_title+'</a>';

	if(cn.des.catlink.first)
		ret += catlink_htm;	
	ret += '<a href="http://'+item.link+'" onclick="context_st('+cn.partner+',0)" target="_blank" style="'+style_prms(cn.des.titlelink)+'" title="'+item.title+'" class="contextNewsItem">'+topic_title_short+'</a>';
	if(!cn.des.catlink.first)
		ret += catlink_htm;
	
	ret += '</td></tr>';

	return ret;
}


function style_prms(desobj)
{
	var res = '';
	
	if(desobj.size != '')
		res += 'font-size: '+desobj.size+';';

	if(desobj.color != '')
		res += 'color: '+desobj.color+';';
	
	if(desobj.bgcolor != '')
		res += 'background-color: '+desobj.bgcolor+';';

	if(desobj.bold == 1)
		res += 'font-weight: bold;';
	
	if(desobj.pad != '')
		res += 'padding: '+desobj.pad+';';
	
	if(desobj.padleft != '')
		res += 'padding-left: '+desobj.padleft+';';
	
	if(desobj.width != '')
		res += 'width: '+desobj.width+';';
	
	if(desobj.height != '')
		res += 'height: '+desobj.height+';';
	
	if(desobj.font != '')
		res += 'font-family: \''+desobj.font+'\';';
	
	if(desobj.underline != 1)
		res += 'text-decoration: none;';
	
	return res;
}

function escapeEx(str)
{
    var ret = '';

    for (i=0; i<str.length; i++)
    {
        var n = str.charCodeAt(i);
        if (n >= 0x410 && n <= 0x44F)
            n -= 0x350;
        else if (n == 0x451)
            n = 0xB8;
        else if (n == 0x401)
            n = 0xA8;
        if ((n < 65 || n > 90) && (n < 97 || n > 122) && n < 256)
        {
            if (n < 16)
                ret += '%0'+n.toString(16);
            else
                ret += '%'+n.toString(16);
        }
        else
            ret += String.fromCharCode(n);
    }

    return ret;
}
