
function prepareFormSubmit(local)
{
/*	local.action=local.action+"&zone="+getQueryVariable("zone")+"&ID="+getQueryVariable("ID"); */
}

// begin tag code
		var ismousedown=false;
		var centerx=0;
		var centery=0;
		var centerax=0;
		var centeray=0;

		var xfactor=-1;
		var yfactor=-1;

		var imagex=0;
		var imagey=0;
		var imagecx=0;
		var imagecy=0;

		var newelem=0;
		var newelemi=0;
		var newelemj=0;

		var carray=new Array(50);
		var carraycount=0;

		var myfocus=0;

		function getEvent_screenX(e)
		{
			if(window.event)
			{
				return event.screenX;
			}
			else
			{
				return e.screenX;
			}
		}
		
		function getEvent_screenY(e)
		{
			if(window.event)
			{
				return event.screenY;
			}
			else
			{
				return e.screenY;
			}
		}

		function getEvent_clientX(e)
		{
			if(window.event)
			{
				return event.clientX;
			}
			else
			{
				return e.clientX;
			}
		}
			
		function getEvent_clientY(e)
		{
			if(window.event)
			{
				return event.clientY;
			}
			else
			{
				return e.clientY;
			}
		}

		function getEvent_pageX(e)
		{
			if(window.event)
			{
				return event.clientX+document.body.scrollLeft;
			}
			else
			{
				return e.pageX;
			}
		}

		function getEvent_pageY(e)
		{
			if(window.event)
			{
				return event.clientY+document.body.scrollTop;
			}
			else
			{
				return e.pageY;
			}
		}

		function getEvent_layerX(e)
		{
			if(window.event)
			{
				if(document.addEventListener)
				{	// this if handles iCab bug
					if(event.clientX-event.offsetX==0)
					{
						return e.layerX;
					}
				}
				return event.offsetX;
			}
			else
			{

				var elt=e.target;
				var itemLeft=0;

				while(elt.offsetParent)
				{
					itemLeft+=elt.offsetLeft;
					elt=elt.offsetParent;
				}

				return e.pageX - itemLeft;				

			}
		}

		function getEvent_layerY(e)
		{
			if(window.event)
			{
				if(document.addEventListener)
				{	// this if handles iCab bug
					if(event.clientY-event.offsetY==0)
					{
						return e.layerY;
					}
				}
				return event.offsetY;
			}
			else
			{

				var elt=e.target;
				var itemTop=0;

				while(elt.offsetParent)
				{
					itemTop+=elt.offsetTop;
					elt=elt.offsetParent;
				}

				return e.pageY - itemTop;				

			}
		}

		function getEvent_target(e)
		{
			if(window.event)
			{
				return event.srcElement;
			}
			else
			{
				return e.target;
			}
		}

		function setTagPosition(i,x,y,cx,cy, imgitem)
		{
	//		alert( imgitem.offsetLeft + "," + imgitem.offsetTop);
	//		alert( imgitem.offsetParent.offsetLeft + "," + imgitem.offsetParent.offsetTop);
			
			carray[i][0]=x;
			carray[i][1]=y;
			carray[i][2]=cx;
			carray[i][3]=cy;

			// width/height is one too small (IE)
			cx++;
			cy++;

			if(imgitem)
			{
//				if(imgitem.offsetLeft>0)
//				{
//					document.getElementById("rect" + i ).style.left=x + (imgitem.offsetLeft-imgitem.offsetParent.offsetLeft) + "px";
//				}
//				else
				{
					document.getElementById("rect" + i ).style.left=x  + imgitem.offsetLeft + "px";
				}
			}
			else
			{
				document.getElementById("rect" + i ).style.left=x + "px";
			}
			if(imgitem)
			{
//				if( imgitem.offsetTop>0)
//				{
//					document.getElementById("rect" + i ).style.top=y + (imgitem.offsetTop-imgitem.offsetParent.offsetTop) + "px";			
//				}
//				else
				{
					document.getElementById("rect" + i ).style.top=y  + imgitem.offsetTop + "px";
				}
			}
			else
			{
				document.getElementById("rect" + i ).style.top=y  + "px";
			}
			document.getElementById("rect" + i ).style.width=cx + "px";
			document.getElementById("rect" + i ).style.height=cy + "px";

		}

		function getfocus(e)
		{
			var elem=getEvent_target(e);

			myfocus=elem.parentNode.parentNode;
		}

		function losefocus(e)
		{
			var elem=getEvent_target(e);

			if(elem.parentNode.parentNode.id.substring(0,4)=="rect" && document.getElementById("tagblock"))
			{
				var idc=elem.parentNode.parentNode.id.substring(4);
				document.getElementById("tag"+idc).innerHTML=elem.value;
			}

			if(myfocus && myfocus==elem.parentNode.parentNode)
			{
				myfocus=0;
			}
			if(newelemj==elem)
			{
				newelemj=0;
			}
		}

		function createTagBlock(theblock,newindex,inputvisible)
		{
			carray[carraycount]=new Array(6);

			carray[carraycount][4]=newindex;
			carray[carraycount][5]=1; // the item is active

			newelem=document.createElement("span");
			newelem.style.border="2px solid #000000";
//			newelem.style.backgroundColor="#ffff00";
			newelem.style.backgroundImage="url(images/support/transparent.gif)";
			newelem.style.position="absolute";//previously absolute
			newelem.style.width="50px";
			newelem.style.height="50px";
			newelem.style.overflow="hidden";
			newelem.style.visibility="hidden";///
			newelem.style.cursor="move";
			newelem.style.zIndex=100;
			newelem.style.padding="0 1px 1px 0";
			newelem.style.margin="0";
			newelem.id="rect" + carraycount;

			newelemi=document.createElement("span");
			newelemi.style.border="1px solid #ffffff";
			newelemi.style.width="99%";
			newelemi.style.height="99%";
			newelemi.style.position="relative";
			newelemi.style.overflow="hidden";
			newelemi.style.display="block";//new
		//	newelemi.style.padding="1px";
			newelemi.style.cursor="move";
			newelemi.style.margin="0 0px 30px 0";
		//	newelemi.style.margin="1px";
		//	newelemi.style.backgroundColor="#ff0000";
			newelemi.style.margin="0";
			newelemi.style.padding="0";

			newelemj=document.createElement("input");
			newelemj.style.position="relative";
			newelemj.style.display="block";
			newelemj.style.border="0";
			newelemj.style.margin="0";
			newelemj.style.left="0";
			newelemj.style.top="-1px";
			//newelemj.style.width="100%";
			newelemj.style.backgroundColor="#ccccff";
			if(!inputvisible)
			{
				newelemj.style.display="none";
			}
			newelemj.id="input" + carraycount;

			if(window.addEventListener)
			{
				newelemj.addEventListener('focus',getfocus,false);
				newelemj.addEventListener('blur',losefocus,false);

				newelemj.addEventListener('mousemove',tagmousemove,false);
				newelemi.addEventListener('mousemove',tagmousemove,false);
				newelem.addEventListener('mousemove',tagmousemove,false);
			}
			else
			{
				newelemj.attachEvent('onfocus',getfocus);
				newelemj.attachEvent('onblur',losefocus);

				newelemj.attachEvent('mousemove',tagmousemove);
				newelemi.attachEvent('mousemove',tagmousemove);
				newelem.attachEvent('mousemove',tagmousemove);
			}

			if(document.getElementById('tagblock'))
			{
				var tb=document.createElement("div");
				tb.id="tbx" + carraycount;
				tb.style.fontFamily="Arial";
				tb.style.width="100%";

				var tb2=document.createElement("span");
				tb2.id="tag" + carraycount;
				tb2.style.fontFamily="Arial";
//				tb2.style.cssFloat="left";
//				tb2.style.clear="left";
				tb2.style.position="relative";
				tb2.style.width="90%";
				tb2.innerHTML="(new element)";

				var tb3=document.createElement("span");
				tb3.id="dtg" + carraycount;
				tb3.style.fontFamily="Arial";
				tb3.style.cursor="pointer";
				tb3.style.color="#550000";
				tb3.style.fontWeight="bold";
				tb3.style.visibility="hidden";
				tb3.innerHTML=" X ";

				tb.appendChild(tb2);
				tb.appendChild(tb3);
				
				document.getElementById('tagblock').appendChild(tb);

				if(window.addEventListener)
				{
					tb.addEventListener('mouseover',tagover,false);
					tb.addEventListener('mouseout',tagout,false);
					tb3.addEventListener('click',deleteTag,false);
				}
				else
				{
					tb.attachEvent('onmouseover',tagover);	
					tb.attachEvent('onmouseout',tagout);	
					tb3.attachEvent('onclick',deleteTag);	
				}

			
			}
			else
			{
				newelemj.readOnly=true;
			}

			carraycount++;

			newelemi.appendChild(newelemj);
			newelem.appendChild(newelemi);
			theblock.appendChild(newelem);

			return newelem;

		}

		function setTagLabel(i,str)
		{
			document.getElementById("input"+i).value=str;
			if(document.getElementById("tagblock"))
			{
				document.getElementById("tag"+i).innerHTML=str;
			}
		}

		function tagmousemove(e)
		{
			var eventx=getEvent_screenX(e);
			var eventy=getEvent_screenY(e);
			var eventoffsetX=getEvent_layerX(e);
			var eventoffsetY=getEvent_layerY(e);

			var evt=getEvent_target(e);

			var str=evt.id;
			if(myfocus)
			{
				str+="FOCUS:" + myfocus.id;
			}
			str=str+"<br>SL:" + document.body.scrollLeft + ";";
			str=str+"ST:" + document.body.scrollTop + ";";

			str=str+"EX:" + eventoffsetX + ";";
			str=str+"EY:" + eventoffsetY + ";";

			if(window.event)
			{
				str=str+"IE>";
				str=str+"clientX:" + window.event.clientX + ";";
				str=str+"clientY:" + window.event.clientY + ";";
				str=str+"offsetX:" + window.event.offsetX + ";";
				str=str+"offsetY:" + window.event.offsetY + ";";
				str=str+"screenX:" + window.event.screenX + ";";
				str=str+"screenY:" + window.event.screenY + ";";
				str=str+"x:" + window.event.x + ";";
				str=str+"y:" + window.event.y + ";";
			}
			if(e)
			{
				str=str+"<br>DOM>";
				str=str+"clientX:" + e.clientX + ";";
				str=str+"clientY:" + e.clientY + ";";
				str=str+"layerX:" + e.layerX + ";";
				str=str+"layerY:" + e.layerY + ";";
				str=str+"pageX:" + getEvent_pageX(e) + ";";
				str=str+"pageY:" + getEvent_pageY(e) + ";";
				str=str+"screenX:" + e.screenX + ";";
				str=str+"screenY:" + e.screenY + ";";
			}


//				str=str+"evtX:" + parseInt(evt.style.left) + ";";
//				str=str+"evtY:" + parseInt(evt.style.top) + ";";


				d=new Date();
				//alert(d + str);
				if(document.getElementById('dbg'))
				{
					document.getElementById('dbg').innerHTML=d + str;
				}

				//document.getElementById('flipmenu2').innerHTML+="IN:ex:" + eventx + ";ey:" + eventy + ";eox:" + eventoffsetX + ";eoy:" + eventoffsetY;

			if(ismousedown)
			{
				if(xfactor==-1 && yfactor==-1)
				{
					var difx=Math.abs(eventx-centerax);
					var dify=Math.abs(eventy-centeray);

					imagex=centerx-difx;
					imagey=centery-dify;
					imagecx=2*difx;
					imagecy=2*dify;
//				document.getElementById('dbg').innerHTML="IN:x:" + imagex + ";y:" + imagey + ";cx:" + imagecx + ";cy:" + imagecy + ";ctrx:" + centerx + ";ctry:" + centery;

				}
				else
				{
					if(xfactor)
					{	// 1= left side drag; 2= right side drag
						if(xfactor==1)
						{
							imagecx=(imagex+imagecx)-eventx;
							imagex=eventx;
						}
						else
						{
							imagecx=eventx-imagex;
						}
						if(imagecx<0)
						{
							imagecx=0;
						}
					}
					if(yfactor)
					{
						if(yfactor==1)
						{
							imagecy=(imagey+imagecy)-eventy;
							imagey=eventy;
						}
						else
						{
							imagecy=eventy-imagey;

						}
						if(imagecy<0)
						{
							imagecy=0;
						}
					}
				//document.getElementById('flipmenu2').innerHTML=document.getElementById('dbg').innerHTML + "; OUT:x:" + imagex + ";y:" + imagey + ";cx:" + imagecx + ";cy:" + imagecy + ";ctrx:" + centerx + ";ctry:" + centery;
				}

				document.getElementById("rect" + (carraycount-1) ).style.display="";
				setTagPosition(carraycount-1,imagex,imagey,imagecx,imagecy,0);
			}
			else
			{

				centerx=eventoffsetX;
				centery=eventoffsetY;
				centerax=eventx;
				centeray=eventy;

			//	document.getElementById('dbg').innerHTML="";

				if(evt.className!="imgblock" && evt.className!="theimg")
				{

					var par=evt;
					while(par && par.offsetParent && par.className!="imgblock")
					{
				//		document.getElementById('dbg').innerHTML=document.getElementById('dbg').innerHTML+par.offsetLeft + ";";
						if(document.getElementById('dbg'))
						{
							document.getElementById('dbg').innerHTML=document.getElementById('dbg').innerHTML+"]"+par.id;
						}
						centerx+=par.offsetLeft;
						centery+=par.offsetTop;
						par=par.offsetParent;
					}
//						if(document.getElementById('dbg'))
						{
//							document.getElementById('dbg').innerHTML=document.getElementById('dbg').innerHTML+par.id + ";EXIT";
						}

					if((!(par.id) || par.id.substring(0,4)!="rect") && par.className!="imgblock")
					{
						return false;
					}

					//centerx+=parseInt(par.style.left);
					//centery+=parseInt(par.style.top);

				}
					if(document.getElementById('dbg'))
					{
						document.getElementById('dbg').innerHTML=document.getElementById('dbg').innerHTML+"<br>;C1X:" + centerx + ";C1Y:"+centery;
					}
				
				{
					for(var i=0;i<carraycount;i++)
					{
						if(carray[i][5])
						{

							//alert("x:" + centerx + ";min=" + carray[i][0] + ";max=" + (carray[i][0] + carray[i][2])+ "\ny:" + centery + ";min=" + carray[i][1] + ";max=" + (carray[i][1] + carray[i][3]));

							if(centerx>=carray[i][0] && centerx<=(carray[i][0] + carray[i][2]) && centery>=carray[i][1] && centery<=(carray[i][1] + carray[i][3]) || (myfocus && myfocus.id=="rect"+ i) )
							{

								if(document.getElementById("rect"+ i).style.visibility!="visible")///
								{
									document.getElementById("rect"+ i).style.visibility="visible"; ///
								}
								if(document.getElementById("tagblock") && document.getElementById("tbx"+ i).style.backgroundColor!="#ccccff")
								{
									document.getElementById("tbx"+ i).style.backgroundColor="#ccccff";
									document.getElementById("dtg"+ i).style.visibility="";
								}
							}
							else
							{
								if(document.getElementById("rect"+ i).style.visibility!="hidden")///
								{
									document.getElementById("rect"+ i).style.visibility="hidden";///
								}
								if(document.getElementById("tagblock") && document.getElementById("tbx"+ i).style.backgroundColor!="transparent")
								{
									document.getElementById("tbx"+ i).style.backgroundColor="transparent";
									document.getElementById("dtg"+ i).style.visibility="hidden";
								}
							}
						}
					}
				}

			}

			if(e.preventDefault)
			{
				e.preventDefault();
			}
	
			return false;
		}

