﻿function startCatExpand(e,element)
		{
			//if(navigator.platform.indexOf("Mac") > -1 && navigator.userAgent.indexOf("Netscape") > -1) return;
			if(e.type != "onmouseenter")
			{
				var fromElement = e.relatedTarget || e.fromElement;
				while (fromElement && fromElement != element )//&& fromElement.nodeName != 'BODY')
					fromElement = fromElement.parentNode;
				if (fromElement == element)
					 return;      
			}
			var tableElement = element;
			
			var imgElement = tableElement.getElementsByTagName('img')[0];//tableElement.firstChild.firstChild.firstChild.firstChild.firstChild;

			element.parentNode.style.height = imgElement.height +10 + "px";
			
			if(!imgElement.inited)
				init(imgElement);

			//tableElement.style.width = "100%";//tableElement.offsetWidth;
			tableElement.className = "gr_expanded";
			
			tableElement.parentNode.style.zIndex = 1;
			window.clearTimeout(imgElement.imgDelayID);
			imgElement.imgDelayID = window.setTimeout(imgElement.expand,300);
		}
		
		function expandImage(e,element)
		{
		var imgElement = element;
		
		if(!imgElement.inited)
				init(imgElement);
		window.clearTimeout(imgElement.imgDelayID);
		imgElement.imgDelayID = window.setTimeout(imgElement.expand,300);
		}
		
		function init(imgElement)
		{
		   
			imgElement.originalHeight = imgElement.height;
			imgElement.originalWidth = imgElement.width;
			
			
			imgElement.expand = function() 
								{
									var factor = Math.round(imgElement.height*.06);
									if(imgElement.width + factor < imgElement.originalWidth*2)
									{
										imgElement.width += factor;
										imgElement.height += factor;
										imgElement.imgDelayID = window.setTimeout(imgElement.expand,18);
									}
									else
									{
										imgElement.width = imgElement.originalWidth*2;
										imgElement.height = imgElement.originalHeight*2;
										var tableElement = imgElement.parentNode.parentNode.parentNode.parentNode.parentNode;
										showElements(tableElement);
										var b= imgElement.src;
                                        b= b.substring(b.lastIndexOf('=') + 1);
                                        imgElement.src = 'showpicture.aspx?width=' +imgElement.width +'&height=0&img=' + b;
									}
								};
			imgElement.contract = function() 
								{
									var factor = Math.round(imgElement.width*.04);
									if(imgElement.width>imgElement.height)
								    {
								        factor = Math.round(imgElement.width*.06)
								    }
									if(factor!=0)
									{
									     if(imgElement.width>imgElement.height)
									     {
									        if(imgElement.height - factor > imgElement.originalHeight)
									        {
										        imgElement.width -= factor;
										        imgElement.height -= factor;
										        imgElement.imgDelayID = window.setTimeout(imgElement.contract,16);
									        }
									        else
									        {
										        imgElement.width = imgElement.originalWidth;
										        imgElement.height = imgElement.originalHeight;
										        var b= imgElement.src;
                                                b= b.substring(b.lastIndexOf('=') + 1);
                                                imgElement.src = 'showpicture.aspx?width=' +imgElement.width +'&height=0&img=' + b;
										        var parentTable = imgElement.parentNode.parentNode.parentNode.parentNode.parentNode;
        										
										        parentTable.className = "gr_expandable";
										        parentTable.parentNode.style.zIndex = 0;
									        }
									    }
									    else
								        {
									        if(imgElement.width - factor > imgElement.originalWidth)
									        {
										        imgElement.width -= factor;
										        imgElement.height -= factor;
										        imgElement.imgDelayID = window.setTimeout(imgElement.contract,15);
									        }
									        else
									        {
										        imgElement.width = imgElement.originalWidth;
										        imgElement.height = imgElement.originalHeight;
										        var b= imgElement.src;
                                                b= b.substring(b.lastIndexOf('=') + 1);
                                                imgElement.src = 'showpicture.aspx?width=' +imgElement.width +'&height=0&img=' + b;
										        var parentTable = imgElement.parentNode.parentNode.parentNode.parentNode.parentNode;
    										    
										        parentTable.className = "gr_expandable";
										        parentTable.parentNode.style.zIndex = 0;
									        }
									    }
									 }
								};
			
            
			imgElement.inited = true;
		}
		
		function endCatExpand(e,element)
		{
			//if(navigator.platform.indexOf("Mac") > -1 && navigator.userAgent.indexOf("Netscape") > -1) return;
			if(e.type != "onmouseleave")
			{
				var toElement = e.relatedTarget || e.toElement;
				while(toElement && toElement != element && toElement.nodeName != 'BODY')
					toElement = toElement.parentNode;
				if(toElement == element)
					return;
			}

			var tableElement = element;
			var imgElement = tableElement.getElementsByTagName('img')[0];//tableElement.firstChild.firstChild.firstChild.firstChild.firstChild;
			
			window.clearTimeout(imgElement.imgDelayID);
			
			hideElements(tableElement);
			imgElement.contract();
		}
		
		function showElements(element)
		{
			var trElements = element.getElementsByTagName('td');//element.getElementsByTagName('tr')[0].childNodes;//element.firstChild.firstChild.childNodes;
			
			for(var i=0;i<trElements.length;i++)
			{
				if(trElements[i].getAttribute("hideexp") == "1")
					trElements[i].style.display = "none";
				else
				{
					if(trElements[i].style.display == "none")
					{
						trElements[i].style.display = "";
						trElements[i].rehide = true;
					}
				}
			}
		}

		function hideElements(element)
		{
			var trElements = element.getElementsByTagName('td');//element.getElementsByTagName('tr')[0].childNodes;//firstChild.firstChild.childNodes;
			for(var i=0;i<trElements.length;i++)
			{
				if(trElements[i].getAttribute("hideexp") == "1")
					trElements[i].style.display = "";
				if(trElements[i].rehide)
				{
					trElements[i].style.display = "none";
				}
			}
		}