//FW Resize Font Javascript//
/**
* FW Resize Font Javascript
* @package Joomla
* @copyright Copyright (C) 2006 Futureworkz Pte. Ltd. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* 
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*/

function FWresizeFont(resize) {
	if (!document.getElementById) {
		return;
	}
		
	docBody = document.getElementsByTagName('body')[0];
	for (i = 0 ; i < tags.length ; i++ ) {		
		allTags = docBody.getElementsByTagName(tags[i]);
		
		if (resize > 0) {
			for (k = 0 ; k < allTags.length ; k++) {
				var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
				if (size) {
					if (size < 16){
					allTags[k].style.fontSize = (size + increment) + 'px';
					}
				} else {
					allTags[k].style.fontSize = defaultSize + 'px';
				}
			}			
		} else {
			for (k = 0 ; k < allTags.length ; k++) {
				var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
				if (size && size > 2) {
					if (size > 12){
					allTags[k].style.fontSize = (size - increment) + 'px';
					}
				} else {
					allTags[k].style.fontSize = defaultSize + 'px';
				}
			}			
		}
	}
	//alert(defaultSize);	
	
	var productElement = (window.frames['iframe'] != null) ? true : false;
			if (productElement){
				docBody = window.frames['iframe'].document.getElementsByTagName('body')[0];
				for (i = 0 ; i < tags.length ; i++ ) {		
					allTags = docBody.getElementsByTagName(tags[i]);
					
					if (resize > 0) {
						for (k = 0 ; k < allTags.length ; k++) {
							var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
							if (size) {
								if (size < 16){
								allTags[k].style.fontSize = (size + increment) + 'px';
								}
							} else {
								allTags[k].style.fontSize = defaultSize + 'px';
							}
						}			
					} else {
						for (k = 0 ; k < allTags.length ; k++) {
							var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
							if (size && size > 2) {
								if (size > 12){
								allTags[k].style.fontSize = (size - increment) + 'px';
								}
							} else {
								allTags[k].style.fontSize = defaultSize + 'px';
							}
						}			
					}
				}
				setTimeout("framer()",10);
			}
	
	if(resize > 0){
		if(size < 16){
			resizeCounter++;
		}
	}else{
		if(size > 12){
			resizeCounter--;
		}
	}
	
	//resize > 0 ? resizeCounter++ : resizeCounter--;
}

function setFontSize(resizeCounter) {
	docBody = document.getElementsByTagName('body')[0];
	for (i = 0 ; i < tags.length ; i++ ) {		
		allTags = docBody.getElementsByTagName(tags[i]);		
		for (k = 0 ; k < allTags.length ; k++) {
			var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
			
			var resize = size + resizeCounter;		
			if (!size) {
				allTags[k].style.fontSize = (parseInt(defaultSize) + parseInt(resizeCounter)) + 'px';
			} else if (size && resize > 0) {
				allTags[k].style.fontSize = resize + 'px';
			}
		}
	}
	
	var productElement = (window.frames['iframe'] != null) ? true : false;
			if (productElement){
				docBody = window.frames['iframe'].document.getElementsByTagName('body')[0];
				for (i = 0 ; i < tags.length ; i++ ) {		
					allTags = docBody.getElementsByTagName(tags[i]);		
					for (k = 0 ; k < allTags.length ; k++) {
						var size = parseInt(allTags[k].style.fontSize.substring(0,allTags[k].style.fontSize.length-2));
						var resize = size + resizeCounter;			
						if (!size) {
							allTags[k].style.fontSize = (parseInt(defaultSize) + parseInt(resizeCounter)) + 'px';
						} else if (size && resize > 0) {
							allTags[k].style.fontSize = resize + 'px';
						}
					}
				}
				setTimeout("framer()",10);
			}
}


