var links_pp=18;				// links per page; must be even number
var LINKS_PER_COLUMN = 9; 			// must = links_pp / 2
var row_delimiter = "|^|"; 			// default row delimiter for response text 
var row_array; 
var cat_array;
var links_array;
var news_array;
var newsLinks;
var pop_links_array;
var blogs_links_array;
var dir_height=270;				// height of the drop box; minimum is 300
var limit = 0;
var LOCATION = "";
var REGION = "";
var REGION_ID = "1";
var COUNTRY = "";
var CID = "";
var CATEGORY = "Academia";
var CATEGORY_ID = "1";
var DEFAULT_LINK_LIST = "";
var DIRECTORY_LINK_LIST = "";
var MINI_LINK_LIST = "";
var ADMIN_ON = 0;

//default pod:css attributes
var news_height = "400px";
var news_width = "537px";
var res_height = "190px";
var res_width = "125px";
var res_marginTop = "10px";
var admin_base_url = "http://www.asiaecon.org";
var base_url = "http://www.informasia.info/index.php/informasia";


/*function show_folder(cid, country_name) {
	// v1
	window.scrollTo(0,0);
	$('.dir_container').height(dir_height+30);	
	$('.dir_container').slideDown(500);
	$('#category_column').text("");		// clear existing topics
	$('#category_col2').text("");
	$('#links_col1').text("");		// clear existing links
	$('#links_col2').text("");
	$('#topic_header').text("");
	$('#turn_page').text("");
	$('#country_header').text(country_name);									 
														 
	get_category(region_id, cid);
}*/

function refresh_links(){
	get_links(REGION_ID,CID,CATEGORY_ID,CATEGORY);
}


// DIRECTORY
function get_links(region_id,cid,category_id,category){
	// update globals
	CATEGORY = category;
	REGION_ID = region_id;
	CID = cid;
	CATEGORY_ID = category_id;
	setCookie('CATEGORY_ID',category_id,7); 
	$("#resources_links").fadeOut('fast');
	$('#resources_mini_title').text("");
	mini_category = category;
	if (category == "All Categories") mini_category = "Resources" 
	$('#resources_mini_title').append("<a href='#' onclick=\"display_directory(); set_directory_tab_color(document.getElementById('directory_nav')); set_directory_link_color(document.getElementById('directory_nav_link'));return false;\">" + mini_category + "</a>");
	update_title_bar(category);
	
	var dir_jax = new AJAXInteraction("/index.php/informasia/get_links/"+region_id+"/"+cid+"/"+category_id, function(){process_links(req.responseText);});
	dir_jax.doGet();
}

function process_links(httpText){
	links_array=httpText.split("||");
	print_links(1);	
	get_news(REGION_ID, CID, CATEGORY_ID);
	
}


// NEWS
function get_news(region_id, cid, category_id) {
  var news_jax = new AJAXInteraction("/index.php/informasia/get_news/"+region_id+"/"+cid+"/"+category_id, function(){process_news(req.responseText);});
  news_jax.doGet();
}

function process_news(httpText){
	news_array=httpText.split("||");
	print_news(1);
	get_blogs_recent();
	
}


// HIT COUNT
function get_hit_count() {
	var pop_jax = new AJAXInteraction("/index.php/informasia/get_hit_count", function(){process_hit_count(req.responseText);});
	pop_jax.doGet();
}

function process_hit_count(httpText){
	pop_links_array = httpText.split(row_delimiter); 
	print_pop(1);		
}

// POPULAR (by type_id)
function get_pop(type_id) {
	if (type_id == 0)
	{
		get_top_hits();
		return false;
	}
	var pop_jax2 = new AJAXInteraction("/index.php/informasia/get_pop/"+type_id, function(){process_pop(req.responseText, type_id);});
	pop_jax2.doGet();
}

function get_top_hits() {
	var pop_jax3 = new AJAXInteraction("/index.php/informasia/get_top_hits/", function(){process_pop(req.responseText, 0);});
	pop_jax3.doGet();
}

function process_pop(httpText, type_id) {
	pop_links_array = httpText.split(row_delimiter); 
	print_pop(1, type_id);	
}

