function toggleVisibility(element, type)
{
	if (!type)
		type='block';
	if (element.style.display==type || element.style.display=='')
		element.style.display='none';
	else
		element.style.display=type;
	return element.style.display==type;
}

var activeCart=null;

function hideCarts(except, cards)
{
	for ( i=0 ; i<cards.length ; ++i )
		toggleVisibility(cards[i]);
	if (except!='')
		showCart(except);
}

function showCart(cartName)
{
	if (activeCart)
		toggleVisibility(document.getElementById(activeCart));
	activeCart=cartName;
	toggleVisibility(document.getElementById(cartName));
}

function getElementsByClassName(clsName, fromElement){
    var retVal = new Array();
    if (!fromElement)
    	fromElement=document;
    var elements = fromElement.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

function CreateBookmarkLink(url, title) {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
 }
 
function toggleHidden()
{
	var elements=getElementsByClassName('hidden');
	for ( i=0 ; i<elements.length ; ++i )
		toggleVisibility(elements[i]);
}
 
function fetchMetatags(url)
{
	var content=new Array();
	content['action']="fetchMetatags";
	content['url']=url;
	var ajax=new AjaxRequest();
	ajax.setCallback(fetchMetatagsCallback);
	ajax.send('ajax.php', content);
}
 
function fetchMetatagsCallback(json)
{
	var r=evalResponse(json);
	document.addsite.site_title.value=unescape(r.title);
	document.addsite.site_description.value=unescape(r.description);
	document.addsite.site_tags.value=unescape(r.keywords);
}

function updateLengthCounter(value, param, min, max)
{
	var container=document.getElementById(param + '_length');
	container.innerHTML=value.length;
	container.style.color=(value.length<max && value.length>min) ? '#00FF00' : '#FF0000';
}