/***************************************
	www.fishwasher.com
	Javascript templates
	(c)MMII Vlad Podvorny
****************************************/
var isLoc=(document.location.href.indexOf('localhost')!=-1)? 1:0;
var fwUrl = (isLoc) ? "http://localhost/fishwasher/" : "http://www.fishwasher.com/";
var imgDir = fwUrl + 'jst/img/';
var pxGif = 'px.gif';
var br = '<br>';
var sp = '&nbsp;';
var blankLn = '<p>&nbsp;</p>';

function todayStr() {
	dayArr = ["Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur"];
	monthArr = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	today = new Date();
	return dayArr[today.getDay()] + 'day, ' + monthArr[today.getMonth()] + ' ' + today.getDate() + ', ' + today.getFullYear();
}

function updStr() {
	var s = 'Updated on ';
	var upd = document.lastModified;
	var dateCheck = Date.parse(upd);
	var updDate = (dateCheck == 0) ? 'unknown' : upd;
	return s + upd;
}

function getRandom(maxNum) {
	var rNum = Math.floor(Math.random() * maxNum);
	return rNum;
}

function getRandomItem(anArray) {
	var rNum = getRandom(anArray.length);
	return anArray[rNum];
}

function getPixel() {
	return imgDir + pxGif;
}

function tag(someTag, str) {
	return '<' + someTag + '>' + str + '</' + someTag + '>';
}

function tagStyled(someTag, cssClass, str) {
	return '<' + someTag + ' class="' + cssClass + '">' + str + '</' + someTag + '>';
}

function nobr(str) {
	return tag('nobr', str);
}

function tagB(str) {
	return tag('b', str);
}

function tagU(str) {
	return tag('u', str);
}

function tagI(str) {
	return tag('i', str);
}

function span(someText, someClass) {
	return '<span class="' + someClass + '">' + someText + '</span>';
}

function makeAttr(attr, value) {
	var attrStr = (value != '') ? (' ' + attr + '="' + value + '"') : '';
	return attrStr;
}

function makeLink(lnkHref, lnkTxt, lnkStyle, lnkTarget) {
	var css = makeAttr('class', lnkStyle);
	var href = makeAttr('href', lnkHref);
	var targ = makeAttr('target', lnkTarget);
	return '<a' + css + href + targ + '>' + lnkTxt + '</a>';
}

function makePicLink(lnkHref, lnkPic, lnkTarget) {
	return makeLink(lnkHref, lnkPic, '', lnkTarget);
}

function wAttr(w) {
	return makeAttr('width',w);
}

function hAttr(h) {
	return makeAttr('height',h);
}

function bgAttr(bgPic) {
	return makeAttr('background',bgPic);
}

function ns4hideBg() {
	var s = (is.ns4) ? bgAttr(getPixel()) : '';
	return s;
}

function bcAttr(bgColor) {
	return makeAttr('bgcolor',bgColor);
}

function cssAttr(cssStyle) {
	return makeAttr('class',cssStyle);
}

function padAttr(cellPadding) {
	return makeAttr('cellpadding',cellPadding);
}

function pic(picPath, w, h, alt) {
	return '<img src="' + picPath + '"' + wAttr(w) + hAttr(h) + '" border="0"' + makeAttr('alt', alt) + '">';
}

function spacer(w, h) {
	sW = (w != '') ? w : '1';
	sH = (h != '') ? h : '1';
	return pic(getPixel(),sW,sH,'');
}

function spacerTab(w, h) {
	return '<table border="0" cellpadding="0" cellspacing="0"><tr><td>' + spacer(w, h) + '</td></tr></table>';
}


/************ single-cell table ***************/

function oneCellOpen(w, pad, bgC, css, align) {
	var s = '<table border="0"' + wAttr(w) + padAttr(pad) + ' cellspacing="0">';
	s += '<tr><td' + bcAttr(bgC) + cssAttr(css) + makeAttr('align', align) + '>';
	return s;
}

function oneCellClose() {
	return '</td></tr></table>';
}

function oneCellTab(w, pad, bgC, css, content, align) {
	return oneCellOpen(w, pad, bgC, css, align) + content + oneCellClose();
}

/************ box templates ***************/

// ---------------- generic box --------------

function jstBoxOpen(boxWidth, brdWidth, brdCol, bgCol, innerGap, innerAlign, boxHeader, hdCss) {
	var s = '<table border="0"' + wAttr(boxWidth) + padAttr(brdWidth) + ' cellspacing="0"><tr>';
	s += '<td' + bcAttr(brdCol) + '>';
	s += '<table border="0" width="100%"' + padAttr(innerGap) + ' cellspacing="0">';
	if (boxHeader != '') s += '<tr><th' + cssAttr(hdCss) + bcAttr(brdCol) + '>' + boxHeader + '</th></tr>';
	s += '<td' + bcAttr(bgCol) + makeAttr('align', innerAlign) + '>';
	return s;
}

