%@LANGUAGE="JAVASCRIPT"%>
<%
var news = Server.CreateObject("ADODB.Recordset");
news.ActiveConnection = MM_wilky_STRING;
news.Source = "SELECT * FROM news";
news.CursorType = 0;
news.CursorLocation = 2;
news.LockType = 3;
news.Open();
var news_numRows = 0;
%>
<%
// *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
// set the record count
var news_total = news.RecordCount;
// set the number of rows displayed on this page
if (news_numRows < 0) { // if repeat region set to all records
news_numRows = news_total;
} else if (news_numRows == 0) { // if no repeat regions
news_numRows = 1;
}
// set the first and last displayed record
var news_first = 1;
var news_last = news_first + news_numRows - 1;
// if we have the correct record count, check the other stats
if (news_total != -1) {
news_numRows = Math.min(news_numRows, news_total);
news_first = Math.min(news_first, news_total);
news_last = Math.min(news_last, news_total);
}
%>
<% var MM_paramName = ""; %>
<%
// *** Move To Record and Go To Record: declare variables
var MM_rs = news;
var MM_rsCount = news_total;
var MM_size = news_numRows;
var MM_uniqueCol = "id";
MM_paramName = "id";
var MM_offset = 0;
var MM_atTotal = false;
var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined");
%>
<%
// *** Move To Specific Record: handle detail parameter
if (MM_paramIsDefined && MM_rsCount != 0) {
// get the value of the parameter
var param = String(Request(MM_paramName));
// find the record with the unique column value equal to the parameter value
for (MM_offset=0; !MM_rs.EOF; MM_offset++) {
if (MM_rs.Fields.Item(MM_uniqueCol).Value == param) break;
MM_rs.MoveNext();
}
// if not found, set the number of records and reset the cursor
if (MM_rs.EOF) {
if (MM_rsCount < 0) MM_rsCount = MM_offset;
if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
MM_offset = 0;
// reset the cursor to the beginning
if (MM_rs.CursorType > 0) {
if (!MM_rs.BOF) MM_rs.MoveFirst();
} else {
MM_rs.Close();
MM_rs.Open();
}
}
}
%>
<%
// *** Move To Record: if we dont know the record count, check the display range
if (MM_rsCount == -1) {
// walk to the end of the display range for this page
for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) {
MM_rs.MoveNext();
}
// if we walked off the end of the recordset, set MM_rsCount and MM_size
if (MM_rs.EOF) {
MM_rsCount = i;
if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
}
// if we walked off the end, set the offset based on page size
if (MM_rs.EOF && !MM_paramIsDefined) {
if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region
MM_offset = MM_rsCount - (MM_rsCount % MM_size);
} else {
MM_offset = MM_rsCount - MM_size;
}
}
// reset the cursor to the beginning
if (MM_rs.CursorType > 0) {
if (!MM_rs.BOF) MM_rs.MoveFirst();
} else {
MM_rs.Requery();
}
// move the cursor to the selected record
for (var i=0; !MM_rs.EOF && i < MM_offset; i++) {
MM_rs.MoveNext();
}
}
%>
<%
// *** Move To Record: update recordset stats
// set the first and last displayed record
news_first = MM_offset + 1;
news_last = MM_offset + MM_size;
if (MM_rsCount != -1) {
news_first = Math.min(news_first, MM_rsCount);
news_last = Math.min(news_last, MM_rsCount);
}
// set the boolean used by hide region to check if we are on the last record
MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
%>
<%
function Text1_Server(html) {
var ph = parseHTML(html);
// We always want to preserve the carriage
// returns.
var x = subAwithBinC2("\n"," ",ph[1])
// If they check "Preserve blank space", we
// will put " " where ever there is a space.
if ("1" == "1")
{
var spc = " "
var nbsp = " "
var spaceStringLen = 0
var strOut = ""
var theChar = ""
for (j = 0; j < x.length; j++)
{
theChar = x.charAt(j)
if (theChar == " ")
{
spaceStringLen++
}
else
{
if (spaceStringLen == 0)
{
// do nothing special
}
else if (spaceStringLen == 1)
{
strOut += spc
}
else if (spaceStringLen == 2)
{
strOut += nbsp + spc
}
else // there are three or more spaces
{
strOut += spc
for (k = 0; k < (spaceStringLen - 2); k++)
{
strOut += nbsp
}
strOut += spc
}
//reset the space string counter
spaceStringLen = 0
strOut += theChar
}
}
x = strOut
}
// Now we will replace tabs with however many number
// of " "'s they specified.
var strTab = ""
for (var i = 0; i < Number("4"); i++)
{
strTab += " "
}
x = subAwithBinC2("\t", strTab, x)
Response.Write(ph[0] + x + ph[2])
}
%>
Home and Commercial Building Foundations and piling - Wilky