= 0; i--) {
var element = CM8CE.placeHolders[i].element;
if (typeof(element) != "string") {
var elementInDom = function(scan)
{
if (! scan)
return true;
for (; scan && (scan != document.body); scan = scan.parentNode)
if (scan == elementToBeRemoved) {
scan = null;
break;
}
return scan;
};
var placeHolderExists = elementInDom(element) && elementInDom(CM8CE.placeHolders[i].showingElement);
}
else {
try {
var placeHolderExists = eval(element);
}
catch(e) {
var placeHolderExists = false;
}
}
if (! placeHolderExists) {
if (CM8CE.placeHolders[i].cleanup)
CM8CE.placeHolders[i].cleanup();
CM8CE.placeHolders.splice(i, 1);
}
}
}
},
initRequest: function(newPV)
{
this.lastRequestSerial++;
if (newPV)
this.pageViewStartSerial = this.lastRequestSerial;
var now = new Date().getTime();
this.serialsData[this.lastRequestSerial] = {cat: this.cat, serial: this.lastRequestSerial, sendTime: now, newPV: newPV, ads: {} };
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (ph.lock_time && ((now - ph.lock_time) >20000))
ph.lock_time = null;
}
for (var otherCat in CM8E)
if (CM8E[otherCat].clearRemovedPlaceHolders)
CM8E[otherCat].clearRemovedPlaceHolders();
return this.lastRequestSerial;
},
preparePH: function(serial, element, own, companion, format)
{
if (typeof(element) != "string") {
for (var parent = element; parent && (parent != document.body); parent = parent.parentNode) {
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (ph.lock_time && (ph.element == parent) && ph.own)
return false;
}
}
if (! parent)
return false;
var kickedOut = [];
if (own) {
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (typeof(ph.element) != "string") {
for (var parent = ph.element; parent && (parent != document.body); parent = parent.parentNode) {
if (element == parent) {
if (ph.lock_time)
return false;
if (! companion) {
kickedOut.push(i);
if (ph.cleanup)
ph.cleanup();
break;
}
}
}
}
}
}
for (var i = kickedOut.length - 1; i >= 0; i--)
this.placeHolders.splice(kickedOut[i], 1);
}
else {
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (ph.lock_time && (ph.element == element))
return false;
}
}
this.placeHolders.push({
element: element,
showingElement: null,
own: own,
companion: companion,
format: format,
adId: null,
serial: serial });
return true;
},
buildRequest: function(serial, path, extraParams)
{
var ignoredFormats = {};
if (window.CM8IgnoredFormats && CM8IgnoredFormats.length)
for (var i = 0; i < CM8IgnoredFormats.length; i++)
ignoredFormats[CM8IgnoredFormats[i]] = true;
var serialData = this.serialsData[serial];
var recentSerials = [];
for (var serialScan in this.serialsData) {
var serialScanData = this.serialsData[serialScan];
var time = serialScanData.sendTime;
if (serialScanData.receiveTime && time && (serialData.sendTime - time) <= 25000)
recentSerials.push(serialScan);
}
var history = [];
for (var adId in this.spotlesses)
history.push(adId);
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (ph.adId && (! ignoredFormats[ph.format]))
history.push(ph.adId);
}
if (serialData.newPV) {
this.lastPVCriterias = "";
this.lastPVPHs = {};
this.counts = {};
}
var xPH = "";
for (var format in this.lastPVPHs)
if (! ignoredFormats[format])
xPH += format + "," + this.lastPVPHs[format] + ",";
serialData.url =
((document.location.protocol=="https:")?"https:":"http:") +
"//" + this.server + path + "?" +
"cat=" + encodeURIComponent(serialData.cat).replace(/%2C/gi, ",") +
(this.page ? "&page=" + this.page : "") +
"&serial=" + serial + ":" + this.pageViewStartSerial + ":" +
String.fromCharCode(65 + (this.counts.total ? 1 : 0) + (this.counts.rm ? 2 : 0) + (this.counts.ph ? 4 : 0)) +
(recentSerials.length ? "&recent_serials=" + recentSerials.join(",") : "") +
(history.length ? "&history=" + history.join(",") : "") +
(xPH ? "&x_place_holders=" + xPH : "") +
(this.lastPVCriterias ? "&criterias=" + this.lastPVCriterias : "") +
(serialData.newPV ? "&same_pv=false" : "") +
"&" + this.dynamicDetections + "&" +
extraParams;
return serialData.url;
},
requestReceived: function(serial, spotlesses, criterias, placeHolders, counts)
{
if (! this.serialsData[serial])
return;
this.serialsData[serial].receiveTime = new Date().getTime();
for (var spotlessIndex = 0; spotlessIndex < spotlesses.length; spotlessIndex++) {
var spotless = spotlesses[spotlessIndex];
var spotlessData = this.spotlesses[spotless];
if (spotlessData && spotlessData.cleanup)
spotlessData.cleanup();
this.spotlesses[spotless] = {};
}
if (serial >= this.pageViewStartSerial) {
this.lastPVCriterias += criterias;
this.lastPVPHs = this.lastPVPHs || {};
var phsList = placeHolders ? placeHolders.split(',') : [];
for (var i = 0; i < phsList.length; i+=2) {
var format = phsList[i];
if (format)
this.lastPVPHs[format] = (this.lastPVPHs[format] || 0) + parseInt(phsList[i+1]);
}
counts = counts.charCodeAt(0) - 65;
this.counts.total = this.counts.total || ((counts & 1) != 0);
this.counts.rm = this.counts.rm || ((counts & 2) != 0);
this.counts.ph = this.counts.ph || ((counts & 4) != 0);
}
for (var i = 0; i < this.placeHolders.length; i++) {
var ph = this.placeHolders[i];
if (ph.serial == serial)
ph.lock_time = null;
}
},
bannerShowing: function(serial, showingElement, format, adId, ph)
{
if (typeof(showingElement) != "string") {
for (var parent = showingElement; parent != document.body; parent = parent.parentNode)
if (! parent)
return false;
}
else {
try {
var x = eval(showingElement);
if (! x)
return false;
}
catch(e) {
return false;
}
}
if (! ph) {
var phs = [];
for (var i = 0; i < this.placeHolders.length; i++) {
ph = this.placeHolders[i];
if (ph.serial == serial)
phs.push(ph);
}
if (phs.length == 1)
ph = phs[0];
else if (typeof(showingElement) != "string") {
ph = null;
for (var i = 0; i < phs.length; i++) {
ph = phs[i];
var phElement = ph.element && ((ph.element.tagName == 'SCRIPT') ? ph.element.parentNode : ph.element);
for (var scan = showingElement; scan && (scan != document.body) && (scan != phElement); scan = scan.parentNode);
if (scan == phElement)
break;
ph = null;
}
}
else {
ph = null;
for (var i = 0; i < phs.length; i++) {
ph = phs[i];
if (ph.element == showingElement)
break;
ph = null;
}
}
}
if (ph) {
ph.showingElement = showingElement;
ph.format = format;
ph.adId = adId;
ph.own = true;
ph.used = true;
return true;
}
return false;
}
};
for (var CM8ETP in CM8ET)
if ((typeof(CM8ET[CM8ETP]) == 'function') || (! CM8E[CM8XCat][CM8ETP]))
CM8E[CM8XCat][CM8ETP] = CM8ET[CM8ETP];
(function(CM8CE){
function CM8EncodeProfile(profile)
{
var attrs = (profile || "").split("&");
for (var i = 0; i < attrs.length; i++) {
var index = attrs[i].indexOf("=");
if (index == -1)
index = attrs[i].length;
var attr = attrs[i].substr(0, index);
var value = attrs[i].substr(index + 1);
if (attr) {
attr = ((attr.toLowerCase().indexOf("encoded:") == 0) ? attr.substring(8) : encodeURIComponent(attr));
}
if (value) {
value = ((value.toLowerCase().indexOf("encoded:") == 0) ? value.substring(8) : encodeURIComponent(value)).replace(/%2C/g, ",");
}
attrs[i] = attr + ((index < attrs[i].length) ? "=" : "") + value;
}
return ((attrs.length>0)?"&":"")+attrs.join("&");
}
var serial = CM8CE.initRequest(false);
var CM8CES = CM8CE.serialsData[serial];
if ((typeof(CM8RichMedia) != "undefined") &&
((CM8RichMedia.toString().toLowerCase() == "no") ||
(CM8RichMedia.toString().toLowerCase() == "false")))
var rm = "";
else
var rm = "r";
function preparePhFormat(PHE)
{
var PHF = PHE.title;
if (PHF) {
PHE.title = "";
PHF = decodeURIComponent(((PHF.toLowerCase().indexOf("encoded:") == 0) ? PHF.substring(8) : encodeURIComponent(PHF)));
PHE.CM8RawFormat = PHF;
PHE.CM8Format = PHF.replace(/:.*/, "");
}
if (! PHE.CM8Format) {
PHE.CM8Format = "";
PHE.CM8RawFormat = "";
}
}
CM8CE.CM8ErrorPopup = CM8CE.CM8ErrorPopup || '';
CM8CES.formatsPHs = {};
window.CM8ShowAd = function(F, I)
{
if ((!CM8CES) || (! CM8CES.CM8Titles))
return false;
var PHA = document.getElementsByTagName("DIV");
for (var PHI = 0; PHI < PHA.length; PHI++) {
var PHE = PHA[PHI];
if (PHE.id.indexOf("CM8ShowAd") == 0)
preparePhFormat(PHE);
}
F = decodeURIComponent(((F.toLowerCase().indexOf("encoded:") == 0) ? F.substring(8) : encodeURIComponent(F)));
var currentScript = (function(parentElement)
{
if ((parentElement.tagName == "SCRIPT") && (parentElement.src.indexOf("http://q1digital.checkm8.com") == 0))
return parentElement;
for (var childElement = parentElement.lastChild; childElement; childElement = childElement.prevSibling) {
var recursiveResult = arguments.callee(childElement);
if (recursiveResult)
return recursiveResult;
}
})(document.body) ||
(function(parentElement)
{
return parentElement.lastChild ? arguments.callee(parentElement.lastChild) : parentElement;
})(document.body);
if (! CM8CE.preparePH(CM8CE.lastRequestSerial, currentScript.parentNode, false, false, null))
return false;
if (document.getElementById('CM8_FORMAT_' + F) == null)
document.write(' ');
if (CM8CE.formats1Call && (! CM8CE.formats1Call[F]))
return false;
if (CM8CE.xformats1Call && CM8CE.xformats1Call[F])
return false;
CM8CES.formatsPHs[F] = (CM8CES.formatsPHs[F] || 0) + 1;
CM8CE.lastPVPHs[F] = (CM8CE.lastPVPHs[F] || 0) + 1;
var C='CM8ShowAd('+F+((typeof(I)=='number')?(','+I):'')+')';
for (var D = 0; CM8CES.CM8Titles[D] && (CM8CES.CM8Titles[D][0] != F); D++);
if (! CM8CES.CM8Titles[D])
return false;
CM8CES.CM8Titles[D][3]++;
var E = CM8CES.CM8Titles[D][4];
if (typeof(I) != 'number')
for (I = 0; E[I] && E[I].used; I++);
else if (I < 1) {
CM8CE.CM8ErrorPopup += '\\n'+C+' - Index '+I+' must be positive (1 and above)';
return false;
}
else
I--;
if (E[I] && E[I].used) {
CM8CE.CM8ErrorPopup += '\\n'+C+' - Index '+I+' is called twice';
return false;
}
if (E[I] && (! E[I].used)) {
E[I].used = true;
E[I][0]();
return true;
}
return false;
};
CM8CE.sumPHsOf1Call = function()
{
var S = '';
for (var X in CM8CES.formatsPHs) {
var Y=CM8CES.formatsPHs[X];
S+='&S'+Y+','+((CM8CE.lastPVPHs[X]||0)-Y)+','+encodeURIComponent(X);
}
if (! CM8CE.counts.ph) {
CM8CE.counts.ph = true;
S+='&P';
}
return S;
};
function prepare1CallProfile(profile)
{
delete CM8CE.formats1Call;
delete CM8CE.xformats1Call;
var attrs = profile.split("&");
for (var i = 0; i < attrs.length; i++) {
var index = attrs[i].indexOf("=");
if (index != -1) {
var attr = attrs[i].substr(0, index);
if (attr == "format")
var member = "formats1Call";
else if (attr == "xformat")
var member = "xformats1Call";
else
var member = null;
if (member) {
var formats = attrs[i].substr(index + 1).split(",");
for (var j = 0; j < formats.length; j++) {
var format = formats[j];
if (format) {
CM8dth=4 height=2 border=0> www.sfbayposters.com
San Francisco photography posters + prints
black + white posters
www.sfbayphotographs.com
Framed S.F. Bay Photographs
www.sfgreetingcards.com
San Francisco photography greeting cards
sfbaystore.com
San Francisco Gifts
sfbayaxis.com San Francisco Access
SF Post Production Services
SF Printing Services
SF Bay Access Blogs
San Francisco Resources + Information
SF Bay Images Photography Blog
Photography Slideshows Blog
SFBayImages.com Video Blog YouTube.com
|
black
white
|

www.sfbayposters.com black + white posters
SFbayimages.com has created a line of black + white posters available at
www.sfbayposters.com. These high quality black + white posters are printed at 150 DPI using superior dye inks, They are beautiful, clear, high quality printing and make excellent interior decoration, but are not archival photographic quality or cost. For photographs, please
search a database to find what you need. We have "poster sized" photographs printed using high quality photo processing available as well. For walls, schools, work environments, lunchrooms, churches, kids rooms, restaurants, souvenirs, decorating and gifts, www.sfbayposters.com black + white posters are wonderful.
SF BAY POSTERS features black + white posters of the Golden Gate Bridge, Yacht Racing, San Francisco Bay Landmarks,
Wildlife, Fog, Napa Valley, and black + white photography. While all are images in our collection of images are available in "poster" quality, www.sfbayposters.com black + white posters are designed
and ready to go to stylize your walls in 2 or 3 days and help you remember San Francisco and make excellent gifts.
www.sfbayposters.com Also has a selection of our more
popular images available as framed black + white archival acid free prints. The photograph prints and are framed
in black frames. There are framed prints available in only a limited selection of categories, but include
the Golden Gate Bridge, California coast and seascapes, Napa Valley wine country, black + white sailing and yacht racing, San Francisco City Skylines,
lighthouses and more categories are added often. There are over 4000 images in our database to select from for custom prints and framing.
These framed black + white prints are fulfilled by cafe press and ship within 2 to 3 business days.
The black + white posters.
Visit www.sfbayposters.com.
black + white san francisco photography posters:
black + white sailing + yacht racing posters
black + white trees + nature landscape posters:
black + white eucalyptus, redwoods, scrub oaks, coastal pines:
black + white posters and prints of the san francisco bay area make great gifts and souvenirs to remember san francisco by.

|
|
sf bay images
a searchable stock photography database. photographs of events, landmarks, lifestyles, landscapes, people, boats, sailboats, yacht racing, ships, windsurfing, and water sports from the san francisco bay area and beyond.
black + whites, large format, digital images, video and flash.
sfbayimages.com
|