/***************************************************************************************\
 *  HEAZKY JAVASCRIPT LIBRARY  v1.0                                                    *
 *  (c) Philip Dubois (Heazky), mail@philipdubois.be                                   *
\***************************************************************************************/

/* ----------------------------------------------------------------------------------- */

/*
 * GetPageScroll
 * -------------------
 * Returns array with x,y page scroll values.
 * Core code from - quirksmode.org.
 *
 */
function getPageScroll()
	{
	var xScroll;
	var yScroll;

	if(self.pageYOffset)
		{ // Non-IE
		xScroll = self.pageXOffset;
		yScroll = self.pageYOffset;
		}
	else if(document.documentElement && document.documentElement.scrollTop)
		{ // IE 6 Strict
		xScroll = document.documentElement.scrollLeft;
		yScroll = document.documentElement.scrollTop;
		}	
	else if (document.body)
		{ // IE
		xScroll = document.body.scrollLeft;
		yScroll = document.body.scrollTop;
		}

	arrayPageScroll = new Array(xScroll, yScroll); 
	return arrayPageScroll;
	}

/* ----------------------------------------------------------------------------------- */

/*
 * GetPageSize
 * -------------------
 * Returns array with page width, height and window width, height.
 * Core code from - quirksmode.org.
 *
 */
function getPageSize()
	{
	var xScroll, yScroll;
	
	if(window.innerHeight && window.scrollMaxY)
		{	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
		}
	else if(document.body.scrollHeight > document.body.offsetHeight)
		{	// Non-IE Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
		}
	else
		{	// IE Mac...would also work in IE 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
		}
	
	var windowWidth, windowHeight;
	
	if(self.innerHeight)
		{ // Non-IE
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
		}
	else if(document.documentElement && document.documentElement.clientHeight)
		{ // IE 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
		}
	else if(document.body)
		{ // Other IE
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
		}	
	
	// For small pages with total height less then height of the viewport
	if(yScroll < windowHeight)
		pageHeight = windowHeight;
	else 
		pageHeight = yScroll;

	// For small pages with total width less then width of the viewport
	if(xScroll < windowWidth)	
		pageWidth = windowWidth;
	else
		pageWidth = xScroll;

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
	}

/* ----------------------------------------------------------------------------------- */

/*
 * Show/Hide/Toggle Element
 * -------------------
 *
 */
function show(element)
	{
	document.getElementById(element).style.visibility = 'visible';
	document.getElementById(element).style.display = 'block';
	}

function hide(element)
	{
	document.getElementById(element).style.visibility = 'hidden';
	document.getElementById(element).style.display = 'none';
	}

function toggle(element)
	{
	if(getDisplay(element) == 'none')
		show(element);
	else
		hide(element);
	}

function toggleTD(element)
	{
	if(getDisplay(element) == 'none')
		setDisplay(element, 'table-cell');
	else
		setDisplay(element, 'none');
	}

/* ----------------------------------------------------------------------------------- */

/*
 * New Image
 * -------------------
 * Maakt een nieuw image-object aan en initialiseert de source.
 *
 */
function newImage(url)
	{
	if(document.images)
		{
		img = new Image();
		img.src = url;
		return img;
		}
	}

/* ----------------------------------------------------------------------------------- */

/*
 * Get Routines
 * -------------------
 *
 */
function getValue(element)
	{
	return document.getElementById(element).value;
	}

function getURL(element)
	{
	return document.getElementById(element).href;
	}

function getBackgroundImage(element)
	{
	return document.getElementById(element).style.backgroundImage;
	}

function getTop(element)
	{
	return document.getElementById(element).style.top;
	}

function getBottom(element)
	{
	return document.getElementById(element).style.bottom;
	}

function getLeft(element)
	{
	return document.getElementById(element).style.left;
	}

function getRight(element)
	{
	return document.getElementById(element).style.right;
	}

function getWidth(element)
	{
	return document.getElementById(element).style.width;
	}

function getHeight(element)
	{
	return document.getElementById(element).style.height;
	}

function getPadding(element)
	{
	return document.getElementById(element).style.padding;
	}

function getPaddingTop(element)
	{
	return document.getElementById(element).style.paddingTop;
	}

function getPaddingBottom(element)
	{
	return document.getElementById(element).style.paddingBottom;
	}

function getPaddingLeft(element)
	{
	return document.getElementById(element).style.paddingLeft;
	}

function getPaddingRight(element)
	{
	return document.getElementById(element).style.paddingRight;
	}

function getBackgroundColor(element)
	{
	return document.getElementById(element).style.backgroundColor;
	}

function getMarginTop(element)
	{
	return document.getElementById(element).style.marginTop;
	}

function getMarginBottom(element)
	{
	return document.getElementById(element).style.marginBottom;
	}

function getMarginLeft(element)
	{
	return document.getElementById(element).style.marginLeft;
	}

function getMarginRight(element)
	{
	return document.getElementById(element).style.marginRight;
	}

function getDisplay(element)
	{
	return document.getElementById(element).style.display;
	}
	
function getVisibility(element)
	{
	return document.getElementById(element).style.visibility;
	}
/* ----------------------------------------------------------------------------------- */

/*
 * Set Routines
 * -------------------
 *
 */
function setOnClick(element, func) { document.getElementById(element).onclick = eval(func); }

function setURL(element, value) { document.getElementById(element).href = value; }

function setBackgroundImage(element, value) { document.getElementById(element).style.backgroundImage = 'url(' + value + ')'; }

function setTop(element, value) { document.getElementById(element).style.top = value; }

function setBottom(element, value) { document.getElementById(element).style.bottom = value; }

function setLeft(element, value) { document.getElementById(element).style.left = value; }

function setRight(element, value) { document.getElementById(element).style.right = value; }

function setWidth(element, value) { document.getElementById(element).style.width = value; }

function setHeight(element, value) { document.getElementById(element).style.height = value; }

function setPadding(element, value) { document.getElementById(element).style.padding = value; }

function setPaddingTop(element, value) { document.getElementById(element).style.paddingTop = value; }

function setPaddingBottom(element, value) { document.getElementById(element).style.paddingBottom = value; }

function setPaddingLeft(element, value) { document.getElementById(element).style.paddingLeft = value; }

function setPaddingRight(element, value) { document.getElementById(element).style.paddingRight = value; }

function setBackgroundColor(element, value) { document.getElementById(element).style.backgroundColor = value; }

function setInnerHTML(element, value) { document.getElementById(element).innerHTML = value; }

function setSrc(element, value) { document.getElementById(element).src = value; }

function setMarginTop(element, value) { document.getElementById(element).style.marginTop = value; }

function setMarginBottom(element, value) { document.getElementById(element).style.marginBottom = value; }

function setMarginLeft(element, value) { document.getElementById(element).style.marginLeft = value; }

function setMarginRight(element, value) { document.getElementById(element).style.marginRight = value; }

function setDisplay(element, value) { document.getElementById(element).style.display = value; }
	
function setVisibility(element, value) { document.getElementById(element).style.visibility = value; }

/* ----------------------------------------------------------------------------------- */