function print_pop(page, type_id){
	pop_pp = 8;
	max_pages = 15;
	page_padding = 5;
	
	mod_last_page = (pop_links_array.length-1)%pop_pp;
	if(mod_last_page == 0)
	{
		page_nums=parseInt((pop_links_array.length-1)/pop_pp);
	}
	else
	{
		page_nums=parseInt((pop_links_array.length-1)/pop_pp + 1);
	}
	
	low_i=(page-1)*pop_pp;

	if ((page*pop_pp)<(pop_links_array.length-1)) 
	{
		high_i=low_i + pop_pp;
	}
	else
	{
		high_i=pop_links_array.length-1;
	}
	
	$('#popular_links').fadeOut('fast');
	$('#popular_links').text('');

	$('#popular_mini_links').fadeOut('fast');
	$('#popular_mini_links').text('');
	
	popular_links_html = "<ul>\n";
	popular_mini_links_html = "<ul>\n";

	for (i=low_i; i<high_i;i++) {
		popular_links_html += pop_links_array[i];
		popular_mini_links_html += pop_links_array[i];
	}

	popular_links_html += "</ul>\n";
	popular_mini_links_html += "</ul>\n";
	
	$('#popular_links').append(popular_links_html);
	$('#popular_links').fadeIn('slow');


	$('#popular_mini_links').append(popular_mini_links_html);
	$('#popular_mini_links').fadeIn('slow');

	// build pagination
	$('#popular_bottom_bar').text("");
	if(page_nums>1) 
	{
			to_first="&nbsp;"; prev="";
			
			if (page!=1) 
			{
				to_first="<a href='' onclick='print_pop(1," + type_id + ");return false;'>&lt;&lt;&nbsp;</a>";
				prev="<a href='' onclick='print_pop("+(page-1)+"," + type_id + ");return false;'>Previous&nbsp;</a>";
			}
			
			$('#popular_bottom_bar').append(to_first);
			$('#popular_bottom_bar').append(prev);
		
			n='';
			pages_printed = 0;
			show_dots_before=true;
			show_dots_after=true;
		
		
			for(i=1;i<=page_nums;i++) {
				if(i!=page)
				{
					if(page_nums>max_pages)
					{
						if( i<(page+page_padding) && i>(page-page_padding)  )
						{
							n+="<a href='' onclick='print_pop("+i+"," + type_id + ");return false;'>"+i+"&nbsp;</a>";
							pages_printed++;
						}
						else if ( (i<=page_padding || i>(page_nums-page_padding)) )
						{		
							n+="<a href='' onclick='print_pop("+i+"," + type_id + ");return false;'>"+i+"&nbsp;</a>";
							pages_printed++;
						}
						else if( (show_dots_before) && (i>(page_padding)) )
						{
							show_dots_before = false;
							n+="&hellip;&nbsp;";
						}
						else if( (show_dots_after) && (i>(page_nums-(page_padding+page_padding))) && (page>=page_padding+page_padding) )
						{
							show_dots_after = false;
							n+="&hellip;&nbsp;";
						}
					}
					else
					{
						n+="<a href='' onclick='print_pop("+i+"," + type_id + ");return false;'>"+i+"&nbsp;</a>";
					}
				}
				else 
				{
					n+="["+i+"]&nbsp;";
				}
			}
			
			$('#popular_bottom_bar').append(n);
		
		
		nxt="";	to_last="";
		
		if (page!=page_nums)
		{
			nxt="<a href='' onclick='print_pop("+(page+1)+"," + type_id + ");return false;'>Next</a>";
			to_last="<a href='' onclick='print_pop("+page_nums+"," + type_id + ");return false;'>&nbsp;&gt;&gt;</a>";
		}
		
		$('#popular_bottom_bar').append(nxt);
		$('#popular_bottom_bar').append(to_last);
		$('#popular_bottom_bar').show();
	}
}

function get_blogs_recent(region_id, cid, category_id) {
	var blog_jax = new AJAXInteraction("/index.php/informasia/get_blogs_recent", function(){process_blogs(req.responseText);});
	blog_jax.doGet();			
}

function process_blogs(httpText){
	blogs_links_array = httpText.split(row_delimiter);
	print_blogs(1,3);
	get_top_hits();
}

function print_blogs(page, type_id){
	blogs_pp = 8;
	
	mod_last_page = (links_array.length-1)%blogs_pp;
	if(mod_last_page == 0)
	{
		page_nums=parseInt((blogs_links_array.length-1)/blogs_pp);
	}
	else
	{
		page_nums=parseInt((blogs_links_array.length-1)/blogs_pp + 1);
	}	

	low_i=(page-1)*blogs_pp;
	if ((page*blogs_pp)<(blogs_links_array.length-1)) 
	{
		high_i=low_i + blogs_pp;
	}
	else
	{
		high_i=blogs_links_array.length-1;
	}
	
	$('#blogs_links').fadeOut('fast');
	$('#blogs_links').text('');

	$('#blogs_mini_links').fadeOut('fast');
	$('#blogs_mini_links').text('');

	blogs_links_html =  "\n<ul>\n";
	blogs_mini_links_html = "\n<ul>\n";
	
	
	
	for (i=low_i; i<high_i;i++) {
		blogs_links_html += blogs_links_array[i];
		blogs_mini_links_html += blogs_links_array[i];
	}

	blogs_links_html += "</ul>\n";
	blogs_mini_links_html += "</ul>\n";

	$('#blogs_links').append(blogs_links_html);
	$('#blogs_links').fadeIn('slow');


	$('#blogs_mini_links').append(blogs_mini_links_html);
	$('#blogs_mini_links').fadeIn('slow');

	// pagination
	$('#blogs_bottom_bar').text("");
	if(page_nums>1) 
	{
			to_first="&nbsp;"; prev="";
			
			if (page!=1) 
			{
				to_first="<a href='' onclick='print_blogs(1," + type_id + ");return false;'>&lt;&lt;&nbsp;</a>";
				prev="<a href='' onclick='print_blogs("+(page-1)+"," + type_id + ");return false;'>Previous&nbsp;</a>";
			}
			
			$('#blogs_bottom_bar').append(to_first);
			$('#blogs_bottom_bar').append(prev);
		
			for(i=1;i<=page_nums;i++) {
				if(i!=page)
				{
					n="<a href='' onclick='print_blogs("+i+"," + type_id + ");return false;'>"+i+"&nbsp;</a>";
				}
				else 
				{
					n="["+i+"]&nbsp;";
				}
				$('#blogs_bottom_bar').append(n);
		}
		
		nxt="";	to_last="";
		
		if (page!=page_nums)
		{
			nxt="<a href='' onclick='print_blogs("+(page+1)+"," + type_id + ");return false;'>Next</a>";
			to_last="<a href='' onclick='print_blogs("+page_nums+"," + type_id + ");return false;'>&nbsp;&gt;&gt;</a>";
		}
		
		$('#blogs_bottom_bar').append(nxt);
		$('#blogs_bottom_bar').append(to_last);
		$('#blogs_bottom_bar').show();
	}
}

