/* == FILE INFO ==
 * File Name : fit2viewport.js
 * Purpose   : This file is part of the "Villa Philadelphia Websolution" project.
 *
 * == COPYRIGHT ==
 * Copyright (C) 2006-2008, Stefan Kovachev
 * All Rights Reserved
 *
 * ==  LICENCE  ==
 * 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, version 3 of the License.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see http://www.gnu.org/licenses/.
 * ===============
 */
var fit2viewport = {};

fit2viewport.center = 
{
	top: 0,
	left: 0
}

fit2viewport.get_viewport_height = function() {
	var viewportheight;

	// Mozilla/Opera/IE7
	if (typeof window.innerWidth != 'undefined'){
		viewportheight = window.innerHeight;
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight !='undefined' && document.documentElement.clientHeight != 0){
		viewportheight = document.documentElement.clientHeight;
	} else {
		viewportheight = document.getElementsByTagName('body')[0].clientHeight;
	}

	return viewportheight;
};

fit2viewport.get_viewport_width = function() {
	var viewportwidth;

	// Mozilla/Opera/IE7
	if (typeof window.innerWidth != 'undefined'){
		viewportwidth = window.innerWidth;
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight !='undefined' && document.documentElement.clientHeight != 0){
		viewportwidth = document.documentElement.clientWidth;
	} else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
	}

	return viewportwidth;
};

fit2viewport.resize_content = function()
{
	var isIE = window.ActiveXObject ? true : false;
	var vp_width = fit2viewport.get_viewport_width(), cd, el, brd;
	
	fit2viewport.center.left = vp_width/2;
	fit2viewport.center.top = fit2viewport.get_viewport_height()/2;
	
	brd = (isIE) ? 5 : 18;
	vp_width = (vp_width < 950) ? 950 : (vp_width - brd);
	cd = (vp_width < 1600) ? (1600 - vp_width + brd)/2 : 0;
		
	el = document.getElementById('size_control_div');
	el.style.width = vp_width + 'px';
		
	el = document.getElementById('main_content_table');
	el.style.left = '-' + cd + 'px';

	return;
};
	
fit2viewport.image_layer = function(img_url)
{
	var t, l, el = document.getElementById('image_layer_div');
	
	el.innerHTML  = '<div id="image_layer_loading" style="dislpay: block; color: #000000;"><div style="float: left;"><img src="images/wait.gif" width="18" height="18" alt="" /></div><div style="float: left; margin: 2px 0px 0px 0px;">&nbsp;LOADING</div></div>';
	el.innerHTML += '<img style="position: relative; top: -10000px; left: -10000px; cursor: pointer;" id="image_layer_image" src="'+img_url+'" onclick="javascript:fit2viewport.image_layer_hide();" onload="javascript:fit2viewport.image_layer_resize();" alt="" />';
	
	t = fit2viewport.center.top - 10;
	l = fit2viewport.center.left - 50;
	
	el.style.top = t + 'px';
	el.style.left = l + 'px';
	el.style.width = '70px';
	el.style.height = '18px';
	el.style.display = 'block';
};

fit2viewport.image_layer_resize = function()
{
	var t, l, w, h, img, el;
	
	el = document.getElementById('image_layer_image');
	el.style.top  = '0px';
	el.style.left = '0px';
	
	img = new Image();
	img.src = el.src;
	
	el = document.getElementById('image_layer_loading');
	el.style.display = 'none';
	
	t = fit2viewport.center.top  - img.height/2; t = (t < 0) ? 0 : t;
	l = fit2viewport.center.left - img.width/2;  l = (l < 0) ? 0 : l;
	w = img.width; h = img.height;
	
	el = document.getElementById('image_layer_div');
	el.style.top    = t + 'px';
	el.style.left   = l + 'px';
	el.style.width  = w + 'px';
	el.style.height = h + 'px';
};

fit2viewport.image_layer_hide = function()
{
	var el = document.getElementById('image_layer_div');
	el.innerHTML = '';
	el.style.display = 'none';
};

window.onresize = fit2viewport.resize_content;