var handleImagesOnce=0;

var tagreq=null;

function processTagXML(txt)
{
	var allimages=document.getElementsByTagName("img");

	if(txt && (txt!=""))
	{
		var allLines=txt.split(";");
		for(var i=0;i<allLines.length;i++)
		{
			var allElements=allLines[i].split(":");
			if(allElements.length==7)
			{
				createTagBlock(allimages[parseInt(allElements[0])].parentNode,allElements[1],1);
				setTagLabel(carraycount-1,allElements[6]);
				setTagPosition(carraycount-1,parseInt(allElements[2]),parseInt(allElements[3]),parseInt(allElements[4]),parseInt(allElements[5]),allimages[parseInt(allElements[0])]);
			}
		}
	}

	newelem=0;
	newelemi=0;
	newelemj=0;
}

function handletagxml()
{
	if(tagreq.readyState==4)
	{
		var aa=tagreq.responseText;
		processTagXML(aa);
	}
}

function handletagiframe()
{
	var aa=tagreq.contentWindow.document.body.innerHTML;
	processTagXML(aa);
}

function handleImgTag()
{
	if(handleImagesOnce==0)
	{
		handleImagesOnce=1;

		var imgrequest="";

		var imgrequestcount=0;

		var allimages=document.getElementsByTagName("img");
		for(var i=0;i<allimages.length;i++)
		{
			var elem=allimages[i];

			var par=elem;
			var insideEditor=false;

			if(elem.src.indexOf('showAttachment')!=-1)
			{
				var cgi=elem.src.substring(elem.src.indexOf('?')+1);
				var cgielem=cgi.split('&');
				var imgzone=0;
				var imgid=0;

				for(var j=0;j<cgielem.length;j++)
				{
					var equal=cgielem[j].indexOf('=');
					if(equal!=-1)
					{
						if(cgielem[j].substring(0,equal)=="zone")
						{
							imgzone=cgielem[j].substring(equal+1);
						}
						if(cgielem[j].substring(0,equal)=="ID")
						{
							imgid=cgielem[j].substring(equal+1);
						}
					}
				}

				if(!imgzone || !imgid)
				{
					continue;
				}

				while(par)
				{
					if(par.tagName=="DIV" && par.contentEditable=="true")
					{
						insideEditor=true;
						break;
					}
					if(par.parentElement)
					{
						par=par.parentElement;
					}
					else
					{
						par=0;
					}
				}

				if(insideEditor)
				{
					continue;
				}

				imgrequest = imgrequest + "&zone" + imgrequestcount + "=" + imgzone + "&ID" + imgrequestcount + "=" + imgid + "&place" + imgrequestcount + "=" + i;

				var newelem=document.createElement("div");
				newelem.style.position="relative";
				newelem.style.display="inline";
				//newelem.style.textAlign="left";
				newelem.style.left=elem.style.left;
				newelem.style.top=elem.style.top;
				newelem.style.width=elem.style.width;
				newelem.style.height=elem.style.height;
				newelem.style.padding=elem.style.padding;
				newelem.style.margin=elem.style.margin;
//					newelem.style.padding="5px";
//					newelem.style.backgroundColor="#ff0000";
				newelem.style.overflow="visible";
				newelem.className="imgblock";

				if(window.addEventListener)
				{
					newelem.addEventListener('mousemove',tagmousemove,false);
				}
				else
				{
					newelem.attachEvent('onmousemove',tagmousemove);
				}

				elem.style.position="relative";
				elem.style.left="0";
				elem.style.top="0";
				//elem.style.width=elem.style.width;
				//elem.style.top=elem.style.top;
				elem.style.padding="0";
				elem.style.margin="0";
				elem.className="theimg";

				try
				{
					elem.parentNode.insertBefore(newelem,elem);
				}
				catch(e)
				{
					// this is not supported on Konqueror
					return;
				}

				newelem.appendChild(elem);


				newelem=0;

				imgrequestcount++;

			}
		}

		if(imgrequestcount>0)
		{
			imgrequest = "?showPage=showtags" + imgrequest + "&cnt=" + imgrequestcount;

			if(window.XMLHttpRequest)
			{
				// change amp to ampersand (required for non-iframe support)
				var re = new RegExp ( "&amp;" , "gi");
				var address = imgrequest.replace(re,  "&");
				
				tagreq=new XMLHttpRequest;
				tagreq.open("GET",address);
				tagreq.onreadystatechange=handletagxml;
				tagreq.send("");
			}
			else
			{
				tagreq=document.createElement("iframe");
				tagreq.style.display="none";
				tagreq.attachEvent('onload',handletagiframe);
				tagreq.src=imgrequest;
				document.appendChild(tagreq);
				//q='"';
				//str="<iframe style='display:none;' src='" + imgrequest + "' frameborder='0' id='spanblock' onload='var aa=this.contentWindow.document.body.innerHTML;processTagXML(aa);' scrolling='no'></iframe>";
				//theframe.innerHTML=str;
			}
		}


	}
}

if(window.addEventListener)
{
//	window.addEventListener('load',handleImgTag,false);
}
else
{
//	window.attachEvent('onload',handleImgTag);	
}