function print_links(page) {
	update_url();
	col_1_list = "";
	col_2_list = "";
	
	mod_last_page = (links_array.length-1)%links_pp;
	if(mod_last_page == 0)
	{
		page_nums=parseInt((links_array.length-1)/links_pp);
	}
	else
	{
		page_nums=parseInt((links_array.length-1)/links_pp + 1);
	}

	low_i=(page-1)*links_pp;
	if ((page*links_pp)<(links_array.length-1)) 
	{
		high_i=low_i + links_pp;
	}
	else
	{
		high_i=links_array.length-1;
	}

	col="#resources_links";
	$(col).fadeOut('fast');
	$(col).text("");
	col_text = "";
	
	link_info=links_array[0].split("^!^");
	if (link_info[2] == "No links for selected category")
	{
		col_1_list +=  "<span class=\"dirhead\">" +  link_info[2] + "</span></li>";
	}
	else
	{
		for (i=low_i; i<high_i;i++) {
			link_info=links_array[i].split("^!^");
			title=link_info[0];
			desc=link_info[2];
			lnk=link_info[1];
			lnk_id=link_info[3];
			
			if (i < (low_i + links_pp/2)) // col="#links_col2";
			{
					//col_1_list +=  "<li><a class=\"dirhead\" target=\"_blank\" onclick=\"record_click("+lnk_id+",2);\" title='"+desc+"' href='"+lnk+"'>"+title+"&nbsp;<img src=\"/resources/images/external.png\" /></a>";
					//if (desc.length > 3) col_1_list +=  "<br><span class=\"dirtext\">"+desc+"</span>";
					//col_1_list +=  "</li>";
					
					
					col_1_list +=  "<li><a class=\"dirhead\" onclick=\"record_click("+lnk_id+",2);\" title='"+desc+"'>"+title+"&nbsp;<img src=\"/resources/images/external.png\" /></a>";
					if (desc.length > 3) col_1_list +=  "<br><span class=\"dirtext\">"+desc+"</span>";
					col_1_list += "<span style=\"display:none;\">" + lnk + "</span>";
					col_1_list +=  "</li>";
			}
			else
			{
					col_2_list +=  "<li><a class=\"dirhead\" target=\"_blank\" onclick=\"record_click("+lnk_id+",2);\" title='"+desc+"' href='"+lnk+"'>"+title+"&nbsp;<img src=\"/resources/images/external.png\" /></a>";
					if (desc.length > 3) col_2_list +=  "<br><span class=\"dirtext\">"+desc+"</span>";
					col_2_list +=  "</li>";
			}
		}
	}

	col_text = "<div id=\"directory_container\">" + 
				"<table width=\"100%\" border=\"0\">"+
					"<tr>"+
						"<td class=\"col_display\" width=\"345\">"+
							"<ul id=\"links_col1\">"+
								col_1_list +
							"</ul>"+
						"</td>"+
						"<td class=\"col_display\" valign=\"top\">"+
							"<ul id=\"links_col2\">"+
								col_2_list+
							"</ul>"+
						"</td>"+
					"</tr>"+
				"</table>"+
				"</div>";


	MINI_LINK_LIST = "<ul>" + col_1_list + col_2_list + "<ul>";
	DIRECTORY_LINK_LIST = col_text;

	$("#resources_links").append(DIRECTORY_LINK_LIST);
	$("#resources_mini_links").text("");
	$("#resources_mini_links").append(MINI_LINK_LIST);

	$("#resources_links").fadeIn('fast');
	$("#resources_mini_links").fadeIn('fast');


	// build pagination
	$('#pagination').text("");
	if(page_nums>1) 
	{
		to_first="&nbsp;"; prev="";
		
		if (page!=1) 
		{
			to_first="<a href='' onclick='print_links(1);return false;'>&lt;&lt;&nbsp;</a>";
			prev="<a href='' onclick='print_links("+(page-1)+");return false;'>Previous&nbsp;</a>";
		}
		
		$('#pagination').append(to_first);
		$('#pagination').append(prev);
		
		n='';
		pages_printed = 0;
		show_dots_before=true;
		show_dots_after=true;
		max_pages = 15;
		page_padding = 5;
		
		for(i=1;i<=page_nums;i++) {
			if(i!=page)
			{
				if(page_nums>max_pages)
				{
					if( i<(page+page_padding) && i>(page-page_padding)  ) 
					{
						n+="<a href='' onclick='print_links("+i+");return false;'>"+i+"&nbsp;</a>";
						pages_printed++;
					}
					else if ( (i<=page_padding || i>(page_nums-page_padding)) )
					{	
						n+="<a href='' onclick='print_links("+i+");return false;'>"+i+"&nbsp;</a>";
						pages_printed++;
					}
					else if( (show_dots_before) && (i>(page_padding)) )
					{
						show_dots_before = false;
						n+="&hellip;&nbsp;";
					}
					else if( (show_dots_after) && (i>(page_nums-(page_padding+page_padding))) && (page>=page_padding+page_padding) )
					{
						show_dots_after = false;
						n+="&hellip;&nbsp;";
					}
				}
				else
				{
					n+="<a href='' onclick='print_links("+i+");return false;'>"+i+"&nbsp;</a>";
				}
			}
			else 
			{
				n+="["+i+"]&nbsp;";
			}
			
	}
	$('#pagination').append(n);
	nxt="";	to_last="";
	
	if (page!=page_nums)
	{
		nxt="<a href='' onclick='print_links("+(page+1)+");return false;'>Next</a>";
		to_last="<a href='' onclick='print_links("+page_nums+");return false;'>&nbsp;&gt;&gt;</a>";
	}
	
	$('#pagination').append(nxt);
	$('#pagination').append(to_last);
	$('#pagination').show();
	}
}


