/*--------------------------------------------------------------------*\
| This file is part of Videocore 3.1                                  *|
|---------------------------------------------------------------------*|
| Copyright (C) 2008 Silversoft Solutions Ltd. All Rights Reserved    *|
| This file may not be redistributed in whole or significant part     *|
| Videocore is not Free Software | http://www.videocore.com           *|
|-------------------------------------------------------------------- *|
| For more information see http://www.videocore.com/license.html      *|
\*--------------------------------------------------------------------*/

function get_element (id)
{
	if (document.getElementById)
	{
		return document.getElementById(id);
	}
	else if (document.all)
	{
		return document.all[id];
	}
	else if (document.layers)
	{
		return document.layers[id];
	}
	else
	{
		return null;
	}
}

function show_hide (element)
{
	// ##### CHECK IF PASSED OBJECT #####
	if (typeof element == 'string')
	{
		element = get_element (element);
	}
	
	if (element)
	{
		if (element.style.display == "none")
		{
			element.style.display = "";
		}
		else
		{
			element.style.display = "none";
		}
	}
}

function hide (element)
{
	// ##### CHECK IF PASSED OBJECT #####
	if (typeof element == 'string')
	{
		element = get_element (element);
	}
	
	// ##### HIDE ELEMENT #####
	if (element)
	{
		element.style.display = 'none';
	}
}

function show (element)
{
	// ##### CHECK IF PASSED OBJECT #####
	if (typeof element == 'string')
	{
		element = get_element (element);
	}

	// ##### SHOW ELEMENT #####
	if (element)
	{
		element.style.display = '';
	}
}

function set_cookie (name, value)
{
	var expiration = new Date ();
	expiration.setDate(expiration.getDate() + 365);
	document.cookie = name + "=" + escape(value) + ";path=/;expires=" + expiration.toGMTString();
}

function get_cookie (name)
{
	if (document.cookie.length > 0)
	{
		var start = document.cookie.indexOf(name + "=");
		if (start != -1)
		{ 
			var start = start + name.length + 1; 
			var end = document.cookie.indexOf(';', start);
			if (end == -1)
			{
				var end = document.cookie.length;
			}
			return unescape(document.cookie.substring(start, end));
		}
	}
	return '';
}

function ajax_returned_error (array)
{
	if (typeof(array['error']) != 'undefined')
	{
		Dialog.Error(array['error']);
		return true;
	}
	return false;
}


// ##### USED FOR DEBUGGING #####
function print_r(input, _indent)
{
	var indent = (typeof(_indent)=='string') ? _indent + '    ' : '    ';
	var paren_indent = (typeof(_indent)=='string') ? _indent + '    ':'';

	if ( typeof(input) == 'string' )
	{
		var output = "'"+ input +"'\n";
	}
	else if ( typeof(input) == 'boolean' )
	{
		var output = (input?'true':'false') +"\n";
	}
	else if ( typeof(input) == 'object' )
	{
		var output = paren_indent + ((input.reverse)?'Array':'Object') +"\n";
		output += paren_indent + "(\n";
		for ( var i in input )
		{
			output += indent + "["+ i +"] => "+ print_r(input[i], indent);
		}
		output += paren_indent + ")\n"
	}
	return output;
}

function get_style_property (element, property)
{
	// ##### CHECK IF PASSED OBJECT #####
	if (typeof element == 'string')
	{
		element = get_element (element);
	}
	
	// ##### SEE IF SET INLINE #####
	if (eval ('element.style.' + property) != 'undefined' && eval ('element.style.' + property) != '')
	{
		return eval ('element.style.' + property);
	}
	else
	{
		return null;
	}
}

function default_category (this_category)
{
	if (this_category.toLowerCase() == 'uncategorized')
	{
		alert('You cannot Delete \'' + this_category + '\' Category');
		return false;
	}
	else
	{
		if (confirm('Are you sure you want to delete \'' + this_category + '\' and all of its subcategories?'))
		{
			return true;
		}
	}
}
