/***********************************************/
/*           START AJAX FUNCTIONS              */
/***********************************************/

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action) {

	//preloader animation
	if ((action == 'articles_by_date') || (action == 'articles_by_section'))  document.getElementById('fpv_ajax_loader').innerHTML = '<img src="/images/ajax-loader.gif">';


    http.open('get', '/rpc.php?action='+action);
    http.onreadystatechange = handleResponse;
    http.send(null);	
}

// this allows us to send arguments along with a request
// NB: no arguments are defined, we will use the "arguments" object,
// so that we can pass through as many arguments as we like to this function
function sndReqArg() {	
	
    var action;
    var args = '';

	if (arguments[0] == 'subscribe')  document.getElementById('result').innerHTML = '<br><br><img src="/images/ajax-loader.gif">';	

    for (i=0; i<arguments.length; i++) {
        if (i == 0) action = arguments[i];
        else if (i == 1) args += '&arg=' + arguments[i];
        else args += '&arg' + (i) + '=' + arguments[i];
    }

    //http.open('get', 'rpc.php?action='+action+'&arg='+arg);
    http.open('get', '/rpc.php?action='+action+args);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

		//alert(response);

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            //alert(update[0]);
            //alert(update[1]);

            
            if(update[0] == '') {}

            document.getElementById(update[0]).innerHTML = update[1];			
	        if (update[0] == 'front_page_content') document.getElementById('fpv_ajax_loader').innerHTML = '';   //clear loading animation    
        }
    }
}



function prep_ajax(string) {
	var bad = string; 
	var good = bad.replace(/&/g, "*badamp*");
	var good2 = good.replace(/\n/g, "*line*"); 
	var good3 = good.replace(/|/g, "*dash*"); 	

	return good2;
}



//changes the style of the buttons in the footer: recent popular and most commented
		function swap_tab(on, off1, off2) {

			var offTab1 = document.getElementById(off1);
			offTab1.style.fontWeight='normal'; 			

			
			var offTab2 = document.getElementById(off2);
			offTab2.style.fontWeight='normal'; 			
												
			var thisTab = document.getElementById(on);
			thisTab.style.fontWeight='bold'; 					
		}



/************************************************************

		STYLE SWITCHING FUNCTIONS FOR TEXT RESIZE
		
************************************************************/

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

  
function fpv_buttons_styles() {
	
	var fpv_date = document.getElementById('fpv_date');
	var fpv_section = document.getElementById('fpv_section');	
	
	if (readCookie('fp_view') == 'date') { 	
	 	fpv_date.style.background='#fff';
	 	fpv_date.style.fontWeight='bold';
	 	fpv_date.style.borderBottom='0px';	 	
	 	fpv_section.style.background='#f2f2f2';
	 	fpv_section.style.fontWeight='normal';	 	
	 	fpv_section.style.borderBottom='1px solid #ddd';	 	
	 
	 } else {
	 	fpv_section.style.background='#fff';
	 	fpv_section.style.fontWeight='bold';
	 	fpv_section.style.borderBottom='0px';	 	
	 	fpv_date.style.background='#f2f2f2';
	 	fpv_date.style.fontWeight='normal';	 	
	 	fpv_date.style.borderBottom='1px solid #ddd';
	}

	 	
 }