function print_news(page) {
	news_pp = 5;
	max_pages = 15;
	page_padding = 5;

	mod_last_page = (news_array.length-1)%news_pp;
	if(mod_last_page == 0)
	{
		page_nums=parseInt((news_array.length-1)/news_pp);
	}
	else
	{
		page_nums=parseInt((news_array.length-1)/news_pp + 1);
	}

	low_i=(page-1)*news_pp;

	if ((page*news_pp)<(news_array.length-1)) 
	{
		high_i=low_i + news_pp;
	}
	else
	{
		high_i=news_array.length-1;
	}
	
	$("#news_links").text("");
	$("#news_mini_links").text("");
	
	for (i=low_i; i<high_i;i++) {
		$("#news_links").append(news_array[i])
		$("#news_mini_links").append(news_array[i])
	}
	$('#news_links').fadeIn('fast')
	$('#news_mini_links').fadeIn('fast')

	// build pagination
	$('#news_bottom_bar').text("");
	if(page_nums>1) 
	{
		to_first=""; prev="";
		
		if (page!=1) 
		{
			to_first="<a href='' onclick='print_news(1);return false;'>&lt;&lt;&nbsp;</a>";
			prev="<a href='' onclick='print_news("+(page-1)+");return false;'>Previous&nbsp;</a>";
		}
		
		$('#news_bottom_bar').append(to_first);
		$('#news_bottom_bar').append(prev);
	
	
		n='';
		pages_printed = 0;
		show_dots_before=true;
		show_dots_after=true;
		
		for(i=1;i<=page_nums;i++) {
			if(i!=page)
			{
				if(page_nums>max_pages)
				{
					if( i<(page+page_padding) && i>(page-page_padding)  ) 
					{
						n+="<a href=\"#\" onclick=\"print_news(" + i + ");return false;\">" + i + "&nbsp;</a>";
						pages_printed++;
					}
					else if ( (i<=page_padding || i>(page_nums-page_padding)) )
					{
						n+="<a href=\"#\" onclick=\"print_news(" + i + ");return false;\">" + i + "&nbsp;</a>";
						pages_printed++;
					}
					else if( (show_dots_before) && (i>(page_padding)) )
					{
						show_dots_before = false;
						n+="&hellip;&nbsp;";
					}
					else if( (show_dots_after) && (i>(page_nums-(page_padding+page_padding))) && (page>=page_padding+page_padding) )
					{
						show_dots_after = false;
						n+="&hellip;&nbsp;";
					}				
				}
				else
				{
					n+="<a href=\"#\" onclick=\"print_news(" + i + ");return false;\">" + i + "&nbsp;</a>";
				}
			}
			else 
			{
				n+="["+i+"]&nbsp;";
			}
			
		}
		$('#news_bottom_bar').append(n);
	
	
	
	nxt="";	to_last="";
	
	if (page!=page_nums)
	{
		nxt="<a href='' onclick='print_news("+(page+1)+");return false;'>Next</a>";
		to_last="<a href='' onclick='print_news("+page_nums+");return false;'>&nbsp;&gt;&gt;</a>";
	}
	
		$('#news_bottom_bar').append(nxt);
		$('#news_bottom_bar').append(to_last);
		$('#news_bottom_bar').show();
	
	}	
	
}


function x_print_news(page) {
	news_pp = 5;
	max_pages = 20;
	dot_padding = 5;
	page_nums=parseInt((news_array.length-1)/news_pp + 1);
	low_i=(page-1)*news_pp;

	if ((page*news_pp)<(news_array.length-1)) 
	{
		high_i=low_i + news_pp;
	}
	else
	{
		high_i=news_array.length-1;
	}
	
	$("#news_links").text("");
	$("#news_mini_links").text("");
	
	for (i=low_i; i<high_i;i++) {
		$("#news_links").append(news_array[i])
		$("#news_mini_links").append(news_array[i])
	}
	$('#news_links').fadeIn('fast')
	$('#news_mini_links').fadeIn('fast')

	// build pagination
	$('#news_bottom_bar').text("");
	if(page_nums>1) 
	{
		to_first=""; prev="";
		
		if (page!=1) 
		{
			to_first="<a href='' onclick='print_news(1);return false;'>&lt;&lt;&nbsp;</a>";
			prev="<a href='' onclick='print_news("+(page-1)+");return false;'>Previous&nbsp;</a>";
		}
		
		$('#news_bottom_bar').append(to_first);
		$('#news_bottom_bar').append(prev);
	
		for(i=1;i<=page_nums;i++) {
			if(i!=page)
			{
					n="<a href='' onclick='print_news("+i+");return false;'>"+i+"&nbsp;</a>";
			}
			else 
			{
				n="["+i+"]&nbsp;";
			}
			$('#news_bottom_bar').append(n);
		}
	
	
	nxt="";	to_last="";
	
	if (page!=page_nums)
	{
		nxt="<a href='' onclick='print_news("+(page+1)+");return false;'>Next</a>";
		to_last="<a href='' onclick='print_news("+page_nums+");return false;'>&nbsp;&gt;&gt;</a>";
	}
	
		$('#news_bottom_bar').append(nxt);
		$('#news_bottom_bar').append(to_last);
		$('#news_bottom_bar').show();
	
	}	
	
}

