function toggleWebListingModal(smenu_name)
{
	templateModalDiv.style.height = parseInt(templateOverallDiv.offsetHeight-100)+'px';
	if (templateModalDiv.style.visibility=='visible')
	{
		//templateModalDiv.style.visibility = 'hidden';
		
		//alert(document.getElementById('footer_item_'+smenu_name).className);
		if(document.getElementById('footer_item_'+smenu_name).className!="listing_active")
		{
			if (document.getElementById('VideoViewer_VideoPlayer')!=undefined && document.getElementById('VideoViewer_VideoPlayer')!=null)
			{
				document.getElementById('VideoViewer_VideoPlayer').style.visibility = 'hidden';
			}
			//hide other menus
			document.getElementById('footer_menu_book_product').style.visibility = "hidden";
			document.getElementById('footer_item_book_product').className        = "";
			document.getElementById('footer_menu_author').style.visibility       = "hidden";
			document.getElementById('footer_item_author').className              = "";
			document.getElementById('footer_menu_espanol').style.visibility      = "hidden";
			document.getElementById('footer_item_espanol').className             = "";
			document.getElementById('footer_menu_bible').style.visibility        = "hidden";
			document.getElementById('footer_item_bible').className               = "";
			document.getElementById('footer_menu_other').style.visibility        = "hidden";
			document.getElementById('footer_item_other').className               = "";
			
			templateModalDiv.style.visibility = 'visible';
			
			//set position on menu
			newTop  = parseInt(templateModalDiv.style.height.replace('px',''))-250;
			newLeft = parseInt((templateBodyDiv.offsetWidth-960)/2);
			newLeft += 360;
			if (newLeft<0)
				newLeft=0;
			//newLeft = (parseInt(templateBodyDiv.offsetWidth) - parseInt(templateModalDiv.style.width.replace('px','')))+0;
			document.getElementById('footer_menu_'+smenu_name).style.top  = newTop+'px';
			document.getElementById('footer_menu_'+smenu_name).style.left = newLeft+'px';
			
			//show this menu
			document.getElementById('footer_menu_'+smenu_name).style.visibility="visible";
			document.getElementById('footer_item_'+smenu_name).className="listing_active";
		}
		else
		{
			if (document.getElementById('VideoViewer_VideoPlayer')!=undefined && document.getElementById('VideoViewer_VideoPlayer')!=null)
			{
				document.getElementById('VideoViewer_VideoPlayer').style.visibility = 'visible';
			}
			templateModalDiv.style.visibility = 'hidden';
			//hide other menus
			document.getElementById('footer_menu_book_product').style.visibility = "hidden";
			document.getElementById('footer_item_book_product').className        = "";
			document.getElementById('footer_menu_author').style.visibility       = "hidden";
			document.getElementById('footer_item_author').className              = "";
			document.getElementById('footer_menu_espanol').style.visibility      = "hidden";
			document.getElementById('footer_item_espanol').className             = "";
			document.getElementById('footer_menu_bible').style.visibility        = "hidden";
			document.getElementById('footer_item_bible').className               = "";
			document.getElementById('footer_menu_other').style.visibility        = "hidden";
			document.getElementById('footer_item_other').className               = "";
		}
	}
	else
	{
		templateModalDiv.style.visibility = 'visible';
		if (document.getElementById('VideoViewer_VideoPlayer')!=undefined && document.getElementById('VideoViewer_VideoPlayer')!=null)
		{
			document.getElementById('VideoViewer_VideoPlayer').style.visibility = 'hidden';
		}

		//hide other menus
		document.getElementById('footer_menu_book_product').style.visibility = "hidden";
		document.getElementById('footer_item_book_product').className        = "";
		document.getElementById('footer_menu_author').style.visibility       = "hidden";
		document.getElementById('footer_item_author').className              = "";
		document.getElementById('footer_menu_espanol').style.visibility      = "hidden";
		document.getElementById('footer_item_espanol').className             = "";
		document.getElementById('footer_menu_bible').style.visibility        = "hidden";
		document.getElementById('footer_item_bible').className               = "";
		document.getElementById('footer_menu_other').style.visibility        = "hidden";
		document.getElementById('footer_item_other').className               = "";

		//set position on menu
		newTop  = parseInt(templateModalDiv.style.height.replace('px',''))-250;
		newLeft = parseInt((templateBodyDiv.offsetWidth-960)/2);
		newLeft += 360;
		if (newLeft<0)
			newLeft=0;
		//newLeft = (parseInt(templateBodyDiv.offsetWidth) - parseInt(templateModalDiv.style.width.replace('px','')))+0;
		document.getElementById('footer_menu_'+smenu_name).style.top  = newTop+'px';
		document.getElementById('footer_menu_'+smenu_name).style.left = newLeft+'px';
		
		//show this menu
		document.getElementById('footer_menu_'+smenu_name).style.visibility="visible";
		document.getElementById('footer_item_'+smenu_name).className="listing_active";
	}
}

function toggleGenreMemu()
{
	var genreMenu   = document.getElementById('template_subnav_genre_menu');
	var genreButton = document.getElementById('template_subnav_button');
	
	//genreMenu.style.top = '362px';
	genreMenu.style.left=parseInt(((templateBodyDiv.offsetWidth-templateOverallDiv.offsetWidth)/2)+3)+'px';
	
	if (genreMenu.style.visibility=="hidden")
	{
		genreMenu.style.visibility="visible";
		if (document.getElementById('VideoViewer_VideoPlayer')!=undefined && document.getElementById('VideoViewer_VideoPlayer')!=null)
		{
			document.getElementById('VideoViewer_VideoPlayer').style.visibility = 'hidden';
		}		
	}
	else
	{
		genreMenu.style.visibility="hidden";
		if (document.getElementById('VideoViewer_VideoPlayer')!=undefined && document.getElementById('VideoViewer_VideoPlayer')!=null)
		{
			document.getElementById('VideoViewer_VideoPlayer').style.visibility = 'visible';
		}
	}
}

function neat_trim(str, charcount)
{
	var strarr = str.split(' ');
	var strret = '';
	var bork = false;

	for (i in strarr)
	{
		if ( strret.length>charcount )
		{
			bork = true;
			break;
		}
		strret = strret+strarr[i]+' ';
	}
	return strret.trim()+(bork || !strret.endsWith('.') ? '...' : '');
}

function changecss(theclass, element, value)
{
	var thecss = document.styleSheets;
	if (thecss[0].cssRules)
		cssRules = 'cssRules'; // standards compliant
	else
		cssRules = 'rules'; // IE
	
	for (var i=0; i<thecss.length; i++)
	{
		for (var j=0; j<thecss[i][cssRules].length; j++)
		{
			if (thecss[i][cssRules][j].selectorText == theclass)
				thecss[i][cssRules][j].style[element] = value;
		}
	}
}



String.prototype.trim = function()
{return (this.replace(/^[\s\xA0]+/, '').replace(/[\s\xA0]+$/, ''));}

String.prototype.startsWith = function(str)
{return (this.match("^"+str)==str);}

String.prototype.endsWith = function(str)
{return (this.match(str+"$")==str);}


