These are sample JavaScript includes that could be used for many sites. Some of the functions are specific for a server side environment with MS ASP and SQL Server. The "cs" and "ss" prefixes help ensure that the script scope variables are unique on the page.
/*************************************************************************
This file should be included in the <head> of every page on this site via something like this:
<script type="text/JavaScript" language="JavaScript" src="script/csJS.js">...
__TOC
Site Variables
DateTime Functions
csFormatDtm(myDate, format)
csWholeDaysUntil(yr, mo, dy)
Form Functions
csValidDate(form)
csValidEmail(form)
String Functions
csEncodeSQL(str)
csPad(str, intPlaces)
String.prototype.trim = function()
Miscellany Functions
csFlipImage(url)
csInNewWindow(pstrFile, pstrWindowName, pstrWindowFeatures)
**************************************************************************/
/********* Site Variables ***********/
//DateTime variables
var cssecondinms = 1000;
var csminuteinms = cssecondinms * 60;
var cshourinms = csminuteinms * 60;
var csdayinms = cshourinms * 24;
var csweekinms = csdayinms * 7;
var csdayname = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var csdayname3 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var csmonthname = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var csmonthname3 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var csnow = new Date(); //Date at time of page load
var csyearofthenow = csnow.getFullYear();
var csmonthofthenow = csnow.getMonth();
var csdayofmonthofthenow = csnow.getDate();
var csdayofweekofthenow = csnow.getDay();
var cshourofthenow = csnow.getHours();
var csminuteofthenow = csnow.getMinutes();
var cssecondofthenow = csnow.getSeconds();
var csmillisecondofthenow = csnow.getMilliseconds();
var csnowinms = csnow.getTime();
var csvalueofthenow = csnow.valueOf();
var csseedofthenow = csnow.getTime() % 0xfffffff;
var cstzdhoursofthenow= csnow.getTimezoneOffset()/60;
var cstzdminutesofthenow= csnow.getTimezoneOffset()%60;
var cstzd;
if (cstzdhoursofthenow>0) {
cstzd="-"+ csPad(cstzdhoursofthenow,2) +":"+ csPad(cstzdminutesofthenow,2);
} else if (cstzdhoursofthenow<0) {
cstzd="+"+ csPad(-cstzdhoursofthenow,2) +":"+ csPad(cstzdminutesofthenow,2);
}else cstzd="Z";
//50 U.S. states, PR, DC, & Canadian provinces
var csstates =
"<option value=\"AL\">Alabama</option>"+
"<option value=\"AK\">Alaska</option>"+
"<option value=\"AB\">Alberta</option>"+
"<option value=\"AZ\">Arizona</option>"+
"<option value=\"AR\">Arkansas</option>"+
"<option value=\"BC\">British Columbia</option>"+
"<option value=\"CA\">California</option>"+
"<option value=\"CO\">Colorado</option>"+
"<option value=\"CT\">Connecticut" +
"<option value=\"DE\">Delaware</option>"+
"<option value=\"DC\">District of Columbia</option>"+
"<option value=\"FL\">Florida</option>"+
"<option value=\"GA\">Georgia</option>"+
"<option value=\"HI\">Hawaii</option>"+
"<option value=\"ID\">Idaho</option>"+
"<option value=\"IL\" selected=\"\">Illinois</option>"+
"<option value=\"IN\">Indiana</option>"+
"<option value=\"IA\">Iowa</option>"+
"<option value=\"KS\">Kansas</option>"+
"<option value=\"KY\">Kentucky</option>"+
"<option value=\"LA\">Louisiana</option>"+
"<option value=\"ME\">Maine</option>"+
"<option value=\"MB\">Manitoba</option>"+
"<option value=\"MD\">Maryland</option>"+
"<option value=\"MA\">Massachusetts</option>"+
"<option value=\"MI\">Michigan</option>"+
"<option value=\"MN\">Minnesota</option>"+
"<option value=\"MS\">Mississippi</option>"+
"<option value=\"MO\">Missouri</option>"+
"<option value=\"MT\">Montana</option>"+
"<option value=\"NE\">Nebraska</option>"+
"<option value=\"NV\">Nevada</option>"+
"<option value=\"NB\">New Brunswick</option>"+
"<option value=\"NH\">New Hampshire</option>"+
"<option value=\"NJ\">New Jersey</option>"+
"<option value=\"NM\">New Mexico</option>"+
"<option value=\"NY\">New York</option>"+
"<option value=\"NF\">Newfoundland</option>"+
"<option value=\"NC\">North Carolina</option>"+
"<option value=\"ND\">North Dakota</option>"+
"<option value=\"NT\">Northwest Territories</option>"+
"<option value=\"NS\">Nova Scotia</option>"+
"<option value=\"OH\">Ohio</option>"+
"<option value=\"OK\">Oklahoma</option>"+
"<option value=\"ON\">Ontario</option>"+
"<option value=\"OR\">Oregon</option>"+
"<option value=\"PA\">Pennsylvania</option>"+
"<option value=\"PE\">Prince Edward Island</option>"+
"<option value=\"PQ\">Province of Quebec</option>"+
"<option value=\"PR\">Puerto Rico</option>"+
"<option value=\"RI\">Rhode Island</option>"+
"<option value=\"SK\">Saskatchewan</option>"+
"<option value=\"SC\">South Carolina</option>"+
"<option value=\"SD\">South Dakota</option>"+
"<option value=\"TN\">Tennessee</option>"+
"<option value=\"TX\">Texas</option>"+
"<option value=\"UT\">Utah</option>"+
"<option value=\"VT\">Vermont</option>"+
"<option value=\"VI\">Virgin Islands</option>"+
"<option value=\"VA\">Virginia</option>"+
"<option value=\"WA\">Washington</option>"+
"<option value=\"WV\">West Virginia</option>"+
"<option value=\"WI\">Wisconsin</option>"+
"<option value=\"WY\">Wyoming</option>"+
"<option value=\"YT\">Yukon Terr
/********* DateTime Variables ***********/ //Returns a formatted string given "now" or a JS Date object function csFormatDtm(myDate, format) { var strDate = ""; if (myDate=="now") { var jsdate = new Date(); } else { var jsdate = myDate; //myDate EGs: new Date("Oct 22, 1968"), new Date(), dtmX } var fullyear = jsdate.getFullYear(); var jsmonth = jsdate.getMonth(); //0-11 var dayofthemonth = jsdate.getDate(); var dayoftheweek = jsdate.getDay(); var hour = jsdate.getHours(); var minute = jsdate.getMinutes(); var second = jsdate.getSeconds(); var millisecon = jsdate.getMilliseconds(); var dtminms = jsdate.getTime(); var valueofthedtm = jsdate.valueOf(); var tzdhour = jsdate.getTimezoneOffset()/60; var tzdminute = jsdate.getTimezoneOffset()%60; var tzd; if (tzdhour>0) { tzd = "-"+ csPad(tzdhour,2) +":"+ csPad(tzdminute,2); } else if (tzdhour<0) { tzd="+"+ csPad(-tzdhour,2) +":"+ csPad(tzdminute,2); } else tzd = "Z"; switch (format) { case "Mmmm d, yyyy": strDate = csMONTHNAME[jsmonth]+" "+dayofthemonth+", "+fullyear; break; case "Mmmm d, yyyy Z": strDate = csMONTHNAME[jsdate.getUTCMonth()] +" "+ jsdate.getUTCDate() +", "+ jsdate.getUTCFullYear(); break; case "MM/DD/YYYY": strDate = csPad(jsmonth+1,2)+"/"+csPad(dayofthemonth,2)+"/"+fullyear; break; case "MM/DD/YYYY Z": strDate = csPad(jsdate.getUTCMonth()+1,2) +"/"+ csPad(jsdate.getUTCDate(),2) +"/"+ jsdate.getUTCFullYear(); break; case "YYYY": strDate = fullyear; break; case "YYYY Z": strDate = jsdate.getUTCFullYear(); break; case "YYYY-MM": strDate = fullyear+"-"+csPad(jsmonth+1,2); break; case "YYYY-MM Z": strDate = jsdate.getUTCFullYear() +"-"+ csPad(jsdate.getUTCMonth()+1,2); break; case "YYYY-MM-DD": strDate = fullyear+"-"+csPad(jsmonth+1,2)+"-"+csPad(dayofthemonth,2); break; case "YYYY-MM-DD Z": strDate = jsdate.getUTCFullYear() +"-"+ csPad(jsdate.getUTCMonth()+1,2) +"-"+ csPad(jsdate.getUTCDate(),2); break; case "hh:mm": strDate = csPad(hour,2)+":"+csPad(minute,2); break; case "hh:mm tzd": strDate = csPad(hour,2)+":"+csPad(minute,2)+tzd; break; case "hh:mm Z": strDate = csPad(jsdate.getUTCHours(),2) +":"+ csPad(jsdate.getUTCMinutes(),2) +"Z"; break; case "hh:mm:ss": strDate = csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2); break; case "hh:mm:ss tzd": strDate = csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2)+tzd; break; case "hh:mm:ss Z": strDate = csPad(jsdate.getUTCHours(),2) +":"+ csPad(jsdate.getUTCMinutes(),2) +":"+ csPad(jsdate.getUTCSeconds(),2) +"Z"; break; case "LocaleString": //Usual EG: Tuesday, June 10, 2003 08:25:22 PM strDate = jsdate.toLocaleString(); break; case "Ddd, dd Mmm YYYY hh:mm:ss": //RFC 822 strDate = csDAYNAME3[dayoftheweek]+", "+csPad(dayoftheweek,2)+" "+csMONTHNAME3[jsmonth]+" "+dayofthemonth+" "+ csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2); break; case "Ddd, dd Mmm YYYY hh:mm:ss tzd": //strDate = jsdate.toUTCString(); //Don't use because lousy JS puts "UTC" on end by default. strDate = csDAYNAME3[dayoftheweek]+", "+csPad(dayoftheweek,2)+" "+csMONTHNAME3[jsmonth]+" "+dayofthemonth+" "+ csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2)+" "+tzd; break; case "Ddd, dd Mmm YYYY hh:mm:ss GMT": //GMT is preferred over Z or UTC for rss. strDate = csDAYNAME3[jsdate.getUTCDay()]+", "+csPad(jsdate.getUTCDate(),2)+" "+csMONTHNAME3[jsdate.getUTCMonth()]+" "+jsdate.getUTCFullYear()+" "+ csPad(jsdate.getUTCHours(),2)+":"+csPad(jsdate.getUTCMinutes(),2)+":"+csPad(jsdate.getUTCSeconds(),2)+" GMT"; break; case "Ddd, dd Mmm YYYY hh:mm:ss Z": strDate = csDAYNAME3[jsdate.getUTCDay()]+", "+csPad(jsdate.getUTCDate(),2)+" "+csMONTHNAME3[jsdate.getUTCMonth()]+" "+jsdate.getUTCFullYear()+" "+ csPad(jsdate.getUTCHours(),2)+":"+csPad(jsdate.getUTCMinutes(),2)+":"+csPad(jsdate.getUTCSeconds(),2)+" Z"; break; case "YYYY-MM-DDthh:mm:ss": //ISO 8601 strDate = fullyear+"-"+csPad(jsmonth+1,2)+"-"+csPad(dayofthemonth,2)+"t"+csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2); break; case "YYYY-MM-DDthh:mm:ss tzd": strDate = fullyear+"-"+csPad(jsmonth+1,2)+"-"+csPad(dayofthemonth,2)+"t"+csPad(hour,2)+":"+csPad(minute,2)+":"+csPad(second,2)+tzd; break; case "YYYY-MM-DDthh:mm:ss Z": strDate = //'hi ISO'; jsdate.getUTCFullYear() +"-"+ csPad(jsdate.getUTCMonth()+1,2) +"-"+ csPad(jsdate.getUTCDate(),2) +"t"+ csPad(jsdate.getUTCHours(),2) +":"+ csPad(jsdate.getUTCMinutes(),2) +":"+ csPad(jsdate.getUTCSeconds(),2) +"Z"; break; } return strDate; } //Returns whole days until a provided date. function csWholeDaysUntil(yr, mo, dy) { var nDate = new Date(); // current date (local) var nTime = nDate.getTime(); // current time (UTC) var dTime = Date.UTC(yr, mo - 1, dy); // specified time (UTC) var bTime = Math.abs(nTime - dTime) // time difference return Math.round(bTime / DAY); }
/********* Form Variables ***********/ //Validates existence and format of a date. This is a template of what would actually be on a form. function csValidDate(form){ var fld1=form.date var str1=fld1.value if (!str1){ alert("You must enter a date."); fld1.focus(); fld1.select(); return false; }else{ var dtm1=new Date(str1); if (isNaN(dtm1)){ alert("Improper date format."); fld1.focus(); fld1.select(); return false; } } //alert("You entered: " + dtm1); return true; } //Validates existence and format of an email. This is a template of what would actually be on a form. function csValidEmail(form) { var fld1=form.email var str1=fld1.value if (!str1) { alert("You must enter an Email Address."); fld1.focus(); fld1.select(); return false; } else if (window.RegExp) { //For browsers that support RegExp var strReg1 = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)"; var strReg2 = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"; var reg1 = new RegExp(strReg1); var reg2 = new RegExp(strReg2); if (!reg1.test(str1) && reg2.test(str1)) { form; } else { alert("Improper email format."); fld1.focus(); fld1.select(); return false; } } else { //For browsers that don't support RegExp if (str1.indexOf("@") >= 0) { form; } else { alert("Improper email format."); fld1.focus(); fld1.select(); return false; } } }
/********* String Functions ***********/ //Encode a string for storing in a field in SQL function csEncodeSQL(str) { var result; if (str=="undefined" || str=="null") result = ""; else { var str1 = new String(str); str=str1.replace(/'/g, "''"); result = str.trim(); } return result; } //Pad ID (str or int) with zeros on its left. function csPad(ID,intPlaces) { //assumes that places >= length var str = String(ID); var intLength = str.length; var intDifference = intPlaces-intLength; while (intDifference>0) { str = "0"+str; intDifference--; } return str; } //Add trim() to String object String.prototype.trim = function() { return this.replace(/^\s*(\b.*\b|)\s*$/, "$1"); }
//Changes an image with another. function csFlipImage(url) { window.event.srcElement.src = url; } //Opens a file in a new window with provided features. function csInNewWindow(pstrFile, pstrWindowName, pstrWindowFeatures) { var intName; var intFeatures; var strWindowName = new String(pstrWindowName); var strWindowFeatures = new String(pstrWindowFeatures); intName = strWindowName.length; intFeatures = strWindowFeatures.length; if ((intName == 0) && (intFeatures == 0)) { window.open(pstrFile); } else if (intName == 0) { window.open(pstrFile, '', strWindowFeatures); } else if (intFeatures == 0) { window.open(pstrFile, strWindowName); } else { window.open(pstrFile, strWindowName, strWindowFeatures); } return false; }
<% %><%//Stick '@ language="JavaScript" ' while while developing for correct color coding
Response.Buffer = true;
/*******************************************************************************************
This file should be included on the second line of every ASP page in this site
(after <%@ language="JavaScript" %>) via something like this:
#INCLUDE VIRTUAL = "/ic/includes/ssJS.asp"
__TOC
Site wide variables
Run on every page
Database Functions
ssCloseConnection()
ssOpenConnection()
DateTime Functions
ssFormatDtm(dtm)
String Functions
ssSTRtoSQL(str)
ssSQLtoSQL(str)
ssPad(ID,intPlaces)
String.prototype.trim = function()
*******************************************************************************************/
/********* Site wide variables ***********/
var ssintServerNumber = 0; //Change this to 0-N depending on the server the database is on.
var gstrServerArray = ["SERVER0", "SERVER1", "SERVER2", "SERVER3"];
var gstrServer = gstrServerArray[gintServerNumber];
var gstrHTTPS;
if (gintServerNumber!=2) { //Production Server (currently SERVER2)
gstrHTTPS = "/aa/login/index.asp";
} else {
gstrHTTPS = "https://www.somesite.com/aa/login/index.asp";
}
var ssSql, ssCnn, ssRst;
var ssSECONDinMS = 1000; // the number of milliseconds in a second
var ssMINUTEinMS = ssSECONDinMS * 60;
var ssHOURinMS = ssMINUTEinMS * 60;
var ssDAYinMS = ssHOURinMS * 24;
var ssWEEKinMS = ssDAYinMS * 7;
var ssDAYNAME = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var ssDAYNAME3 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var ssMONTHNAME = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var ssMONTHNAME3 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var ssNOW = new Date(); //Date at time of page load
var ssYEARoftheNOW = ssNOW.getFullYear();
var ssMONTHoftheNOW = ssNOW.getMonth(); //0-11
var ssDAYOFMONTHoftheNOW = ssNOW.getDate();
var ssDAYOFWEEKoftheNOW = ssNOW.getDay();
var ssHOURoftheNOW = ssNOW.getHours();
var ssMINUTEoftheNOW = ssNOW.getMinutes();
var ssSECONDoftheNOW = ssNOW.getSeconds();
var ssMILLISECONDoftheNOW = ssNOW.getMilliseconds();
var ssNOWinMS = ssNOW.getTime();
var ssHOURSFROMGMToftheNOW = ssNOW.getTimezoneOffset()/60;
var sstzdhour = ssNOW.getTimezoneOffset()/60;
var sstzdminute = ssNOW.getTimezoneOffset()%60;
var ssVALUEOFtheNOW = ssNOW.valueOf();
var ssSEEDoftheNOW = ssNOW.getTime() % 0xfffffff;
/********* Run on every page ************/
//This chunk logs each page visit
var sqlVisit;
ssOpenConnection();
sqlVisit =
"INSERT INTO WebSession (" +
"UserWinLogin,"+
"UserHost,"+
"UserAddress,"+
"UserBrowser,"+
"URL,"+
"ServerHost,"+
"ServerAddress,"+
"Stamp,Note"+
") VALUES (" +
"'" + Request.ServerVariables("REMOTE_USER") + "'," +
"'" + Request.ServerVariables("REMOTE_HOST") + "'," +
"'" + Request.ServerVariables("REMOTE_ADDR") + "'," +
"'" + Request.ServerVariables("HTTP_USER_AGENT") + "'," +
"'" + Request.ServerVariables("URL") + "'," +
"'" + Request.ServerVariables("HTTP_HOST") + "'," +
"'" + Request.ServerVariables("LOCAL_ADDR") + "'," +
"'" + ssformatDtm('now', 'MM/DD/YYYY') + "'," +
"'page visit'" +
")";
ssCnn.Execute(sqlVisit);
ssCloseConnection();
/********* Database Functions ***********/ //Close the connection function ssCloseConnection() { //if (typeof(ssRst)=="object") { // if (ssRst.State == 1) ssRst.Close(); // //ssRst = null; //} ssCnn.Close(); ssCnn = null; } //Open a connection. function ssOpenConnection() { var strConnection = "Provider=SQLOLEDB; Server="+gstrServer+"; Database=myDatabase; User ID=george; Password=notArealPassword;"; ssCnn = Server.CreateObject("ADODB.Connection"); ssCnn.Open(strConnection) }
/********* DateTime Functions ***********/ function ssFormatDtm(myDate,format) { var strDate = ""; if (myDate=="now") { var jsdate = new Date(); } else { var jsdate = myDate; //myDate EGs: new Date("Oct 22, 1968"), new Date(), dtmX } var fullyear = jsdate.getFullYear(); var jsmonth = jsdate.getMonth(); //0-11 var dayofthemonth = jsdate.getDate(); var dayoftheweek = jsdate.getDay(); var hour = jsdate.getHours(); var minute = jsdate.getMinutes(); var second = jsdate.getSeconds(); var millisecon = jsdate.getMilliseconds(); var dtminms = jsdate.getTime(); var valueofthedtm = jsdate.valueOf(); var tzdhour = jsdate.getTimezoneOffset()/60; var tzdminute = jsdate.getTimezoneOffset()%60; var tzd; if (tzdhour>0) { tzd = "-"+ gPad(tzdhour,2) +":"+ gPad(tzdminute,2); } else if (tzdhour<0) { tzd="+"+ gPad(-tzdhour,2) +":"+ gPad(tzdminute,2); } else tzd = "Z"; switch (format) { case "Mmmm d, yyyy": strDate = ssMONTHNAME[jsmonth]+" "+dayofthemonth+", "+fullyear; break; case "Mmmm d, yyyy Z": strDate = ssMONTHNAME[jsdate.getUTCMonth()] +" "+ jsdate.getUTCDate() +", "+ jsdate.getUTCFullYear(); break; case "MM/DD/YYYY": strDate = gPad(jsmonth+1,2)+"/"+gPad(dayofthemonth,2)+"/"+fullyear; break; case "MM/DD/YYYY Z": strDate = gPad(jsdate.getUTCMonth()+1,2) +"/"+ gPad(jsdate.getUTCDate(),2) +"/"+ jsdate.getUTCFullYear(); break; case "YYYY": strDate = fullyear; break; case "YYYY Z": strDate = jsdate.getUTCFullYear(); break; case "YYYY-MM": strDate = fullyear+"-"+gPad(jsmonth+1,2); break; case "YYYY-MM Z": strDate = jsdate.getUTCFullYear() +"-"+ gPad(jsdate.getUTCMonth()+1,2); break; case "YYYY-MM-DD": strDate = fullyear+"-"+gPad(jsmonth+1,2)+"-"+gPad(dayofthemonth,2); break; case "YYYY-MM-DD Z": strDate = jsdate.getUTCFullYear() +"-"+ gPad(jsdate.getUTCMonth()+1,2) +"-"+ gPad(jsdate.getUTCDate(),2); break; case "hh:mm": strDate = gPad(hour,2)+":"+gPad(minute,2); break; case "hh:mm tzd": strDate = gPad(hour,2)+":"+gPad(minute,2)+tzd; break; case "hh:mm Z": strDate = gPad(jsdate.getUTCHours(),2) +":"+ gPad(jsdate.getUTCMinutes(),2) +"Z"; break; case "hh:mm:ss": strDate = gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2); break; case "hh:mm:ss tzd": strDate = gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2)+tzd; break; case "hh:mm:ss Z": strDate = gPad(jsdate.getUTCHours(),2) +":"+ gPad(jsdate.getUTCMinutes(),2) +":"+ gPad(jsdate.getUTCSeconds(),2) +"Z"; break; case "LocaleString": //Usual EG: Tuesday, June 10, 2003 08:25:22 PM strDate = jsdate.toLocaleString(); break; case "Ddd, dd Mmm YYYY hh:mm:ss": //RFC 822 strDate = ssDAYNAME3[dayoftheweek]+", "+gPad(dayoftheweek,2)+" "+ssMONTHNAME3[jsmonth]+" "+dayofthemonth+" "+ gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2); break; case "Ddd, dd Mmm YYYY hh:mm:ss tzd": //strDate = jsdate.toUTCString(); //Don't use because lousy JS puts "UTC" on end by default. strDate = ssDAYNAME3[dayoftheweek]+", "+gPad(dayoftheweek,2)+" "+ssMONTHNAME3[jsmonth]+" "+dayofthemonth+" "+ gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2)+" "+tzd; break; case "Ddd, dd Mmm YYYY hh:mm:ss GMT": //GMT is preferred over Z or UTC for rss. strDate = ssDAYNAME3[jsdate.getUTCDay()]+", "+gPad(jsdate.getUTCDate(),2)+" "+ssMONTHNAME3[jsdate.getUTCMonth()]+" "+jsdate.getUTCFullYear()+" "+ gPad(jsdate.getUTCHours(),2)+":"+gPad(jsdate.getUTCMinutes(),2)+":"+gPad(jsdate.getUTCSeconds(),2)+" GMT"; break; case "Ddd, dd Mmm YYYY hh:mm:ss Z": strDate = ssDAYNAME3[jsdate.getUTCDay()]+", "+gPad(jsdate.getUTCDate(),2)+" "+ssMONTHNAME3[jsdate.getUTCMonth()]+" "+jsdate.getUTCFullYear()+" "+ gPad(jsdate.getUTCHours(),2)+":"+gPad(jsdate.getUTCMinutes(),2)+":"+gPad(jsdate.getUTCSeconds(),2)+" Z"; break; case "YYYY-MM-DDthh:mm:ss": //ISO 8601 strDate = fullyear+"-"+gPad(jsmonth+1,2)+"-"+gPad(dayofthemonth,2)+"t"+gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2); break; case "YYYY-MM-DDthh:mm:ss tzd": strDate = fullyear+"-"+gPad(jsmonth+1,2)+"-"+gPad(dayofthemonth,2)+"t"+gPad(hour,2)+":"+gPad(minute,2)+":"+gPad(second,2)+tzd; break; case "YYYY-MM-DDthh:mm:ss Z": strDate = //'hi ISO'; jsdate.getUTCFullYear() +"-"+ gPad(jsdate.getUTCMonth()+1,2) +"-"+ gPad(jsdate.getUTCDate(),2) +"t"+ gPad(jsdate.getUTCHours(),2) +":"+ gPad(jsdate.getUTCMinutes(),2) +":"+ gPad(jsdate.getUTCSeconds(),2) +"Z"; break; } return strDate; }
/********* String Functions ***********/ //Encode a string for storing in a field in SQL function ssSTRtoSQL(str) { var str1 = new String(str); str1=str1.replace(/'/g, "''"); return str1.trim(); } //Take a field from SQL and puts it back function ssSQLtoSQL(str) { if (str=="") return "'\'"; else { var str1 = new String(str); str=str1.replace(/'/g, "''"); if (str.toLowerCase().trim()=="null") return "NULL"; else return "'"+str.trim()+"'"; } } //Pad ID (str or int) with zeros on its left. function ssPad(ID,intPlaces) { //assumes that places >= length var str = String(ID); var intLength = str.length; var intDifference = intPlaces-intLength; while (intDifference>0) { str = "0"+str; intDifference--; } return str; } //Add trim() to String object String.prototype.trim = function() { return this.replace(/^\s*(\b.*\b|)\s*$/, "$1"); }
%>
2005-02-21 21:36:53Z