function resetFontSize() {
	docBody = document.getElementsByTagName('body')[0];
	for (i = 0 ; i < tags.length ; i++ ) {		
		allTags = docBody.getElementsByTagName(tags[i]);		
		for (k = 0 ; k < allTags.length ; k++) {
			allTags[k].style.fontSize = defaultSize + 'px';
		}
	}
	
	var productElement = (window.frames['iframe'] != null) ? true : false;
			if (productElement){
	
				docBody = window.frames['iframe'].document.getElementsByTagName('body')[0];
				for (i = 0 ; i < tags.length ; i++ ) {		
					allTags = docBody.getElementsByTagName(tags[i]);		
					for (k = 0 ; k < allTags.length ; k++) {
						allTags[k].style.fontSize = defaultSize + 'px';
					}
				}
				setTimeout("framer()",10);
			}
	
	resizeCounter = 0;
}
//cookie functions for remember the font sizes across pages
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;
}

function setUserOptions(){
	setTimeout("framer()",10);
	cookie = readCookie("FWresizeFont");
	//alert(cookie);
	if (cookie) {
		resizeCounter = cookie;
	} else {
		//return null;
		resizeCounter = 0;
	}
	
	setFontSize(resizeCounter);
	var dims = getDimensions();
	//alert(resizeCounter);
	var productElement = document.getElementById("mid");
		if (productElement != null){
			if(document.getElementById("mid").style.height < dims.y){
				document.getElementById("mid").style.height = dims.y + "px";
			}
		}
}

function saveSettings()
{
  createCookie("FWresizeFont", resizeCounter, 365);
  var dims = getDimensions();
	//alert(dims.y);
	var productElement = document.getElementById("mid");
		if (productElement != null){
			if(document.getElementById("mid").style.height < dims.y){
				document.getElementById("mid").style.height = dims.y + "px";
			}
		}
}

window.onload = setUserOptions;
window.onunload = saveSettings;
window.onresize = framer;

function framer(){
	var dims = getDimensions();
	//alert(dims.y);
	var productElement = document.getElementById("mid");
		if (productElement != null){
			if(document.getElementById("mid").style.height < dims.y){
				document.getElementById("mid").style.height = dims.y + "px";
			}
		}

	var productElement = (window.frames['iframe'] != null) ? true : false;
	
	var myWidth = 0, myHeight = 0;

			  if( typeof( window.innerWidth ) == 'number' ) {
				//Non-IE
				myHeight = window.innerHeight - 75;
			  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
				//IE 6+ in 'standards compliant mode'
				myHeight = document.documentElement.clientHeight - 75;
			  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
				//IE 4 compatible
				myHeight = document.body.clientHeight - 75;
			  }
		//if (productElement){ 
			//alert(window.frames['iframe'].document.body.clientHeight);
			//var iframeElement = parent.document.getElementById('blockrandom'); 
			//var iframeH = window.frames['blockrandom'].document.body.scrollHeight+10;
			//var iframeH = window.frames['iframe'].document.body.scrollHeight;
			//iframeElement.style.height = iframeH;
		//}else{
			//alert(myHeight);
			//var frameElement = parent.document.getElementById('mid'); 
			//var frameH = document.body.scrollHeight;
			//frameElement.style.height = myHeight;
			//if(myHeight < frameH){
			//frameElement.style.height = frameH;
			//}else{
			//frameElement.style.height = myHeight;
			//}
		//}
		
}

function getDimensions() {
	var x,y,z;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight - 89;
		z = 0;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight - 89;
		z = 17;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight - 89;
		z = 17;
	}
	
	return {x:x, y:y, z:z};
}


/*window.onload = function() {
	//var dims2 = $('frame').getDimensions(); 
	var dims = getDimensions();
	alert(dims.y);
	var productElement = document.getElementById("rechts");
		if (productElement != null){
			document.getElementById("rechts").style.height = dims.y + "px";
		}
}

window.onresize = function() {
	//var dims2 = $('site').getDimensions(); 
	var dims = getDimensions();
	alert(dims.y);
	var productElement = document.getElementById("rechts");
		if (productElement != null){
			document.getElementById("rechts").style.height = dims.y + "px";
		}
}*/
