<html>
<head>
<title>ASP.NET lookup module</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="../lookupMod.js"></script>
<script language="JavaScript">
var BOOK_NAME = "O'REILLY-ASP.NET-Referenz";

var KEYWORDS_CONFIG = new Array(
        "ALLOW" , "web.config-Referenz" , "<allow>" ,
		"APPSETTINGS" , "web.config-Referenz" , "<appsettings>" ,
		"ASSEMBLIES" , "web.config-Referenz" , "<assemblies>" ,
		"AUTHENTICATION" , "web.config-Referenz" , "<authentication>" ,
		"AUTHORIZATION" , "web.config-Referenz" , "<authorization>" ,
		"BROWSERCAPS" , "web.config-Referenz" , "<browserCaps>" ,
		"CASE" , "web.config-Referenz" , "<case>" ,
		"CLIENTTARGET" , "web.config-Referenz" , "<clientTarget>" ,
		"COMPILATION" , "web.config-Referenz" , "<compilation>" ,
		"COMPILER" , "web.config-Referenz" , "<compiler>" ,
		"COMPILERS" , "web.config-Referenz" , "<compilers>" ,
		"CONFIGURATION" , "web.config-Referenz" , "<configuration>" ,
		"CREDENTIALS" , "web.config-Referenz" , "<credentials>" ,
		"CUSTOMERRORS" , "web.config-Referenz" , "<customerrors>" ,
		"DENY" , "web.config-Referenz" , "<deny>" ,
		"ERROR" , "web.config-Referenz" , "<error>" ,
		"FILTER" , "web.config-Referenz" , "<filter>" ,
		"FORMS" , "web.config-Referenz" , "<forms>" ,
		"GLOBALIZATION" , "web.config-Referenz" , "<globalization>" ,
		"HTTPHANDLERS" , "web.config-Referenz" , "<httpHandlers>" ,
		"HTTPMODULES" , "web.config-Referenz" , "<httpModules>" ,
		"HTTPRUNTIME" , "web.config-Referenz" , "<httpRuntime>" ,
		"IDENTITY" , "web.config-Referenz" , "<identity>" ,
		"LOCATION" , "web.config-Referenz" , "<location>" ,
		"MACHINEKEY" , "web.config-Referenz" , "<machineKey>" ,
		"PAGES" , "web.config-Referenz" , "<pages>" ,
		"PASSPORT" , "web.config-Referenz" , "<passport>" ,
		"PROCESSMODEL" , "web.config-Referenz" , "<processModel>" ,
		"RESULT" , "web.config-Referenz" , "<result>" ,
		"SECURITYPOLICY" , "web.config-Referenz" , "<securityPolicy>" ,
		"SESSIONSTATE" , "web.config-Referenz" , "<sessionState>" ,
		"SYSTEM.WEB" , "web.config-Referenz" , "<system.web>" ,
		"TRACE" , "web.config-Referenz" , "<trace>" ,
		"TRUST" , "web.config-Referenz" , "<trust>" ,
		"USE" , "web.config-Referenz" , "<use>" ,
		"USER" , "web.config-Referenz" , "<user>" );