function get_type(type_id){
	// used by popular
	switch (type_id)
	{
	case 1:
		return 'News';
		break;
	case 2:
		return 'Directory';
		break;
	case 3:
		return 'Blogs';
		break;
	default:
		return '';
		break;
	}
}



function AJAXInteraction(url, callback) {
		    req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          if (callback) callback(req.responseText);
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }
    
    this.doPost = function(body) {
      req.open("POST", url, true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      req.send(body);
    }
}


function get_category(region_id,cid){
	CID = cid;
	REGION_ID = region_id;
	setCookie('CID',CID,7);
	setCookie('REGION_ID',region_id,7); 
	var cat_jax = new AJAXInteraction("/index.php/informasia/get_categories/"+region_id+"/"+cid, function(){process_category(req.responseText);});
	cat_jax.doGet();
}


function process_category(httpText)
{
	topic_array=httpText.split("~~");
	print_category(REGION_ID, CID);
}

function print_category(region_id, cid){
	col="#category_column";
	$(col).fadeOut('fast');
	$(col).text("")
	
	col_text="";
	col_text += "<ul>";
	
	for (i=0; i<(topic_array.length-1); i++)
	{
		tp=topic_array[i].split("^^");
		if (tp[4]=='asdas')
		{
			col_text += "<li><a href='' id=\"category_" +tp[2]+"_"+tp[3]+ "_"+tp[4]+ "\"class=\"category_links\" style=\"font-size:10px;\" onclick=\"set_category_tab_color(this); get_links("+tp[2]+","+tp[3]+","+tp[4]+", '"+tp[0]+"');return false;\">"+tp[0]+" ("+tp[1]+")</a></li>";
		}else{
			col_text += "<li><a href='' id=\"category_" +tp[2]+"_"+tp[3]+ "_"+tp[4]+ "\"class=\"category_links\" onclick=\"set_category_tab_color(this); get_links("+tp[2]+","+tp[3]+","+tp[4]+", '"+tp[0]+"');return false;\">"+tp[0]+" ("+tp[1]+")</a></li>";
		}
	}
	col_text += "<ul>";
	$(col).append(col_text);

	// no longer hiding category bottom bar
	// set_overflow(document.getElementById('category_column'));

	$(col).fadeIn('fast');
	// done with categroy column, now for links and news
			
	// highlight appropiate category
	set_category_tab(CID, CATEGORY_ID);

	// get links
	get_links(region_id, cid, CATEGORY_ID, CATEGORY);
}

function admin_link(window_name, id, section) 
{
	admin_window = window.open("", window_name);
	admin_url = admin_base_url+"/index.php/admin/informasia/view_link/"+id;
	admin_window.location.href = admin_url;
	
}



// CLICK LOG
function record_click(link_id, link_type_id) {
	//
	// admin redirect
	// opens new window and load view_link, 
	// skips click_log so that admin views aren't recorded
	if (ADMIN_ON) admin_link('admin_window', link_id, link_type_id);
	var click_jax = new AJAXInteraction("/index.php/informasia/record_click/" +link_id+ "/" +link_type_id, function(){process_click(req.responseText);});
	click_jax.doGet();
}

function process_click(httpText){
	//	alert(httpText);
}


function set_overflow(o) {
	// determine offset height set via css
	b4 = o.offsetHeight;
	hei = o.style.height;
	over = o.style.overflow;
	//turn height to auto, see if it changes
	o.style.height = "auto"
	af = o.offsetHeight;

	// if b4 != af then box is short ... no scroll, etc
	if (b4 > af){
		// alert('no scroll);
		o.style.height = hei;
		o.style.overflow = over;
		if (o.id == 'category_column')	{
			document.getElementById('category_bottom_bar').style.display="none";
		}
	} else {
		// alert('scroll me');
		o.style.height = hei;
		o.style.overflow = 'auto';
		if (o.id == 'category_column' && DISPLAY_TAB != 'directory')	{
		document.getElementById('category_bottom_bar').style.display="block";
		}
	}
	
}
//
//	functions for switching display modes
//


function display_default() {
	news_height = "450px";
	news_width = "537px";

	cat = document.getElementById('category');
	cat_col = document.getElementById('category_column');
	res = document.getElementById('resources');
	
	// change h+w of resources and categories
    // Added by Ivan
    if(res) {
        res_display = res.style.display;
        res.style.display = "none";
    
    cat.style.height='450px';
	cat_col.style.height='400px';
	document.getElementById('category_bottom_bar').style.display="block";

	//hide main pods
	blogs_obj = document.getElementById('blogs');
	popular_obj = document.getElementById('popular');
	user_submit_obj = document.getElementById('user_submit');
	popular_obj.style.display="none";
	blogs_obj.style.display="none";	
	user_submit_obj.style.display = "none";

	// display news and market
	news_obj = document.getElementById('news');
	market_obj = document.getElementById('market_data');
	news_obj.style.display="block";
	market_obj.style.display="block";
	market_obj.style.height="450px";

	// market2 not being used
	market2_obj = document.getElementById('market_data2');
	market2_obj.style.display="none";

	// show resources, blogs and pop minis, hide news
	res_mini_obj = document.getElementById('resources_mini');
	news_mini_obj = document.getElementById('news_mini');
	pop_mini_obj = document.getElementById('popular_mini');
	blogs_mini_obj = document.getElementById('blogs_mini');
		// fix margin problem with blogs and popular
		pop_mini_obj.style.top="10px";
		blogs_mini_obj.style.top="10px";
		news_mini_obj.style.top="10px";
	news_mini_obj.style.display="none";
	res_mini_obj.style.display="block";
	pop_mini_obj.style.display="block";
	blogs_mini_obj.style.display="block";
	document.getElementById('footer_bumper').style.display = "block";

	// set tab and cookie
	DISPLAY_TAB='default';
	setCookie('display_tab','default',7);
	update_url();
    }
}

