21a9dd95a736e331d0d603edbf966e1da886f8a9
[infodrom/rico3] / examples / asp / LoadRicoClient.asp
1 <%\r
2 \r
3 ' ***********************************************************\r
4 ' This generates the link and script tags for the Rico client\r
5 ' ***********************************************************\r
6 \r
7 Dim jsDir,cssDir,imgDir,transDir,baselibsDir\r
8 Dim ricoLib,ricoTheme,ricoLogging\r
9 const grid_striping = true     ' apply row striping to LiveGrids?\r
10 const checkQueryString = true  ' load settings from QueryString? true for demo, false for production\r
11 const LoadBaseLib = true       ' load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
12 const jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/"\r
13 \r
14 \r
15 jsDir="../../ricoClient/js/"       ' directory containing Rico's javascript files\r
16 cssDir="../../ricoClient/css/"     ' directory containing Rico's css files\r
17 imgDir="../../ricoClient/images/"  ' directory containing Rico's image files\r
18 transDir=jsDir & "translations/"\r
19 baselibsDir=jsDir & "baselibs/"\r
20 \r
21 \r
22 if checkQueryString then\r
23   ricoLib=LCase(Request.QueryString("lib"))\r
24   ricoTheme=trim(Request.QueryString("theme"))\r
25   ricoLogging=CBool(trim(Request.QueryString("log")) <> "")\r
26 else\r
27   ' set your production values here\r
28   ricoLib="proto"    ' base library (proto, jquery, moo, dojo, ext, or glow)\r
29   ricoTheme="j-ui-lightness"  ' jquery themes start with j-, rico themes start with r-\r
30   ricoLogging=false\r
31 end if\r
32 \r
33 SetConfig\r
34 LoadLib ricoLib, LoadBaseLib\r
35 setLang\r
36 if ricoTheme<>"" then\r
37   LoadTheme ricoTheme\r
38 end if\r
39 \r
40 \r
41 ' initialize Rico\r
42 sub SetConfig()\r
43   Response.Write vbLf & "<script type='text/javascript'>"\r
44   Response.Write vbLf & "Rico_CONFIG = {"\r
45   if ricoLogging then Response.Write vbLf & "enableLogging: true,"\r
46   Response.Write vbLf & "jsDir: '" & jsDir & "',"\r
47   Response.Write vbLf & "cssDir: '" & cssDir & "',"\r
48   Response.Write vbLf & "imgDir: '" & imgDir & "'"\r
49   Response.Write vbLf & "};"\r
50   Response.Write vbLf & "</script>"\r
51 end sub\r
52 \r
53 \r
54 sub LoadLib(baseLib, baseLoadFlag)\r
55   dim baseFile,adapter\r
56   select case baseLib\r
57     case "proto":\r
58       baseFile="prototype"\r
59       adapter="2Proto"\r
60     case "jquery":\r
61       baseFile="jquery"\r
62       adapter="2jQuery"\r
63     case "moo":\r
64       baseFile="mootools"\r
65       adapter="2Moo"\r
66     case "dojo":\r
67       baseFile="dojo"\r
68       adapter="2Dojo"\r
69     case "ext":\r
70       baseFile="ext-core"\r
71       adapter="2Ext"\r
72     case "glow":\r
73       baseFile="glow.core"\r
74       adapter="2Glow"\r
75     case else:\r
76       Response.End\r
77   end select\r
78 \r
79   if baseLoadFlag then Response.Write vbLf & "<script src='" & baselibsDir & baseFile & ".js' type='text/javascript'></script>"\r
80   requireRicoJS ""\r
81   requireRicoJS adapter\r
82   Response.Write vbLf & "<script src='" & transDir & "ricoLocale_en.js' type='text/javascript'></script>"\r
83   requireRicoCSS "rico"\r
84   requireRicoJS "UI"\r
85 end sub\r
86 \r
87 \r
88 \r
89 ' -------------------------------------------------------------\r
90 ' Check languages accepted by browser\r
91 ' and see if there is a match\r
92 ' -------------------------------------------------------------\r
93 sub setLang()\r
94   dim fso,lang,lang2,fname,i\r
95   \r
96   Set fso=Server.CreateObject("Scripting.FileSystemObject")\r
97   lang=lcase(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"))\r
98   arLang=split(lang,",")\r
99   for i=0 to ubound(arLang)\r
100     lang2=lcase(left(trim(arLang(i)),2))\r
101     if lang2="en" then exit for\r
102     fname=transDir & "ricoLocale_" & lang2 & ".js"\r
103     if fso.FileExists(Server.MapPath(fname)) then\r
104       Response.Write "<script src='" & fname & "' type='text/javascript'></script>"\r
105       exit for\r
106     end if\r
107   next\r
108   set fso=nothing\r
109 end sub\r
110 \r
111 \r
112 ' set theme\r
113 ' "j-ui-lightness" for a Themeroller theme\r
114 ' "r-greenHdg" for a native Rico theme\r
115 sub LoadTheme(theme)\r
116   dim prefix,themeFile\r
117   prefix=left(theme,1)\r
118   themeFile=mid(theme,3)\r
119   select case prefix\r
120     case "j":\r
121       requireRicoJS "Themeroller"\r
122       Response.Write vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "jquery-base/ui.base.css' />"\r
123       Response.Write vbLf & "<link type='text/css' rel='Stylesheet' href='" & jQuery_theme_path & themeFile & "/jquery-ui.css' />"\r
124     case "r":\r
125       requireRicoCSS themeFile\r
126   end select\r
127   if grid_striping then Response.Write vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "striping/" & themeFile & ".css' />"\r
128 end sub\r
129 \r
130 \r
131 sub requireRicoJS(filename)\r
132   Response.Write vbLf & "<script src='" & jsDir & "rico" & filename & ".js' type='text/javascript'></script>"\r
133 end sub\r
134 \r
135 \r
136 sub requireRicoCSS(filename)\r
137   Response.Write vbLf & "<link href='" & cssDir & filename & ".css' type='text/css' rel='stylesheet' />"\r
138 end sub\r
139 \r
140 %>\r