var KEYWORDS_ASPNET = new Array(
		"ACCEPTTYPES" , "HttpRequest Klasse" , "AcceptTypes" ,
		"ADD" , "HttpApplicationState Klasse" , "ADD" ,
		"ADDCACHEITEMDEPENDENCIES" , "HttpResponse Klasse" , "AddCacheItemDependencies" ,
		"ADDCACHEITEMDEPENDENCY" , "HttpResponse Klasse" , "AddCacheItemDependency" ,
		"ADDFILEDEPENDENCIES" , "HttpResponse Klasse" , "AddFileDependencies" ,
		"ADDFILEDEPENDENCY" , "HttpResponse Klasse" , "AddFileDependency" ,
		"ADDHEADER" , "HttpResponse Klasse" , "AddHeader" ,
		"ALLKEYS" , "HttpApplicationState Klasse" , "AllKeys" ,
		"APPENDHEADER" , "HttpResponse Klasse" , "AppendHeader" ,
		"APPENDTOLOG" , "HttpResponse Klasse" , "AppendToLog" ,
		"APPLICATION" , "Page Klasse" , "APPLICATION" ,
		"APPLICATIONPATH" , "HttpRequest Klasse" , "ApplicationPath" ,
		"APPLYAPPPATHMODIFIER" , "HttpResponse Klasse" , "ApplyAppPathModifier" ,
		"BINARYREAD" , "HttpRequest Klasse" , "BinaryRead" ,
		"BINARYWRITE" , "HttpResponse Klasse" , "BinaryWrite" ,
		"BROWSER" , "HttpRequest Klasse" , "Browser" ,
		"BUFFER" , "HttpResponse Klasse" , "Buffer" ,
		"BUFFEROUTPUT" , "HttpResponse Klasse" , "BufferOutput" ,
		"RESPONSE.CACHE" , "HttpResponse Klasse" , "Cache" ,
		"PAGE.CACHE" , "Page Klasse" , "Cache" ,
		"CACHECONTROL" , "HttpResponse Klasse" , "CacheControl" ,
		"CHARSET" , "HttpResponse Klasse" , "Charset" ,
		"APPLICATION.CLEAR" , "HttpApplicationState Klasse" , "Clear" ,
		"RESPONSE.CLEAR" , "HttpResponse Klasse" , "Clear" ,
		"CLEARCONTENT" , "HttpResponse Klasse" , "ClearContent" ,
		"CLEARHEADERS" , "HttpResponse Klasse" , "ClearHeaders" ,
		"CLIENTCERTIFICATE" , "HttpRequest Klasse" , "ClientCertificate" ,
		"CLIENTTARGET" , "Page Klasse" , "ClientTarget" ,
		"CLOSE" , "HttpResponse Klasse" , "Close" ,
		"RESPONSE.CONTENTENCODING" , "HttpResponse Klasse" , "ContentEncoding" ,
		"REQUEST.CONTENTENCODING" , "HttpRequest Klasse" , "ContentEncoding" ,
		"CONTENTLENGTH" , "HttpRequest Klasse" , "ContentLength" ,
		"CONTENTS" , "HttpApplicationState Klasse" , "Contents" ,
		"RESPONSE.CONTENTTYPE" , "HttpResponse Klasse" , "ContentType" ,
		"REQUEST.CONTENTTYPE" , "HttpRequest Klasse" , "ContentType" ,
		"CONTEXT" , "Page Klasse" , "Context" ,
		"CONTROLS" , "Page Klasse" , "Controls" ,
		"RESPONSE.COOKIES" , "HttpResponse Klasse" , "Cookies" ,
		"REQUEST.COOKIES" , "HttpRequest Klasse" , "Cookies" ,
		"COUNT" , "HttpApplicationState Klasse" , "Count" ,
		"DATABIND" , "Page Klasse" , "DataBind" ,
		"ENABLEVIEWSTATE" , "Page Klasse" , "EnableViewState" ,
		"RESPONSE.END" , "HttpResponse Klasse" , "End" ,
		"APPLICATION.END" , "HttpApplicationState Klasse" , "End" ,
		"ERROR" , "Page Klasse" , "Error" ,
		"ERRORPAGE" , "Page Klasse" , "ErrorPage" ,
		"EXPIRES" , "HttpResponse Klasse" , "Expires" ,
		"EXPIRESABSOLUTE" , "HttpResponse Klasse" , "ExpiresAbsolute" ,
		"FILEPATH" , "HttpRequest Klasse" , "FilePath" ,
		"FILES" , "HttpRequest Klasse" , "Files" ,
		"FINDCONTROL" , "Page Klasse" , "FindControl" ,
		"FLUSH" , "HttpResponse Klasse" , "Flush" ,
		"FORM" , "HttpRequest Klasse" , "Form" ,
		"GET" , "HttpApplicationState Klasse" , "Get" ,
		"GETKEY" , "HttpApplicationState Klasse" , "GetKey" ,
		"HASCONTROLS" , "Page Klasse" , "HasControls" ,
		"HEADERS" , "HttpRequest Klasse" , "Headers" ,
		"HTTPMETHOD" , "HttpRequest Klasse" , "HttpMethod" ,
		"INIT" , "Page Klasse" , "Init" ,
		"INPUTSTREAM" , "HttpRequest Klasse" , "InputStream" ,
		"ISAUTHENTICATED" , "HttpRequest Klasse" , "IsAuthenticated" ,
		"ISCLIENTCONNECTED" , "HttpResponse Klasse" , "IsClientConnected" ,
		"ISPOSTBACK" , "Page Klasse" , "IsPostBack" ,
		"ISSECURECONNECTION" , "HttpRequest Klasse" , "IsSecureConnection" ,
		"ISVALID" , "Page Klasse" , "IsValid" ,
		"ITEM" , "HttpApplicationState Klasse" , "Item" ,
		"KEYS" , "HttpApplicationState Klasse" , "Keys" ,
		"LOAD" , "Page Klasse" , "Load" ,
		"LOADCONTROL" , "Page Klasse" , "LoadControl" ,
		"LOCK" , "HttpApplicationState Klasse" , "Lock" ,
		"PAGE.MAPPATH" , "Page Klasse" , "MapPath" ,
		"REQUEST.MAPPATH" , "HttpRequest Klasse" , "MapPath" ,
		"OUTPUT" , "HttpResponse Klasse" , "Output" ,
		"OUTPUTSTREAM" , "HttpResponse Klasse" , "OutputStream" ,
		"PARAMS" , "HttpRequest Klasse" , "Params" ,
		"PATH" , "HttpRequest Klasse" , "Path" ,
		"PATHINFO" , "HttpRequest Klasse" , "PathInfo" ,
		"PHYSICALAPPLICATIONPATH" , "HttpRequest Klasse" , "PhysicalApplicationPath" ,
		"PHYSICALPATH" , "HttpRequest Klasse" , "PhysicalPath" ,
		"PICS" , "HttpResponse Klasse" , "Pics" ,
		"QUERYSTRING" , "HttpRequest Klasse" , "QueryString" ,
		"RAWURL" , "HttpRequest Klasse" , "RawUrl" ,
		"REDIRECT" , "HttpResponse Klasse" , "Redirect" ,
		"REMOVE" , "HttpApplicationState Klasse" , "Remove" ,
		"REMOVEALL" , "HttpApplicationState Klasse" , "RemoveAll" ,
		"REMOVEAT" , "HttpApplicationState Klasse" , "RemoveAt" ,
		"REQUEST" , "Page Klasse" , "Request" ,
		"REQUESTTYPE" , "HttpRequest Klasse" , "RequestType" ,
		"RESOLVEURL" , "Page Klasse" , "ResolveUrl" ,
		"RESPONSE" , "Page Klasse" , "Response" ,
		"SAVEAS" , "HttpRequest Klasse" , "SaveAs" ,
		"SERVER" , "Page Klasse" , "Server" ,
		"SERVERVARIABLES" , "HttpRequest Klasse" , "ServerVariables" ,
		"SESSION" , "Page Klasse" , "Session" ,
		"SET" , "HttpApplicationState Klasse" , "Set" ,
		"SMARTNAVIGATION" , "Page Klasse" , "SmartNavigation" ,
		"START" , "HttpApplicationState Klasse" , "Start" ,
		"STATICOBJECTS" , "HttpApplicationState Klasse" , "StaticObjects" ,
		"STATUS" , "HttpResponse Klasse" , "Status" ,
		"STATUSCODE" , "HttpResponse Klasse" , "StatusCode" ,
		"STATUSDESCRIPTION" , "HttpResponse Klasse" , "StatusDescription" ,
		"SUPPRESSCONTENT" , "HttpResponse Klasse" , "SuppressContent" ,
		"TOTALBYTES" , "HttpRequest Klasse" , "TotalBytes" ,
		"TRACE" , "Page Klasse" , "Trace" ,
		"UNLOAD" , "Page Klasse" , "Unload" ,
		"UNLOCK" , "HttpApplicationState Klasse" , "Unlock" ,
		"URL" , "HttpRequest Klasse" , "URL" ,
		"URLREFERRER" , "HttpRequest Klasse" , "UrlReferrer" ,
		"USER" , "Page Klasse" , "User" ,
		"USERAGENT" , "HttpRequest Klasse" , "UserAgent" ,
		"USERHOSTADDRESS" , "HttpRequest Klasse" , "UserHostAddress" ,
		"USERHOSTNAME" , "HttpRequest Klasse" , "UserHostName" ,
		"USERLANGUAGES" , "HttpRequest Klasse" , "UserLanguages" ,
		"VALIDATE" , "Page Klasse" , "Validate" ,
		"VALIDATORS" , "Page Klasse" , "Validators" ,
		"VIEWSTATE" , "Page Klasse" , "ViewState" ,
		"WRITE" , "HttpResponse Klasse" , "Write" ,
		"WRITEFILE" , "HttpResponse Klasse" , "WriteFile" );