function display_directory() {
	res_width="728px";
	res_height="450px";
	res_marginTop="10px";

	cat = document.getElementById('category');
	cat_col = document.getElementById('category_column');
	res = document.getElementById('resources');
	res_mini_obj = document.getElementById('resources_mini');

	// resize category, hide bottom bar
	cat.style.height='720px';
	cat_col.style.height='688px';
	document.getElementById('category_bottom_bar').style.display = "none";
	
	// hide minis
	news_obj = document.getElementById('news');
	news_mini_obj = document.getElementById('news_mini');
	market_obj = document.getElementById('market_data');
	market2_obj = document.getElementById('market_data2');
	user_submit_obj = document.getElementById('user_submit');
	blogs_obj=document.getElementById('blogs');
	popular_obj=document.getElementById('popular');
	res_mini_obj.style.display = "none";
	news_obj.style.display="none";
	news_mini_obj.style.display="none";
	market_obj.style.display = "none" ;
	market2_obj.style.display = "none" ;
	user_submit_obj.style.display="none";
	popular_obj.style.display="none";
	blogs_obj.style.display="none";

	//show directory
	res.style.width=res_width;
	res.style.height=res_height;
	res.style.marginTop=res_marginTop;
	res.style.display="block";
	
	// show minis
	pop_mini_obj = document.getElementById('popular_mini');
	blogs_mini_obj = document.getElementById('blogs_mini');
		// fix margin problem with blogs and popular
		pop_mini_obj.style.top="0px";
		blogs_mini_obj.style.top="0px";
		news_mini_obj.style.top="0px";
	pop_mini_obj.style.display="block";
	blogs_mini_obj.style.display="block";
	document.getElementById('footer_bumper').style.display = "none";
	
	// set tab, update cookie
	DISPLAY_TAB='directory';
	setCookie('display_tab','directory',1);
	update_url();

	// set_overflow(document.getElementById('directory_container'));
	
	}

function display_blogs() {

	news_height = "450px";
	news_width = "537px";

	cat = document.getElementById('category');
	cat_col = document.getElementById('category_column');
	res = document.getElementById('resources');
	
	// change h+w of resources and categories
	res_display = res.style.display;
	res.style.display = "none";
	cat.style.height='450px';
	cat_col.style.height='400px';
	document.getElementById('category_bottom_bar').style.display="block";

	//hide main pods
	blogs_obj = document.getElementById('blogs');
	popular_obj = document.getElementById('popular');
	user_submit_obj = document.getElementById('user_submit');
	news_obj = document.getElementById('news');
	news_obj.style.display="none";
	popular_obj.style.display="none";
	blogs_obj.style.display="none";	
	user_submit_obj.style.display = "none";

	// display blogs and market
	blogs_obj.style.display="block";
	market_obj = document.getElementById('market_data');
	market_obj.style.display="block";
	market_obj.style.height="450px";

	// market2 not being used
	market2_obj = document.getElementById('market_data2');
	market2_obj.style.display="none";

	// show resources, blogs and pop minis, hide news
	res_mini_obj = document.getElementById('resources_mini');
	news_mini_obj = document.getElementById('news_mini');
	pop_mini_obj = document.getElementById('popular_mini');
	blogs_mini_obj = document.getElementById('blogs_mini');
	// fix margin problem with blogs and popular
	pop_mini_obj.style.top="10px";
	blogs_mini_obj.style.top="10px";
	news_mini_obj.style.top="10px";
	blogs_mini_obj.style.display="none";
	news_mini_obj.style.display="block";
	res_mini_obj.style.display="block";
	pop_mini_obj.style.display="block";
	document.getElementById('footer_bumper').style.display = "block";
	

	// set tab and cookie
	DISPLAY_TAB='blogs';
	setCookie('display_tab','blogs',1);
	update_url();

}


function display_popular() {
	// display_blog

	news_height = "450px";
	news_width = "537px";
	// res_height = "260px";
	// res_width = "125px";
	// res_marginTop = "10px";

	cat = document.getElementById('category');
	cat_col = document.getElementById('category_column');
	res = document.getElementById('resources');
	
	// change h+w of resources and categories
	res_display = res.style.display;
	res.style.display = "none";

	cat.style.height='450px';
	cat_col.style.height='400px';
	document.getElementById('category_bottom_bar').style.display="block";

	//hide main pods
	blogs_obj = document.getElementById('blogs');
	popular_obj = document.getElementById('popular');
	user_submit_obj = document.getElementById('user_submit');
	news_obj = document.getElementById('news');
	news_obj.style.display="none";
	// popular.style.display="none";
	blogs_obj.style.display="none";	
	user_submit_obj.style.display = "none";

	// display popular and market
	popular_obj.style.display="block";
	market_obj = document.getElementById('market_data');
	market_obj.style.display="block";
	market_obj.style.height="450px";

	// market2 not being used
	market2_obj = document.getElementById('market_data2');
	market2_obj.style.display="none";

	// show resources, blogs and pop minis, hide news
	res_mini_obj = document.getElementById('resources_mini');
	news_mini_obj = document.getElementById('news_mini');
	pop_mini_obj = document.getElementById('popular_mini');
	blogs_mini_obj = document.getElementById('blogs_mini');
		// fix margin problem with blogs and popular
		pop_mini_obj.style.top="10px";
		blogs_mini_obj.style.top="10px";
		news_mini_obj.style.top="10px";
	pop_mini_obj.style.display="none";
	blogs_mini_obj.style.display="block";
	news_mini_obj.style.display="block";
	res_mini_obj.style.display="block";
	document.getElementById('footer_bumper').style.display = "block";

	

	// set tab and cookie
	DISPLAY_TAB='popular';
	setCookie('display_tab','popular',1);
	update_url();

}

