/**
 * remove cookie function
 *	@param c	cookie name
 *	@param r	redirect url
 */
function logout(c, r)
{
	document.cookie = c + '=; path=/; expires=Fri, 02-Jan-1970 00:00:00 GMT';
	document.location = r;
}



function hoverEffects() {
	//get all elements (text inputs, passwords inputs, textareas)
	var elements = document.getElementsByTagName('input');
	var j = 0;
	var hovers = new Array();
	for (var i4 = 0; i4 < elements.length; i4++) {
		if((elements[i4].type=='text')||(elements[i4].type=='password')) {
			hovers[j] = elements[i4];
			++j;
		}
	}
	elements = document.getElementsByTagName('textarea');
	for (var i4 = 0; i4 < elements.length; i4++) {
		hovers[j] = elements[i4];
		++j;
	}
	
	//add focus effects
	for (var i4 = 0; i4 < hovers.length; i4++) {
		hovers[i4].onfocus = function() {this.className += "Hovered";}
		hovers[i4].onblur = function() {this.className = this.className.replace(/Hovered/g, "");}
	}
}

function isVal(variable)
{
	return (variable != '' && variable != undefined && variable != null);
}


/*
*	Search element in array
*/
function arraySearch(needle, haystack)
{
	var found = false;
	
	for(var i = 0; i < haystack.length; i++)
	{
		if(haystack[i] == needle)
		{
			found = true;
			break;
		}
	}
	
	if(found)
		return i
	else
		return -1;
}


/*
*	Delete element by value
*/
function arrayDelElement(value, haystack)
{
	return arrayMoveL(arraySearch(value, haystack), haystack);
}


/*
*	Delete element by index
*/
function arrayDelElementByIndex(index, haystack)
{
	return arrayMoveL(index, haystack);
}


/*
*	Move all elements one position left starting from index position
*/
function arrayMoveL(index, haystack)
{
	if(index < 0 || index > haystack.length)
		return haystack;
		
	for(var i = index; i < haystack.length-1; i++)
		haystack[i] = haystack[i+1];
		
	haystack.pop();
		
	return haystack;
}


/*
*	Print Array Information
*/
function printArrayInfo(array)
{
	alert(array + "\n"+array.length);
}


/*
*	Hide preload screen
*/
function hideScreen()
{
	gSystemMain.hideObject('screen');
	gSystemMain.hideObject('screenMessage');
	//alert('!');
}

/*
*	Show preload screen
*/
function showScreen()
{
	gSystemMain.showObject('screen');
	gSystemMain.showObject('screenMessage');
	//alert('');
}


function setCookie(name, value, hours)
{
	if(!isVal(hours))
		hours = 12;
		
	if(hours)
	{
		var date = new Date();
		date.setTime(date.getTime()+(hours*3600));
		var expires = "; expires=" + date.toGMTString();
	}
	else
		var expires = "";
	document.cookie = name+'='+value+expires+'; path=/';
}


function getCookie(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 unsetCookie(name)
{
	set_cookie(name,"",-1);
}