function referenceLookup()
{
  var aspVal;
  var dom = dw.getDocumentDOM();

  if (dom){
  //To synchronize the design and code view
  dom.synchronizeDocument();

  // The idea here is that we don't want to bother doing ASP.NET keyword processing if
  // the file is not an ASP.NET file.
  if(dom.documentType.indexOf('XML') != -1)
  {
    KEYWORDS = KEYWORDS_CONFIG;
  }
  else if(dom.documentType.indexOf('ASP.NET') != -1)
  {
    KEYWORDS = KEYWORDS_ASPNET;
  }

  if ((dom.documentType.indexOf('ASP.NET') == -1)&&(dom.documentType.indexOf('XML') == -1))
  {
    aspVal = new Array("");
  }
  else
  {
    var docEl = dom.documentElement;
    var wholeDoc = docEl.outerHTML;
    var theSel = dom.source.getSelection();
    var startPoint = searchBackwards(theSel[0],dom);
    var endPoint = searchForwards(theSel[1],dom,wholeDoc.length);
    var keyword;
    var j,k;
    j = dom.source.getText(startPoint,startPoint+1);
    k = dom.source.getText(endPoint-1,endPoint);

	//For subcategories in Web.Config Reference which are included in <>
    if (j == "<" )
	{
	  startPoint = startPoint+1;
	  endPoint = endPoint-1;
	}
	else if (k == ">" )
	{
	  endPoint = endPoint-1;
	}

	keyword = dom.source.getText(startPoint,endPoint);
	keyword = keyword.toUpperCase();

    // Special cases (multiple entries for single keyword)
	if (keyword == "CACHE")
	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "PAGE")
	  {
	    keyword = "PAGE.CACHE";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE")
	  {
	     keyword = "RESPONSE.CACHE";
	  }
	}
	else if (keyword == "CLEAR")
	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE")
	  {
	    keyword = "RESPONSE.CLEAR";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "APPLICATION")
	  {
	     keyword = "APPLICATION.CLEAR";
	  }
	}
	else if (keyword == "CONTENTENCODING")
	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "REQUEST")
	  {
	    keyword = "REQUEST.CONTENTENCODING";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE")
	  {
	    keyword = "RESPONSE.CONTENTENCODING";
	  }
	}
	else if (keyword == "CONTENTTYPE")
	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "REQUEST")
	  {
	    keyword = "REQUEST.CONTENTTYPE";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE")
	  {
	    keyword = "RESPONSE.CONTENTTYPE";
	  }
   	}
   	else if (keyword == "COOKIES")
   	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "REQUEST" )
	  {
	    keyword = "REQUEST.COOKIES";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE" )
	  {
	    keyword = "RESPONSE.COOKIES";
	  }
   	}
   	else if (keyword == "END")
   	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "APPLICATION")
	  {
	    keyword = "APPLICATION.END";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "RESPONSE")
	  {
	    keyword = "RESPONSE.END";
	  }
   	}
   	else if (keyword == "MAPPATH")
   	{
	  if (getPrevWord(startPoint,dom).toUpperCase() == "REQUEST")
	  {
	    keyword = "REQUEST.MAPPATH";
	  }
	  else if (getPrevWord(startPoint,dom).toUpperCase() == "PAGE")
	  {
	    keyword = "PAGE.MAPPATH";
	  }
    }
    else if(keyword == "SYSTEM" || keyword == "WEB")
    {
	  keyword = "SYSTEM.WEB"
    }

    aspVal = getTopic(keyword);
    }
  }
    if (!aspVal)
	{
	  aspVal = new Array("");
	}
    return aspVal;
}

</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</html>