function display_user_submit() {
	news_height = "450px";
	news_width = "537px";
	//res_height = "260px";
	//res_width = "125px";
	//res_marginTop = "10px";

	cat = document.getElementById('category');
	cat_col = document.getElementById('category_column');
	res = document.getElementById('resources');
	
	// change h+w of resources and categories
	res.style.display = "none";
	cat.style.height='450px';
	cat_col.style.height='400px';
	document.getElementById('category_bottom_bar').style.display="block";

	// display news and market
	news_obj = document.getElementById('news');
	news_mini_obj = document.getElementById('news_mini');
	market_obj = document.getElementById('market_data');
	market2_obj = document.getElementById('market_data2');
	user_submit_obj = document.getElementById('user_submit');
	news_obj.style.display="none";
	news_mini_obj.style.display="none";
	market_obj.style.display="none";
	market2_obj.style.display="none";
	blogs_obj = document.getElementById('blogs');
	blogs_obj.style.display="none";
	popular_obj = document.getElementById('popular');
	popular_obj.style.display="none";
	user_submit_obj.style.display="block";

	
	// set minis
	news_mini_obj = document.getElementById('news_mini');
	blogs_mini_obj = document.getElementById('blogs_mini');
	resources_mini_obj = document.getElementById('resources_mini');	
	pop_mini_obj = document.getElementById('popular_mini');
	// fix margin problem with blogs and popular
	pop_mini_obj.style.top="10px";
	blogs_mini_obj.style.top="10px";
	news_mini_obj.style.top="10px";
	blogs_mini_obj.style.display="block";
	news_mini_obj.style.display="none";
	pop_mini_obj.style.display="block";
	resources_mini_obj.style.display="block";
	document.getElementById('footer_bumper').style.display = "block";

	DISPLAY_TAB='user_submit';
	setCookie('display_tab','user_submit',7);
	update_url();

}

function update_title_bar(category){
	update_title_bar_category(category);
}

function update_title_bar_category(category){
	title_bar = document.getElementById('div_title1');
	title_bar.innerHTML = COUNTRY + " | " + category;
	resources_title_bar=document.getElementById('resources_title');
    if(resources_title_bar){
        resources_title_bar.innerHTML = COUNTRY + " | " + category;
    }
	CATEGORY = category;
	setCookie('CATEGORY',category,7);
}

function update_title_bar_country(country){
	title_bar = document.getElementById('div_title1');
	title_bar.innerHTML = country + " | " + CATEGORY;
	resources_title_bar=document.getElementById('resources_title');
	resources_title_bar.innerHTML = country + " | " + CATEGORY;
	document.getElementById('news_title').innerHTML = country + " | News";
	COUNTRY = country;
	setCookie('COUNTRY',country,7);
}

function update_url(){
	trackback_url = '/' + COUNTRY + '/' + CATEGORY + '/' + DISPLAY_TAB;
    if(document.getElementById('url_tracker')){ // Added by Ivan
        document.getElementById('url_tracker').innerHTML = trackback_url;
    }
	trackback_url = base_url + trackback_url;
}

function init_content(){
	//get Cookie values
	CID = getCookie('CID');
	REGION_ID = getCookie('REGION_ID');
	CATEGORY_ID = getCookie('CATEGORY_ID');
	CATEGORY = getCookie('CATEGORY');
	COUNTRY = getCookie('COUNTRY');
	DISPLAY_TAB = getCookie('display_tab');
	
	if (CID == "" || COUNTRY == "") {
		COUNTRY = 'China';
		CID = 1;
		REGION_ID = 1;
		CATEGORY = "Academia";
		CATEGORY_ID = 1;
		DISPLAY_TAB='default';
	}
	
	//alert('category:' + CATEGORY + ' country:' + COUNTRY + ' region_id:' + REGION_ID + ' category_id:' + CATEGORY_ID + ' display:' + DISPLAY_TAB );
	
	set_tab(DISPLAY_TAB);
	set_country_tab(CID, REGION_ID);
	update_title_bar(CATEGORY)
    if(document.getElementById('news_title')){ // Added by Ivan
        document.getElementById('news_title').innerHTML = COUNTRY + " | News";
    }
    
	get_category(REGION_ID,CID);
}

function set_tab(display_tab){
	switch (display_tab)
	{
	case 'directory': 
		display_directory();
		break;
	case 'user_submit':
		display_user_submit();
		break;
	case 'popular':
		display_popular();
		break;
	case 'blogs':
		display_blogs();
		break;
	default:
		display_default();
		break;
	}

}

function getCookie(c_name){
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
	    { 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
	    if (c_end==-1) c_end=document.cookie.length;
	    return unescape(document.cookie.substring(c_start,c_end));
	    } 
	}
	return "";
}

