/**
 * 08.10.2007
 * Font size changing scripts
 * Author - AndroID
 */   


var default_font_size = 11;
var min_font_size = 10;
var max_font_size = 14;


//Sohranjaem tagi v massive dlja bolee bistrogo dostupa
var tags_arr = new Array();


/**
 * Polu4aem html objekti, kotorim nado menjatj razmer fonta
 */  

function getBodyArray()
{	
	
	if (tags_arr.length == 0)
	{

		h3_arr = document.body.getElementsByTagName('h3');
		div_arr = document.body.getElementsByTagName('div');	
		a_arr = document.body.getElementsByTagName('a');	
		em_arr = document.body.getElementsByTagName('em');
    p_arr = document.body.getElementsByTagName('p');
    span_arr = document.body.getElementsByTagName('span');		

		var div_len = div_arr.length;
		//alert(div_len);

		for (var i = 0; i < div_len; i++)
		{
			  tags_arr.push(div_arr[i]);
		}


		var h3_len = h3_arr.length;
		//alert(h3_len);

		for (var i = 0; i < h3_len; i++)
		{
			  tags_arr.push(h3_arr[i]);
		}


		var a_len = a_arr.length;
		//alert(a_len);

		for (var i = 0; i < a_len; i++)
		{
			  tags_arr.push(a_arr[i]);
		}
		
		
		
		var em_len = em_arr.length;
		for (var i = 0; i < em_len; i++)
		{
			  tags_arr.push(em_arr[i]);
		}
		
		
		var p_len = p_arr.length;
		for (var i = 0; i < p_len; i++)
		{
			  tags_arr.push(p_arr[i]);
		}
		
		
		var span_len = span_arr.length;
		for (var i = 0; i < span_len; i++)
		{
			  tags_arr.push(span_arr[i]);
		}
		

    tags_arr.push(document.getElementById("stat"));
    tags_arr.push(document.getElementById("stats_span"));
    
    /*********************************************************************/
    
    
    var ph_table = document.getElementById("phone_rows_tbl");
    if (ph_table != null)
    {    
        //var ph_table = document.getElementById("phone_rows_tbl");    
        var ph_td = ph_table.getElementsByTagName("td");
        
        var ph_len = ph_td.length;
    		//alert(em_len);
    
    		for (var i = 0; i < ph_len; i++)
    		{
    			  tags_arr.push(ph_td[i]);
    		}		
		}
		
		
		
		
    var nl_table = document.getElementById("newsletter_table"); 
    
    if (nl_table != null)
    {    
        var nl_td = nl_table.getElementsByTagName("td");
        
        var ph_len = nl_td.length;
    		//alert(em_len);
    
    		for (var i = 0; i < ph_len; i++)
    		{
    			  tags_arr.push(nl_td[i]);
    		}		
		}
		
		
		var voting_table = document.getElementById("voting_small_tbl"); 
		
		if (voting_table != null)
		{           
        var vt_td = voting_table.getElementsByTagName("td");
        
        var vt_len = vt_td.length;
    		//alert(em_len);
    
    		for (var i = 0; i < vt_len; i++)
    		{
    		    if (vt_td[i].className == "small")
    			     tags_arr.push(vt_td[i]);
    		}
		}
		
		var disc_table = document.getElementById("disc_results"); 
    
    if (disc_table != null)
    {           
        var disc_td = disc_table.getElementsByTagName("td");
        
        var disc_len = disc_td.length;
    		//alert(em_len);
    
    		for (var i = 0; i < disc_len; i++)
    		{
    		    if (disc_td[i].className == "small")
    			     tags_arr.push(disc_td[i]);
    		}		
		}
		
		
		

	}

	return tags_arr;
}




function createCookie(cookie_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 = cookie_name+"="+value+expires+"; path=/";

}

function readCookie(cooke_name) {

    regexpr = cooke_name+ '=(.*?)(;|$)';
    var results = document.cookie.match (regexpr);

    if ( results ) {
        return ( unescape ( results[1] ) );
    }

    else { return null; }
    }

 
/**
 * Esli sohranili razmer fonta v cookies,
 * to pri refresh'e ustanavlivaem ego kak default
 */    

function applyDefaultFont(){

    var fontSize = ""; //hranitsja uzhe text - 10px na primer

    if (readCookie('ActiveFontSize'))
	  {
       fontSize = readCookie('ActiveFontSize');

	     var size = fontSize.replace("px","");

		  if (size < min_font_size)
			   font_size = min_font_size + "px";

		  if (size > max_font_size)
			   font_size = max_font_size + "px";
		
		
		  //alert(fontSize);

		  var p = getBodyArray();
		  var len = p.length;

      for(i=0;i < len; i++)
		  {
		  		if(p[i] != null) {
		  	 		p[i].style.fontSize = fontSize;
		  		}
		  }
    } 

}


/**********************************************************************/


function setFontSize(f_size) {

	
	var current_font_size = 0;


	var p = getBodyArray();

	var len = p.length;

    for(i = 0; i < len; i++)
	  {
   
       size = f_size;
		if(p[i] != null) {
      	 p[i].style.fontSize = size + "px"
	     current_font_size = size + "px";
		}
   }

   createCookie("ActiveFontSize",current_font_size,1);


}



/**********************************************************************/


function increaseFontSize() {

	var increment = 2;	
	var current_font_size = 0;


	var p = getBodyArray();

	var len = p.length;

    for(i = 0; i < len; i++)
	{
      if(p[i].style.fontSize) {
         var size = parseInt(p[i].style.fontSize.replace("px",""));
      }
	  else 
	  {
         var size = default_font_size;
      }

      if(size <= max_font_size - increment) {
         size += increment;
      }
      if(p[i] != null) {
        p[i].style.fontSize = size + "px"
  	    current_font_size = size + "px";
	    }
   }

   createCookie("ActiveFontSize",current_font_size,1);


}


function decreaseFontSize() {
   var p = getBodyArray();

   var increment = 2;
   var current_font_size = 0;

   


   var len = p.length;

    for(i = 0; i < len; i++)
	{
	   if(p[i] != null) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      }
      }
	  else
	  {
         var s = default_font_size;
      }

      if(s >= min_font_size + increment) {
         s -= increment;
		 current_font_size = s +"px";
      }
	  else
	   if(p[i]!=null) {
  		  current_font_size = min_font_size +"px";
        p[i].style.fontSize = current_font_size;
      }
   } 
   
   createCookie("ActiveFontSize",current_font_size,1);
   

}
