function ChangeFont(Opt) {
  
  // from here STARTS THE SETUP of default fonts sizes
  // NOTE: ALL SIZES ARE IN PIXELS
  
	if (document.getElementById("PortfolioList") == null) {
		if (document.getElementById("ListingItem") == null) {
  
  	// ========
  	// SETUP - elements for a single post or page 
  	// ========
	  	var Objs = new Array('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'address', 'li', 'blockquote', 'pre'); // tags you want to change 
	  	var DefaultSize = new Array(30, 24, 18, 16, 14, 12, 12, 12, 12, 12, 12); // default sizes for each tag 
	  	var DefaultSizeLH = new Array(6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8); // Difference between the line-height and font-size property - theese notes are the same for each array groups
	  
  	}
	  else {
  
  	// ========
  	// SETUP - elements for a normal listing page
  	// ========

			var Objs = new Array('h1');
			var DefaultSize = new Array(30, 0);
  		var DefaultSizeLH = new Array(6, 0);  			
    		
  		var ListingObjs = new Array('h2', 'p');
  		var ListingDefaultSize = new Array(18, 12);
  		var ListingDefaultSizeLH = new Array(6, 8);    		
    		
		}
  }

  else {

	  if (cookie == 'boxbig' || cookie == 'listbig' || activeStyleSheet == 'listbig' || activeStyleSheet == 'boxbig' || (!cookie && !activeStyleSheet)) {
  
			// ========
			// SETUP - elements for a portfolio or products category / big lists
			// ========

		  var Objs = new Array('h1'); 
		  var DefaultSize = new Array(30,0); 
		  var DefaultSizeLH = new Array(6,0);    			  
		  
		  var PortfolioObjs = new Array('h1', 'h2', 'p');
		  var PortfolioDefaultSize = new Array(30, 18, 12);
		  var PortfolioDefaultSizeLH = new Array(6, 6, 8);
    		
 		}
  	else {

  		// ========
  		// SETUP - elements for a portfolio or products category / small lists
  		// ========
  
		  var Objs = new Array('h1');
		  var DefaultSize = new Array(30,0);
		  var DefaultSizeLH = new Array(6,0);   
		  	
		  var PortfolioObjs = new Array('h1', 'h2', 'p');
		  var PortfolioDefaultSize = new Array(30, 15, 11);
		  var PortfolioDefaultSizeLH = new Array(6, 6, 7);    			
  	}
  }
  
  if (document.getElementById("Description") != null) {
		
		// ========
		// SETUP - the category description element
		// ========

	  var DescObjs = new Array('span');
	  var DescDefaultSize = new Array(16,0);
	  var DescDefaultSizeLH = new Array(8,0);    		
  }
  
  // SETUP ENDS HERE

  if (Objs != null) {
 	 for (j = 0 ; j < Objs.length ; j++) {
  	ChangeFontSize(Opt, Objs[j], DefaultSize[j], DefaultSizeLH[j],"ArticleContent"); // last parameter is the id of parent object of the elements you setted up
   }
  }
    		
  if (PortfolioObjs != null) {
   for (j = 0 ; j < PortfolioObjs.length ; j++) {
   	ChangeFontSize(Opt, PortfolioObjs[j], PortfolioDefaultSize[j], PortfolioDefaultSizeLH[j], "PortfolioList");
   }    		
  }
    		
  if (DescObjs != null) {
   for (j = 0 ; j < DescObjs.length ; j++) {
   	ChangeFontSize(Opt, DescObjs[j], DescDefaultSize[j], DescDefaultSizeLH[j], "Description");
   }   
  }  	
    		
  if (ListingObjs != null) {
   for (j = 0 ; j < ListingObjs.length ; j++) {
   ChangeFontSize(Opt, ListingObjs[j], ListingDefaultSize[j], ListingDefaultSizeLH[j], "ListingList");
  }     		

 }	    		
}
    	
function ResetFontSize() {
	ChangeFont('Reset')
 }
    	
function ChangeFontSize(Opt, Obj, DefaultSize, Increment, Container) {
    	
	var container = document.getElementById(Container);
  if (container != null) {
  	
  	var Obj = container.getElementsByTagName(Obj);
    	
  	for (i = 0 ; i < Obj.length ; i++) {
    	
			if (!Obj[i].style.fontSize) {
				Obj[i].style.fontSize = DefaultSize+'px';
			}
	
			actualSize = parseInt(Obj[i].style.fontSize.replace("px",""));
			
			if (Opt == 'increase') {    	 
				newSize = actualSize+1; 
				newLineHeight = newSize+Increment;  	
				Obj[i].style.fontSize = newSize+'px';
				Obj[i].style.lineHeight = newLineHeight+'px';
			}
		
			if (Opt == 'decrease') {    	 
				newSize = actualSize-1;   
				newLineHeight = newSize+Increment; 	
			  Obj[i].style.fontSize = newSize+'px';
			  Obj[i].style.lineHeight = newLineHeight+'px';
			 }
		    	
			if (Opt == 'Reset' || Opt == 'default') {    	 
				newSize = '';   
				newLineHeight = ''; 	
				Obj[i].style.fontSize = newSize;
				Obj[i].style.lineHeight = newLineHeight;
			}    	
	
		} // for ends here
	}
}