function jstBoxClose() {
	return '</td></tr></table></td></tr></table>';
}

// ---------- boxOpen() / boxClose() ----------

function boxOpen(brdW, brdC, innerW, bgC) {
	var totalW = (innerW != '') ? (parseInt(innerW) + (parseInt(brdW) * 2)) : '';
	return jstBoxOpen(totalW, brdW, brdC, bgC, 0, 'center', '', '');
}

function boxClose() {
	return jstBoxClose();
}

// ---------- boxHdOpen() / boxHdClose() --------

function boxHdOpen(brdW, brdC, innerW, bgC, aHdr, hdrStyle) {
	var totalW = (innerW != '') ? (parseInt(innerW) + (parseInt(brdW) * 2)) : '';
	return jstBoxOpen(totalW, brdW, brdC, bgC, 0, 'center', aHdr, hdrStyle);
}

function boxHdClose() {
	return jstBoxClose();
}

/********** pic frame template *************/
/* frame pieces numbered 0..7:
	0		1		2
	3				4
	5		6		7
*/
function frameInit(picArray, frameName) {
	for (var i = 0; i < 8; i++) {
		picArray[i] = imgDir + frameName + i + '.gif'; // all GIFs
	}
}

function picFrameOpen(frArray, frW, innerW, bgColor, bgPic) {
	var totalW = (innerW != '') ? ((parseInt(frW) * 2) + parseInt(innerW)) : '';
	var s = '<table' + wAttr(totalW) + ' border="0" cellpadding="0" cellspacing="0"><tr>';
	s += '<td' + wAttr(frW) + hAttr(frW) + bcAttr(bgColor) + '>' + pic(frArray[0],frW,frW,'') + '</td>';
	s += '<td' + wAttr(innerW) + hAttr(frW) + bcAttr(bgColor) + bgAttr(frArray[1]) + '>' + spacer(innerW,frW) + '</td>';
	s += '<td' + wAttr(frW) + hAttr(frW) + bcAttr(bgColor) + '>' + pic(frArray[2],frW,frW,'') + '</td></tr>';
	s += '<tr><td' + wAttr(frW) + bcAttr(bgColor) + bgAttr(frArray[3]) +'>' + spacer(frW,'') + '</td>';
	s += '<td' + bcAttr(bgColor) + bgAttr(bgPic) + ' align="center">';
	//if (debug) s += br + 'totalW=' + totalW + br + imgDir + pxGif + br + 'frW=' + frW + br;
	return s;
}

function picFrameClose(frArray, frW, bgColor) {
	var s = '</td><td' + bcAttr(bgColor) + bgAttr(frArray[4]) +'>' + spacer(frW,'') + '</td></tr>';
	s += '<td' + hAttr(frW) + bcAttr(bgColor) + '>' + pic(frArray[5],frW,frW,'') + '</td>';
	s += '<td' + hAttr(frW) + bcAttr(bgColor) + bgAttr(frArray[6]) + '>' + spacer('',frW) + '</td>';
	s += '<td' + hAttr(frW) + bcAttr(bgColor) + '>' + pic(frArray[7],frW,frW,'') + '</td></tr></table>';
	return s;
}


/* -------------- list of links -------------- */
// format: URL, link text, description, target
function lnkLst(lstArray, cssLink, cssOdd, cssEven, cellPad) {
	var isOdd = false;
	var s = '<table border="0" width="100%"' + padAttr(cellPad) + ' cellspacing="0">';
	for (var i = 0; i < lstArray.length; i++) {
		var lnkUrl = lstArray[i++];
		var lnkText = lstArray[i++];
		var lnkDescr = lstArray[i++];
		var lnkTarg = lstArray[i];
		var bgCss = (isOdd) ? cssOdd : cssEven;
		s += '<tr><td' + cssAttr(bgCss) + ' valign="top"><nobr>' + makeLink(lnkUrl, lnkText, cssLink, lnkTarg) + '</nobr></td>';
		s += '<td' + cssAttr(bgCss) + '>' + lnkDescr + '</td></tr>';
		isOdd = (isOdd) ? false : true;
	}
	s += '</table>';
	return s;
}

function openWin(wName) {
	window.open('', wName, 'scrollbars=1,menubar=0,status=0,resizable=0,width=500,height=400,screenX=0,screenY=0');
	return true;
}