function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function checkCookie(){
	username=getCookie('username');
	if (username!=null && username!="")
	{
	  alert('Welcome again '+username+'!');
	}
	else 
	{
		username=prompt('Please enter your name:',"");
		if (username!=null && username!="")
		{
			setCookie('username',username,365);
		}
	 }
}

function set_country_tab(cid, region_id){
	country_tab_id = "locator_" + region_id + "_" + cid;
	obj = document.getElementById(country_tab_id);
	set_country_tab_color(obj)
}

function set_category_tab(CID, category_id){
	category_tab_id = "category_" + REGION_ID+ "_" + CID + "_" + category_id;
	obj = document.getElementById(category_tab_id);
	set_category_tab_color(obj)
}


function indent_region(){
	links = getElementsByClass('locator_links');
	for (i = 0; i < links.length; i++) {
		links[i].style.color = '#666666';
		links[i].style.background = '#E8EBF0'
		links[i].style.cssText = "a:hover{color:red; background:#899FC4;}"; 
		id_array = links[i].id.split("_");
		if (id_array[1] != 0)
		{
		alert(links[i].id);
		}
	}

}

function clear_directory_tab_color(){
	// clear other colors
	//var nav_links = new Array("about_nav", "submit_nav", "popular_nav", "blogs_nav", "news_nav", "directory_nav");
	var nav_links = new Array("about_nav", "popular_nav", "blogs_nav", "news_nav", "directory_nav");
	for (i=0; i<nav_links.length; i++)
	{
		document.getElementById(nav_links[i]).style.backgroundColor="#899FC4";
		document.getElementById(nav_links[i]).style.color="ffffff";
		document.getElementById(nav_links[i]).style.fontWeight = "normal";
	}
}

function clear_directory_link_color(){
	// clear other colors
	//var nav_links = new Array("about_nav_link", "submit_nav_link", "popular_nav_link", "blogs_nav_link", "news_nav_link", "directory_nav_link");
	var nav_links = new Array("about_nav", "popular_nav", "blogs_nav", "news_nav", "directory_nav");
	for (i=0; i<nav_links.length; i++)
	{
		document.getElementById(nav_links[i]).style.backgroundColor="#899FC4";
		document.getElementById(nav_links[i]).style.color="#ffffff";
		document.getElementById(nav_links[i]).style.fontWeight = "normal";
	}
}

function clear_popular_nav_color(){
	// clear other colors
	var nav_links = new Array("popular_nav_blogs", "popular_nav_news", "popular_nav_directory");
	for (i=0; i<nav_links.length; i++)
	{			links[i].style.cssText = "a:hover{color:red; background:#899FC4;}";
		document.getElementById(nav_links[i]).style.backgroundColor="#D5E1F7";
		document.getElementById(nav_links[i]).style.color="#000000";
		document.getElementById(nav_links[i]).style.fontWeight = "bold";
	}
}

function clear_popular_nav_link_color(){
	// clear other colors
	var nav_links = new Array("popular_nav_blogs_link", "popular_nav_news_link", "popular_nav_directory_link");
	for (i=0; i<nav_links.length; i++)
	{
		document.getElementById(nav_links[i]).style.backgroundColor="#D5E1F7";
		document.getElementById(nav_links[i]).style.color="#000000";
		document.getElementById(nav_links[i]).style.fontWeight = "bold";
	}
}


function set_directory_link_color(obj){
	// clear others
	clear_directory_link_color();
	// set object color
	obj.style.fontWeight = "bold"
	obj.style.backgroundColor = "#465e8a" ; 
	obj.style.color="red";
}

function set_directory_tab_color(obj){
	// clear others
	clear_directory_tab_color();
	// set object color
	obj.style.fontWeight = "bold"
	obj.style.backgroundColor = "#465e8a" ; 
	obj.style.color="red";
}

function set_popular_link_color(obj){
	// clear others
	clear_popular_nav_link_color();
	// set object color
	obj.style.fontWeight = "bold"
	obj.style.backgroundColor = "#465e8a " ; 
	obj.style.color="red";
}

function set_popular_nav_color(obj){
	// clear others
	clear_popular_nav_color();
	// set object color
	obj.style.fontWeight = "bold"
	obj.style.backgroundColor = "#465e8a " ; 
	obj.style.color="red";
}


function set_country_tab_color(obj){
	links = getElementsByClass('locator_links');
	for (i = 0; i < links.length; i++) {
		//links[i].style.color = '#666666';
		//links[i].style.background = '#E8EBF0'
		//links[i].style.cssText = "a:hover{color:red; background:#899FC4;}";
		links[i].style.color = '#04376A';
		links[i].style.background = '#7EAEDE'
		links[i].style.cssText = "a:hover{color:#fff; background:#608FBE;}"; 
	}
	//obj.style.color='red';
	//obj.style.background = '#899FC4';
    if(obj){// Added by Ivan
	obj.style.color='#ff0000';
	obj.style.background = '#7EAEDE';
    }
}

function set_category_tab_color(obj){
	links = getElementsByClass('category_links');
	for (i = 0; i < links.length; i++) {
		//links[i].style.color = '#666666';
		//links[i].style.background = '#E8EBF0';
		//links[i].style.cssText = "a:hover{color:red; background:#899FC4;}";
		links[i].style.color = '#04376A';
		links[i].style.background = '#7EAEDE';
		links[i].style.cssText = "a:hover{color:#fff; background:#608FBE;}"; 
	}
	if (obj!=null)
	{
		obj.style.color='#ff0000';
		obj.style.background = '#7EAEDE';
	}

}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
