var cimotifempty = 1;
// ========================================================
// settings
var cincPID="14443";
var cincNID="20";
var cincZID="jc89";
var cincSFT="yes"; // new 'soft' look, rounded edges, srb 3/29/2006
var cincTYP="120x600"; // size of approved ad units (def 120x600)
var cincPUB="0"; // publisher ID - not necessary for PID/NID/ZID mode
var cincMOD="u"; // u|a sets underline or ad unit mode (def u)
var cincUID="";
var cincBLD="yes"; // no|yes sets bold text (def yes)
var cincFGC="green"; // text color - (def green)
var cincBGC=""; // background color of the text (def no change in color)
var cincTGT="_blank"; // sets the target attribute for the link to coupon
var cincIMG="yes"; // yes|no turns off small down arrow image (def yes)
var cincLCL=""; // yes indicates request for only local coupons
var cincMerch=""; // yes indicates request for only coupons with Merch Keywords
var cincCat = ""; // yes indicatesrequest for only coupons with category keywords
var cincCOUPIMG="yes"; // yes|no turns on coupon images (def yes)
var cincExcCat="no"; // yes|no exclude category coupon matches (def no)
var cincITL="no"; // no|yes sets italic text (def no)
var cincDOT="green"; // color of dotted underline (def green)
var cincNPP=7; // max keywords hit per page (def 7)
var cincPIDCouponCount=0;
var cincTYPw=""; // width
var cincTYPh=""; // height
var cincTYPm=""; // motif count
var cincTYPp=""; // padding
var cincAdUnitMode = false;
var cincConcordanceUrl = "http://www.oclus.com/";
var cincImageUrl = "http://a19.g.akamai.net/7/19/7125/1450/Ocellus.coupons.com/_images/";
var cincMicrositeUrl = "http://print.coupons.com/couponweb/index.aspx";
var cincAdditionalSupportedWords = ("el").split(",");
var cincSupportDupPids = ("0");
var cinc_MOTIF_LEN_LIMIT = 2048;
var cinc_DEPTH_MAX = 100;
// extra added on 3/28/2008
var cincWDTH = ""; // Width specified for Ad unit mode
var ciStrAdWdth = "";
if(cincFGC.indexOf("#")<= -1)
{
if(ci_isHex(cincFGC))
{
cincFGC = "#" + cincFGC;
}
}
if(cincDOT.indexOf("#")<= -1)
{
if(ci_isHex(cincDOT))
{
cincDOT = "#" + cincDOT;
}
}
if(cincFGC == cincBGC) // If both front text and Background color are same set one to Black if one is white and vice versa
{
if (cincBGC == "black" || cincBGC == "#000000" || cincBGC == "Black")
cincFGC = "white";
if (cincBGC == "White" || cincBGC == "white" || cincBGC == "#FFFFFF")
cincFGC = "Black";
}
// if ( (cincBGC == "" && (cincFGC =="white" || cincFGC == "#FFFFFF" ) // If Background is Blank and Font is White, Default it to Black. (white might not be clear)
// {
// cincFGC = "Black";
// }
if(cincWDTH != "")
{
ciStrAdWdth = "width:" + cincWDTH + " px ";
}
// ========================================================
var cincie4=document.all;
var cincns6=document.getElementById&&!document.all;
var cimotifPopup=null;
var cimotifAdImp="";
var motifCount = 0;
var motifAdCount = 0;
var motifArray;
var motifAdArray;
var motifHits = 0;
var motifActiveArrayIndex = null;
var concordanceMode = true;
var concordanceDemarcated;
var motifPreProcessToggle = true;
var motifProcessMerchcat = false;
var motifContentLength = 0;
var motifAllWords = new Array();
var motifMerchWords = new Array();
var motifMerchNodes = new Array();
var concordanceNodes = new Array();
var concordanceSupNodes = new Array();
var motifLastWord = null;
var motifLastNode = null;
var motifMerchKey = "";
function ConcordanceNode(nd,sndIndex,kwd)
{
this.node = nd;
this.sNodeIndex = sndIndex;
this.keywords = kwd;
}
function ConcordanceSupNode(nd,kwd,ch)
{
this.node = nd;
this.keyword = kwd;
this.character = ch;
}
Array.prototype.cincContains = function (x) {
for (var i = 0; i < this.length; i++) {
if (this[i] == x) return true;
}
return false;
}
if (cincie4||cincns6)
{
if( cincMOD == "u" || cincMOD == "m" ) {
// underline mode
document.write('');
document.write('
');
}
if( cincMOD != "u" ) {
// ad mode
document.write('');
}
}
// =================================================
function cmotifInsertMotifDivElement(parentElem,type,id)
{
var elem = document.createElement(type);
elem.id = id;
elem.setAttribute("visibility","hidden");
elem.setAttribute("background-color","transparent");
elem.setAttribute("filter","alpha(opacity=98)");
elem.setAttribute("position","hidden");
elem.setAttribute("onMouseover","cimotifClearPopup()");
elem.setAttribute("onMouseout","cimotifHidePopup(event)");
elem.style.zIndex = "2147483647";
elem.style.position = "absolute";
elem.style.top = "-2000px";
elem.style.left = "-2000px";
elem.style.width = "250px";
elem.style.height = "160px";
parentElem.appendChild(elem);
}
// ========================================================
function cmotifDefinePopup()
{
if( cincMOD == "m" && !cincie4 && document.getElementById("cimotifDivAlt") == null && document.getElementsByTagName("body") )
{
var bObjs = document.getElementsByTagName("body");
cmotifInsertMotifDivElement(bObjs[bObjs.length-1],"div","cimotifDivAlt");
}
if( document.getElementById("cimotifDivAlt") != null )
{
cimotifPopup = document.getElementById("cimotifDivAlt");
}
else
{
cimotifPopup = document.getElementById("cimotifDiv");
}
if( cincSFT == "yes" )
{
var rowspacer = " | | |
";
var rowstart = " | ";
var rowend = " | |
";
divContents = " | | |
| | |
";
if( cincTYP != "y" )
{
divContents += " | Print these coupons... |  | |
" + rowspacer;
}
else
{
divContents += " | Click to print a coupon... |  | |
" + rowspacer;
}
divContents += " | "+rowend;
divContents += rowspacer + " |
| | |
" + rowspacer;
divContents += " | About Concordance | |  | |
";
divContents += " | | |
";
cimotifPopup.innerHTML = divContents;
}
else
{
var rowspacer = " |
";
var rowstart = " | ";
var rowend = " | |
";
divContents = "";
divContents += " | | ";
divContents += " | Print these coupons... |  | " + rowspacer;
divContents += " | "+rowend;
divContents += " | | | | " + rowspacer;
divContents += " | About Concordance | |  | | " + rowspacer + " ";
divContents += " |  |
";
divContents += " |
";
cimotifPopup.innerHTML = divContents;
}
cimotifPopup.style.left=cimotifPopup.style.top="-1000px";
cimotifPopup.style.visibility = "visible";
}
//========================================================
function getAltURL()
{
if (typeof(ciAltURL) != "undefined" && ciAltURL.length > 0)
return "&altURL=" + ciAltURL;
else
return "";
}
//========================================================
function getAltMoreURL()
{
if (typeof(ciAltURL) != "undefined" && ciAltURL.length > 0)
return (ciAltURL.indexOf("?") > 0 ? ciAltURL + "&pid=" + cincPID : ciAltURL + "?pid=" + cincPID) ;
else
return cincMicrositeUrl + "?pid=" + cincPID + "&nid=" + cincNID + "&zid=" + cincZID + (typeof(theCVL) != "undefined" ? theCVL : "");
}
// ========================================================
function SetPrtCpnWStat(status) { window.status=(status ? 'Print this coupon' : ' '); return true; }
// ========================================================
function cmotifHtmlDecode(s)
{
var out = "";
if (s==null) return;
var l = s.length;
for (var i=0; i 0)
{
var entity = s.substring(i + 1, semicolonIndex);
if (entity.length > 1 && entity.charAt(0) == '#')
{
if (entity.charAt(1) == 'x' || entity.charAt(1) == 'X')
ch = String.fromCharCode(eval('0'+entity.substring(1)));
else
ch = String.fromCharCode(eval(entity.substring(1)));
}
else
{
switch (entity)
{
case 'quot': ch = String.fromCharCode(0x0022); break;
case 'amp': ch = String.fromCharCode(0x0026); break;
case 'lt': ch = String.fromCharCode(0x003c); break;
case 'gt': ch = String.fromCharCode(0x003e); break;
case 'nbsp': ch = String.fromCharCode(0x00a0); break;
case 'iexcl': ch = String.fromCharCode(0x00a1); break;
case 'cent': ch = String.fromCharCode(0x00a2); break;
case 'pound': ch = String.fromCharCode(0x00a3); break;
case 'curren': ch = String.fromCharCode(0x00a4); break;
case 'yen': ch = String.fromCharCode(0x00a5); break;
case 'brvbar': ch = String.fromCharCode(0x00a6); break;
case 'sect': ch = String.fromCharCode(0x00a7); break;
case 'uml': ch = String.fromCharCode(0x00a8); break;
case 'copy': ch = String.fromCharCode(0x00a9); break;
case 'ordf': ch = String.fromCharCode(0x00aa); break;
case 'laquo': ch = String.fromCharCode(0x00ab); break;
case 'not': ch = String.fromCharCode(0x00ac); break;
case 'shy': ch = String.fromCharCode(0x00ad); break;
case 'reg': ch = String.fromCharCode(0x00ae); break;
case 'macr': ch = String.fromCharCode(0x00af); break;
case 'deg': ch = String.fromCharCode(0x00b0); break;
case 'plusmn': ch = String.fromCharCode(0x00b1); break;
case 'sup2': ch = String.fromCharCode(0x00b2); break;
case 'sup3': ch = String.fromCharCode(0x00b3); break;
case 'acute': ch = String.fromCharCode(0x00b4); break;
case 'micro': ch = String.fromCharCode(0x00b5); break;
case 'para': ch = String.fromCharCode(0x00b6); break;
case 'middot': ch = String.fromCharCode(0x00b7); break;
case 'cedil': ch = String.fromCharCode(0x00b8); break;
case 'sup1': ch = String.fromCharCode(0x00b9); break;
case 'ordm': ch = String.fromCharCode(0x00ba); break;
case 'raquo': ch = String.fromCharCode(0x00bb); break;
case 'frac14': ch = String.fromCharCode(0x00bc); break;
case 'frac12': ch = String.fromCharCode(0x00bd); break;
case 'frac34': ch = String.fromCharCode(0x00be); break;
case 'iquest': ch = String.fromCharCode(0x00bf); break;
case 'Agrave': ch = String.fromCharCode(0x00c0); break;
case 'Aacute': ch = String.fromCharCode(0x00c1); break;
case 'Acirc': ch = String.fromCharCode(0x00c2); break;
case 'Atilde': ch = String.fromCharCode(0x00c3); break;
case 'Auml': ch = String.fromCharCode(0x00c4); break;
case 'Aring': ch = String.fromCharCode(0x00c5); break;
case 'AElig': ch = String.fromCharCode(0x00c6); break;
case 'Ccedil': ch = String.fromCharCode(0x00c7); break;
case 'Egrave': ch = String.fromCharCode(0x00c8); break;
case 'Eacute': ch = String.fromCharCode(0x00c9); break;
case 'Ecirc': ch = String.fromCharCode(0x00ca); break;
case 'Euml': ch = String.fromCharCode(0x00cb); break;
case 'Igrave': ch = String.fromCharCode(0x00cc); break;
case 'Iacute': ch = String.fromCharCode(0x00cd); break;
case 'Icirc': ch = String.fromCharCode(0x00ce); break;
case 'Iuml': ch = String.fromCharCode(0x00cf); break;
case 'ETH': ch = String.fromCharCode(0x00d0); break;
case 'Ntilde': ch = String.fromCharCode(0x00d1); break;
case 'Ograve': ch = String.fromCharCode(0x00d2); break;
case 'Oacute': ch = String.fromCharCode(0x00d3); break;
case 'Ocirc': ch = String.fromCharCode(0x00d4); break;
case 'Otilde': ch = String.fromCharCode(0x00d5); break;
case 'Ouml': ch = String.fromCharCode(0x00d6); break;
case 'times': ch = String.fromCharCode(0x00d7); break;
case 'Oslash': ch = String.fromCharCode(0x00d8); break;
case 'Ugrave': ch = String.fromCharCode(0x00d9); break;
case 'Uacute': ch = String.fromCharCode(0x00da); break;
case 'Ucirc': ch = String.fromCharCode(0x00db); break;
case 'Uuml': ch = String.fromCharCode(0x00dc); break;
case 'Yacute': ch = String.fromCharCode(0x00dd); break;
case 'THORN': ch = String.fromCharCode(0x00de); break;
case 'szlig': ch = String.fromCharCode(0x00df); break;
case 'agrave': ch = String.fromCharCode(0x00e0); break;
case 'aacute': ch = String.fromCharCode(0x00e1); break;
case 'acirc': ch = String.fromCharCode(0x00e2); break;
case 'atilde': ch = String.fromCharCode(0x00e3); break;
case 'auml': ch = String.fromCharCode(0x00e4); break;
case 'aring': ch = String.fromCharCode(0x00e5); break;
case 'aelig': ch = String.fromCharCode(0x00e6); break;
case 'ccedil': ch = String.fromCharCode(0x00e7); break;
case 'egrave': ch = String.fromCharCode(0x00e8); break;
case 'eacute': ch = String.fromCharCode(0x00e9); break;
case 'ecirc': ch = String.fromCharCode(0x00ea); break;
case 'euml': ch = String.fromCharCode(0x00eb); break;
case 'igrave': ch = String.fromCharCode(0x00ec); break;
case 'iacute': ch = String.fromCharCode(0x00ed); break;
case 'icirc': ch = String.fromCharCode(0x00ee); break;
case 'iuml': ch = String.fromCharCode(0x00ef); break;
case 'eth': ch = String.fromCharCode(0x00f0); break;
case 'ntilde': ch = String.fromCharCode(0x00f1); break;
case 'ograve': ch = String.fromCharCode(0x00f2); break;
case 'oacute': ch = String.fromCharCode(0x00f3); break;
case 'ocirc': ch = String.fromCharCode(0x00f4); break;
case 'otilde': ch = String.fromCharCode(0x00f5); break;
case 'ouml': ch = String.fromCharCode(0x00f6); break;
case 'divide': ch = String.fromCharCode(0x00f7); break;
case 'oslash': ch = String.fromCharCode(0x00f8); break;
case 'ugrave': ch = String.fromCharCode(0x00f9); break;
case 'uacute': ch = String.fromCharCode(0x00fa); break;
case 'ucirc': ch = String.fromCharCode(0x00fb); break;
case 'uuml': ch = String.fromCharCode(0x00fc); break;
case 'yacute': ch = String.fromCharCode(0x00fd); break;
case 'thorn': ch = String.fromCharCode(0x00fe); break;
case 'yuml': ch = String.fromCharCode(0x00ff); break;
case 'OElig': ch = String.fromCharCode(0x0152); break;
case 'oelig': ch = String.fromCharCode(0x0153); break;
case 'Scaron': ch = String.fromCharCode(0x0160); break;
case 'scaron': ch = String.fromCharCode(0x0161); break;
case 'Yuml': ch = String.fromCharCode(0x0178); break;
case 'fnof': ch = String.fromCharCode(0x0192); break;
case 'circ': ch = String.fromCharCode(0x02c6); break;
case 'tilde': ch = String.fromCharCode(0x02dc); break;
case 'Alpha': ch = String.fromCharCode(0x0391); break;
case 'Beta': ch = String.fromCharCode(0x0392); break;
case 'Gamma': ch = String.fromCharCode(0x0393); break;
case 'Delta': ch = String.fromCharCode(0x0394); break;
case 'Epsilon': ch = String.fromCharCode(0x0395); break;
case 'Zeta': ch = String.fromCharCode(0x0396); break;
case 'Eta': ch = String.fromCharCode(0x0397); break;
case 'Theta': ch = String.fromCharCode(0x0398); break;
case 'Iota': ch = String.fromCharCode(0x0399); break;
case 'Kappa': ch = String.fromCharCode(0x039a); break;
case 'Lambda': ch = String.fromCharCode(0x039b); break;
case 'Mu': ch = String.fromCharCode(0x039c); break;
case 'Nu': ch = String.fromCharCode(0x039d); break;
case 'Xi': ch = String.fromCharCode(0x039e); break;
case 'Omicron': ch = String.fromCharCode(0x039f); break;
case 'Pi': ch = String.fromCharCode(0x03a0); break;
case 'Rho': ch = String.fromCharCode(0x03a1); break;
case 'Sigma': ch = String.fromCharCode(0x03a3); break;
case 'Tau': ch = String.fromCharCode(0x03a4); break;
case 'Upsilon': ch = String.fromCharCode(0x03a5); break;
case 'Phi': ch = String.fromCharCode(0x03a6); break;
case 'Chi': ch = String.fromCharCode(0x03a7); break;
case 'Psi': ch = String.fromCharCode(0x03a8); break;
case 'Omega': ch = String.fromCharCode(0x03a9); break;
case 'alpha': ch = String.fromCharCode(0x03b1); break;
case 'beta': ch = String.fromCharCode(0x03b2); break;
case 'gamma': ch = String.fromCharCode(0x03b3); break;
case 'delta': ch = String.fromCharCode(0x03b4); break;
case 'epsilon': ch = String.fromCharCode(0x03b5); break;
case 'zeta': ch = String.fromCharCode(0x03b6); break;
case 'eta': ch = String.fromCharCode(0x03b7); break;
case 'theta': ch = String.fromCharCode(0x03b8); break;
case 'iota': ch = String.fromCharCode(0x03b9); break;
case 'kappa': ch = String.fromCharCode(0x03ba); break;
case 'lambda': ch = String.fromCharCode(0x03bb); break;
case 'mu': ch = String.fromCharCode(0x03bc); break;
case 'nu': ch = String.fromCharCode(0x03bd); break;
case 'xi': ch = String.fromCharCode(0x03be); break;
case 'omicron': ch = String.fromCharCode(0x03bf); break;
case 'pi': ch = String.fromCharCode(0x03c0); break;
case 'rho': ch = String.fromCharCode(0x03c1); break;
case 'sigmaf': ch = String.fromCharCode(0x03c2); break;
case 'sigma': ch = String.fromCharCode(0x03c3); break;
case 'tau': ch = String.fromCharCode(0x03c4); break;
case 'upsilon': ch = String.fromCharCode(0x03c5); break;
case 'phi': ch = String.fromCharCode(0x03c6); break;
case 'chi': ch = String.fromCharCode(0x03c7); break;
case 'psi': ch = String.fromCharCode(0x03c8); break;
case 'omega': ch = String.fromCharCode(0x03c9); break;
case 'thetasym': ch = String.fromCharCode(0x03d1); break;
case 'upsih': ch = String.fromCharCode(0x03d2); break;
case 'piv': ch = String.fromCharCode(0x03d6); break;
case 'ensp': ch = String.fromCharCode(0x2002); break;
case 'emsp': ch = String.fromCharCode(0x2003); break;
case 'thinsp': ch = String.fromCharCode(0x2009); break;
case 'zwnj': ch = String.fromCharCode(0x200c); break;
case 'zwj': ch = String.fromCharCode(0x200d); break;
case 'lrm': ch = String.fromCharCode(0x200e); break;
case 'rlm': ch = String.fromCharCode(0x200f); break;
case 'ndash': ch = String.fromCharCode(0x2013); break;
case 'mdash': ch = String.fromCharCode(0x2014); break;
case 'lsquo': ch = String.fromCharCode(0x2018); break;
case 'rsquo': ch = String.fromCharCode(0x2019); break;
case 'sbquo': ch = String.fromCharCode(0x201a); break;
case 'ldquo': ch = String.fromCharCode(0x201c); break;
case 'rdquo': ch = String.fromCharCode(0x201d); break;
case 'bdquo': ch = String.fromCharCode(0x201e); break;
case 'dagger': ch = String.fromCharCode(0x2020); break;
case 'Dagger': ch = String.fromCharCode(0x2021); break;
case 'bull': ch = String.fromCharCode(0x2022); break;
case 'hellip': ch = String.fromCharCode(0x2026); break;
case 'permil': ch = String.fromCharCode(0x2030); break;
case 'prime': ch = String.fromCharCode(0x2032); break;
case 'Prime': ch = String.fromCharCode(0x2033); break;
case 'lsaquo': ch = String.fromCharCode(0x2039); break;
case 'rsaquo': ch = String.fromCharCode(0x203a); break;
case 'oline': ch = String.fromCharCode(0x203e); break;
case 'frasl': ch = String.fromCharCode(0x2044); break;
case 'euro': ch = String.fromCharCode(0x20ac); break;
case 'image': ch = String.fromCharCode(0x2111); break;
case 'weierp': ch = String.fromCharCode(0x2118); break;
case 'real': ch = String.fromCharCode(0x211c); break;
case 'trade': ch = String.fromCharCode(0x2122); break;
case 'alefsym': ch = String.fromCharCode(0x2135); break;
case 'larr': ch = String.fromCharCode(0x2190); break;
case 'uarr': ch = String.fromCharCode(0x2191); break;
case 'rarr': ch = String.fromCharCode(0x2192); break;
case 'darr': ch = String.fromCharCode(0x2193); break;
case 'harr': ch = String.fromCharCode(0x2194); break;
case 'crarr': ch = String.fromCharCode(0x21b5); break;
case 'lArr': ch = String.fromCharCode(0x21d0); break;
case 'uArr': ch = String.fromCharCode(0x21d1); break;
case 'rArr': ch = String.fromCharCode(0x21d2); break;
case 'dArr': ch = String.fromCharCode(0x21d3); break;
case 'hArr': ch = String.fromCharCode(0x21d4); break;
case 'forall': ch = String.fromCharCode(0x2200); break;
case 'part': ch = String.fromCharCode(0x2202); break;
case 'exist': ch = String.fromCharCode(0x2203); break;
case 'empty': ch = String.fromCharCode(0x2205); break;
case 'nabla': ch = String.fromCharCode(0x2207); break;
case 'isin': ch = String.fromCharCode(0x2208); break;
case 'notin': ch = String.fromCharCode(0x2209); break;
case 'ni': ch = String.fromCharCode(0x220b); break;
case 'prod': ch = String.fromCharCode(0x220f); break;
case 'sum': ch = String.fromCharCode(0x2211); break;
case 'minus': ch = String.fromCharCode(0x2212); break;
case 'lowast': ch = String.fromCharCode(0x2217); break;
case 'radic': ch = String.fromCharCode(0x221a); break;
case 'prop': ch = String.fromCharCode(0x221d); break;
case 'infin': ch = String.fromCharCode(0x221e); break;
case 'ang': ch = String.fromCharCode(0x2220); break;
case 'and': ch = String.fromCharCode(0x2227); break;
case 'or': ch = String.fromCharCode(0x2228); break;
case 'cap': ch = String.fromCharCode(0x2229); break;
case 'cup': ch = String.fromCharCode(0x222a); break;
case 'int': ch = String.fromCharCode(0x222b); break;
case 'there4': ch = String.fromCharCode(0x2234); break;
case 'sim': ch = String.fromCharCode(0x223c); break;
case 'cong': ch = String.fromCharCode(0x2245); break;
case 'asymp': ch = String.fromCharCode(0x2248); break;
case 'ne': ch = String.fromCharCode(0x2260); break;
case 'equiv': ch = String.fromCharCode(0x2261); break;
case 'le': ch = String.fromCharCode(0x2264); break;
case 'ge': ch = String.fromCharCode(0x2265); break;
case 'sub': ch = String.fromCharCode(0x2282); break;
case 'sup': ch = String.fromCharCode(0x2283); break;
case 'nsub': ch = String.fromCharCode(0x2284); break;
case 'sube': ch = String.fromCharCode(0x2286); break;
case 'supe': ch = String.fromCharCode(0x2287); break;
case 'oplus': ch = String.fromCharCode(0x2295); break;
case 'otimes': ch = String.fromCharCode(0x2297); break;
case 'perp': ch = String.fromCharCode(0x22a5); break;
case 'sdot': ch = String.fromCharCode(0x22c5); break;
case 'lceil': ch = String.fromCharCode(0x2308); break;
case 'rceil': ch = String.fromCharCode(0x2309); break;
case 'lfloor': ch = String.fromCharCode(0x230a); break;
case 'rfloor': ch = String.fromCharCode(0x230b); break;
case 'lang': ch = String.fromCharCode(0x2329); break;
case 'rang': ch = String.fromCharCode(0x232a); break;
case 'loz': ch = String.fromCharCode(0x25ca); break;
case 'spades': ch = String.fromCharCode(0x2660); break;
case 'clubs': ch = String.fromCharCode(0x2663); break;
case 'hearts': ch = String.fromCharCode(0x2665); break;
case 'diams': ch = String.fromCharCode(0x2666); break;
default: ch = ''; break;
}
}
i = semicolonIndex;
}
}
out += ch;
}
return out;
}
// ========================================================
cimotifGetWinSize = function()
{
var sizeOfX = 0, sizeOfY = 0;
if( typeof( window.innerWidth ) == 'number' )
{
// Firefox compliant
sizeOfX = window.innerWidth;
sizeOfY = window.innerHeight;
}
else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
{
// IE 6+ in 'standards compliant mode'
sizeOfX = document.documentElement.clientWidth;
sizeOfY = document.documentElement.clientHeight;
}
else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
{
// IE 6 compatible
sizeOfX = document.body.clientWidth;
sizeOfY = document.body.clientHeight;
}
return [ sizeOfX-25, sizeOfY-25 ];
}
// ========================================================
cimotifGetScrollXY = function()
{
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' )
{
// Firefox compliant
scrOfY = window.pageYOffset;
scrOfX = window.pageXOffset;
}
else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
{
// DOM compliant
scrOfY = document.body.scrollTop;
scrOfX = document.body.scrollLeft;
}
else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
{
// IE6 standards compliant mode
scrOfY = document.documentElement.scrollTop;
scrOfX = document.documentElement.scrollLeft;
}
return [ scrOfX, scrOfY ];
}
// ========================================================
function cimotifcalcPosition(e,ob,pop)
{
if( cincMOD == "m" && e != null && e.clientX != null && e.clientY != null )
{
var winSize = cimotifGetWinSize();
var scrollPos = cimotifGetScrollXY();
var motifClientX = e.clientX;
var motifClientY = e.clientY;
if( winSize[1] < motifClientY ) { winSize[1] = motifClientY + pop.offsetHeight; }
motifClientY = (e != null && e.clientY + pop.offsetHeight > winSize[1] ? motifClientY - ((e.clientY + pop.offsetHeight)-winSize[1]): motifClientY) + scrollPos[1] + 10;
if( winSize[0] < motifClientX ) { winSize[0] = motifClientX + pop.offsetWidth; }
motifClientX = (e != null && e.clientX + pop.offsetWidth > winSize[0] ? motifClientX - ((e.clientX + pop.offsetWidth)-winSize[0]): motifClientX) + scrollPos[0] - 20;
pop.style.top = (motifClientY < 0 ? 0 : motifClientY) + "px";
pop.style.left = (motifClientX < 0 ? 0 : motifClientX) + "px";
return;
}
var cimotifL=0,cimotifR=0,cimotifT=0,cimotifB=0;
var cimotifpob = ob;
while (cimotifpob!=null){
cimotifL=cimotifL+cimotifpob.offsetLeft;
cimotifT=cimotifT+cimotifpob.offsetTop;
cimotifpob=cimotifpob.offsetParent;
}
var edgeRt,edgeBt,edgeTp;
if (cincie4 && !window.opera){
var paneRef = (document.compatMode && document.compatMode!="BackCompat") ? document.documentElement : document.body;
edgeRt = (paneRef.scrollLeft+paneRef.clientWidth-15);
edgeBt = (paneRef.scrollTop+paneRef.clientHeight-15);
edgeTp = (paneRef.scrollTop);
}else{
edgeRt = (window.pageXOffset+window.innerWidth-15);
edgeBt = (window.pageYOffset+window.innerHeight-18);
edgeTp = (window.pageYOffset);
}
pop.contentmeasure=pop.offsetWidth
if (edgeRt-cimotifL < pop.contentmeasure){
cimotifR=pop.contentmeasure-ob.offsetWidth;
}
pop.contentmeasure=pop.offsetHeight;
if (edgeBt-cimotifT < pop.contentmeasure){
cimotifB=pop.contentmeasure+ob.offsetHeight;
if (cimotifT-edgeTp < pop.contentmeasure)
cimotifB=pop.y+ob.offsetHeight-edgeTp;
}
if( cimotifL < cimotifR ){
cimotifL = cimotifR;
}
if( cimotifT < cimotifB ){
cimotifT = cimotifB;
}
pop.x=cimotifL;
pop.y=cimotifT;
pop.style.left=cimotifL-cimotifR+"px";
pop.style.top=cimotifT-cimotifB+ob.offsetHeight+"px";
}
// ========================================================
function cimotifShowPopup(e, obj, cimotiflinkarray, index)
{
if (cincie4 && event) {
event.cancelBubble = true;
if (event.stopPropagation)
event.stopPropagation();
}
cimotifClearPopup();
if ((cincie4||cincns6) && (cimotifPopup != null))
{
if (cimotiflinkarray != null && motifActiveArrayIndex != index) {
var numItems = cimotiflinkarray.length;
var innerpart = "";
if( cincTYP != "y" )
{
if(numItems < cincPIDCouponCount) {
var theCVL = "";
var idxCVL = cimotiflinkarray[0].indexOf("&cvl=");
if (idxCVL > -1) {
endCVL = cimotiflinkarray[0].indexOf("'",idxCVL); // if CVL is the last param
if (endCVL > -1) {
en2CVL = cimotiflinkarray[0].indexOf("&",idxCVL+1); // if CVL is the last param
if ((en2CVL > -1) && (en2CVL < endCVL))
endCVL = en2CVL;
theCVL = cimotiflinkarray[0].substring(idxCVL,endCVL);
}
}
innerpart = "";
}
}
if(numItems > 2) {innerpart = cimotiflinkarray[2] + innerpart;}
if(numItems > 1) {innerpart = cimotiflinkarray[1] + innerpart;}
if(numItems > 0) {innerpart = cimotiflinkarray[0] + innerpart;}
document.getElementById("motifCouponTD").innerHTML=innerpart;
}
motifActiveArrayIndex = index;
cimotifPopup.style.left=cimotifPopup.style.top="-1000px";
cimotifcalcPosition(e,obj,cimotifPopup);
return false;
}
else
{
return true;
}
}
// ========================================================
function cimotifHidePopup(e)
{
var ok = 0;
if (cincie4) {
if (!cimotifPopup.contains(e.toElement)) {
ok = 1
}
} else if (cincns6) {
try {
a = e.currentTarget;
b = e.relatedTarget;
foundit = 0;
if (a != b) {
if (b.parentNode != null) {
ok = 1;
while (!foundit) {
if ((b = b.parentNode) == a) {foundit = 1; ok = 0;}
}
}
}
} catch (e) {;}
}
if (ok) cimotifDelayHide();
}
// ========================================================
function cimotifHide()
{
if (cimotifPopup!=null){
cimotifPopup.style.top = "-1000px";
motifActiveArrayIndex = -1;
}
return false;
}
// ========================================================
function cimotifDelayHide()
{
if (cincie4||cincns6)
delayhide=setTimeout("cimotifHide()",500);
return false;
}
// ========================================================
function cimotifClearPopup()
{
if (typeof delayhide!="undefined")
clearTimeout(delayhide);
}
// ========================================================
function cimotifAbout()
{
winStats='resizable=no,toolbar=no,location=no,directories=no,menubar=no,';
winStats+='scrollbars=yes,width=475,height=300';
if (navigator.appName.indexOf("Microsoft")>=0) {
winStats+=',left=10,top=25'
}else{
winStats+=',screenX=10,screenY=25'
}
helper=window.open(cincConcordanceUrl+"Ocellus-C.aspx?pub=" + cincPUB + "&typ=0&pid=" + cincPID + "&nid=" + cincNID + "&zid=" + cincZID + "&mod=" + cincMOD + "&typ=" + cincTYP + "&redirect=Concordance.aspx","",winStats);
}
// ========================================================
function motifaddmousehandlers(motifnode,index)
{
//alert(motifnode.innerHTML + " --");
motifnode.onmouseover=function(){
this.style.color=cincFGC;
if( cincBGC.length ) { this.style.backgroundColor=cincBGC; }
this.style.borderBottom='none';
return cimotifShowPopup(arguments[0] || window.event, this, motifArray[1][index], index);
};
motifnode.onmouseout=function(){
this.style.color=cincFGC;
this.style.backgroundColor=( cincBGC.length > 0 ? cincBGC : 'transparent');
this.style.borderTop='None';
this.style.borderBottom='dotted 2px '+cincDOT;
return cimotifDelayHide();
};
//20091120: added image tagging
motifaddimagemousehandlers(motifnode.innerHTML, index);
}
//=========================================================
function motifaddimagemousehandlers(id, index)
{
try
{
var img = id;
if (id.indexOf("IMGID=") > -1)
img = id.substr(id.indexOf("IMGID=") + 6);
//20091120: support mouse over for image tag
if (document.getElementById(img) != null)
{
document.getElementById(img).onmouseover = function(){
this.style.color=cincFGC;
if( cincBGC.length ) { this.style.backgroundColor=cincBGC; }
this.style.borderBottom='none';
return cimotifShowPopup(arguments[0] || window.event, this, motifArray[1][index], index);
};
document.getElementById(img).onmouseout = function(){
this.style.color=cincFGC;
this.style.backgroundColor=( cincBGC.length > 0 ? cincBGC : 'transparent');
this.style.borderTop='None';
this.style.borderBottom='dotted 2px '+cincDOT;
return cimotifDelayHide();
};
}
}
catch (err)
{}
}
// ========================================================
function motifaddplainmousehandlers(motifnode,index)
{
motifnode.onmouseover=function(){
return cimotifShowPopup(arguments[0] || window.event, this, motifArray[1][index], index);
};
motifnode.onmouseout=function(){
return cimotifDelayHide();
};
}
// ========================================================
function motifaddclickhandlers(motifnode,index)
{
motifnode.onclick=function(){
return cimotifShowPopup(arguments[0] || window.event, this, motifArray[1][index], index);
};
motifnode.onmouseout=function(){
return cimotifDelayHide();
};
}
// ========================================================
function motifcouponword(index,hitFound,nodeIndex,word)
{
var node = concordanceNodes[nodeIndex].node;
var motifpn = node.parentNode;
var supChars = "";
var sNodeIndex = concordanceNodes[nodeIndex].sNodeIndex;
if( sNodeIndex > -1 && word.indexOf(concordanceSupNodes[sNodeIndex].keyword) > -1 )
{
// superscript node !
// make sure this word is the last word
var bLastWord = true;
for( var i=hitFound+word.length; i= 'a' && concordanceNodes[nodeIndex].keywords.charAt(i) <= 'z')
|| concordanceNodes[nodeIndex].keywords.charCodeAt(i) > 128 ) )
{
for( var j=i+1; j= 'a' && concordanceNodes[nodeIndex].keywords.charAt(j) <= 'z')
|| concordanceNodes[nodeIndex].keywords.charCodeAt(j) > 128 )
{
// another word !
bLastWord = false;
break;
}
}
break;
}
}
if( bLastWord )
{
supChars = concordanceSupNodes[sNodeIndex].character;
}
}
if (motifpn != null && motifpn.className != "cimotif") {
if(node.nodeType != 1)
{
motifnv = node.nodeValue;
}
motifni = hitFound;
motifpre = document.createTextNode(motifnv.substr(0,motifni));
motifpost = document.createTextNode(motifnv.substr(motifni+word.length));
motif = document.createElement("A");
motif.innerHTML = motifnv.substr(motifni,word.length) + ( supChars.length > 0 ? ""+supChars+"" : "");
motif.style.backgroundColor.filter = "alpha(opacity = 20)";
motif.style.borderBottom = 'dotted 2px '+cincDOT;
motif.style.color = cincFGC;
if( cincBGC.length ) { motif.style.backgroundColor=cincBGC; }
if( cincBLD == "yes" ) {
motif.style.fontWeight='bold';
}
if( cincITL == "yes" ) {
motif.style.fontStyle='italic';
}
motif.style.textDecoration='none';
motif.style.cursor='pointer';
motif.className = 'cimotif';
motifaddmousehandlers(motif,index);
if( cincIMG == "yes" ) // show image next to highlighed word unless asked not to do so
{
motifimg = document.createElement('img');
motifimg.src = cincImageUrl + "showlist_icon.gif";
motifimg.height = '10';
motifimg.width = '10';
motifimg.style.borderWidth = '0';
motifimg.style.margin = '0px 0px 0px 0px';
motifimg.style.padding = '0px';
motifimg.style.styleFloat = 'none';
motifimg.style.cssFloat = 'none'; // needed for FireFox
motifimg.style.position = 'static';
}
motifpn.insertBefore(motifpre,node);
motifpn.insertBefore(motif,node);
if( cincIMG == "yes" ) { // show image next to highlighted word unless asked not to do so
motifpn.insertBefore(motifimg,node);
}
var nNode = motifpn.insertBefore(motifpost,node);
concordanceNodes[nodeIndex] = new ConcordanceNode(nNode,concordanceNodes[nodeIndex].sndIndex,cmotifHtmlDecode(nNode.nodeValue.toLowerCase()));
motifpn.removeChild(node);
if( supChars.length > 0 )
{
var sNode = concordanceSupNodes[sNodeIndex].node;
sNode.parentNode.removeChild(sNode);
}
++motifHits;
return true;
}
return false;
}
// ========================================================
function motifexecute()
{
var merchNodesArr = null;
// underline mode
if( cincMOD == "u" || cincMOD == "m" ) {
cmotifDefinePopup();
for (var i=0 ; i < motifCount; i++) {
if ( motifHits >= cincNPP ) break;
var mWord = cmotifHtmlDecode(motifArray[0][i]);
var regExp = new RegExp("[^a-z0-9]" + mWord + "[^a-z0-9]","");
for( var j=0; j < concordanceNodes.length; j++ )
{
var mData = " " + concordanceNodes[j].keywords + " ";
if(typeof(motifMerchNodes[mWord]) != "undefined")
{
if(motifMerchNodes[mWord].indexOf("|") > -1)
{
merchNodesArr = motifMerchNodes[mWord].split("|");
for (var k=0;k < merchNodesArr.length; k++)
{
var regExp2 = new RegExp("[^a-z0-9]" + merchNodesArr[k] + "[^a-z0-9]","");
hitFound2 = mData.search(regExp2);
if( hitFound2 >= 0 && motifcouponword(i,hitFound2,j, merchNodesArr[k]) )
{
break;
}
}
}
else
{
var regExp2 = new RegExp("[^a-z0-9]" + motifMerchNodes[mWord] + "[^a-z0-9]","");
hitFound2 = mData.search(regExp2);
if( hitFound2 >= 0 && motifcouponword(i,hitFound2,j, motifMerchNodes[mWord]) )
{
break;
}
}
}
else
{
hitFound = mData.search(regExp);
if( hitFound >= 0 && motifcouponword(i,hitFound,j,mWord) )
{
break;
}
}
}
}
if( cincMOD == "u" ) { return; }
}
// ad unit mode
// ------------------------------------------------
if( cincAdUnitMode ) { // simple lines of text with n number of offers
if(motifAdCount > cincTYPm) {
motifAdCount = cincTYPm;
}
var cimotifadunit = document.createElement('table');
var cimotifadunitb = document.createElement('tbody');
// set table to Background color passed in
cimotifadunit.style.backgroundColor=cincBGC;
headerDiv = document.createElement('div');
headerDiv.id = 'ci_ccss_Header';
tr = document.createElement('tr');
td = document.createElement('td');
td.style.textAlign='left';
td.style.backgroundColor=cincBGC;
var ciaHeader=document.createElement('A');
ciaHeader.innerHTML = 'Print Coupons';
//ciaHeader.style.cursor='pointer';
ciaHeader.onmouseover=function() {
window.status='Print Coupons';
};
ciaHeader.onmouseout=function() {
window.status='';
};
ciaHeader.target = '_blank';
//cia.style.color= '#0068aa';
//cia.style.width = cincWDTH;
//cia.style.background = cincBGC;
//cia.style.fontSize='11px';
//cia.style.textDecoration='none';
//cia.style.fontWeight='bold';
//cia.style.fontFamily='verdana';
ciaHeader.href = cincMicrositeUrl + "?pid=" + cincPID + "&nid=" + cincNID + "&zid=" + cincZID;
headerDiv.appendChild (ciaHeader);
td.appendChild(headerDiv);
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
//document.getElementById('cimotifdom').appendChild( cia );
tr = document.createElement('tr');
td = document.createElement('td');
td.style.textAlign='left';
td.style.backgroundColor=cincBGC;
var motifHTML = "";
for (i=0 ; i < motifAdCount ; i++)
{
motifHTML += motifAdArray[0][i];
}
//document.getElementById('cimotifdom').innerHTML += motifHTML;
td.innerHTML += motifHTML;
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
tr = document.createElement('tr');
td = document.createElement('td');
td.style.textAlign='right';
td.style.backgroundColor=cincBGC;
FooterDiv = document.createElement('div');
FooterDiv.id = 'ci_ccss_Footer';
ciaFooter=document.createElement('A');
ciaFooter.innerHTML = 'By Coupons.com';
//ciaFooter.style.cursor='pointer';
ciaFooter.onmouseover=function() {
window.status='By Coupons.com';
};
ciaFooter.onmouseout=function() {
window.status='';
};
//cia.target = '_blank';
//cia.style.color='#0068aa';
//cia.style.width = cincWDTH;
//cia.style.background = cincBGC;
//cia.style.fontSize='11px';
//cia.style.textDecoration='none';
//cia.style.fontWeight='bold';
//cia.style.fontFamily='verdana';
//cia.style.textAlign ='right';
ciaFooter.href = cincMicrositeUrl + "?pid=" + cincPID + "&nid=" + cincNID + "&zid=" + cincZID;
FooterDiv.appendChild(ciaFooter);
td.appendChild(FooterDiv);
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
if(motifAdCount > 0)
{
cimotifadunit.appendChild(cimotifadunitb);
}
document.getElementById('cimotifdom').appendChild( cimotifadunit );
}
// ad unit format with proper table structure
// ------------------------------------------------
else
{
if (motifAdCount > cincTYPm) {
motifAdCount = cincTYPm;
}
var cimotifadunit = document.createElement('table');
cimotifadunit.style.border = '1px dashed #C2C2B7';
cimotifadunit.width = cincTYPw;
cimotifadunit.height = cincTYPh;
cimotifadunit.backgroundColor = '#fafafa';
cimotifadunit.setAttribute('cellPadding',0);
cimotifadunit.setAttribute('cellSpacing',0);
var cimotifadunitb = document.createElement('tbody');
cimotifadunitb.setAttribute('cellPadding',0);
cimotifadunitb.setAttribute('cellSpacing',0);
cimotifadunitb.backgroundColor = '#fafafa';
tr = document.createElement('tr');
tr.style.height='6px';
td = document.createElement('td');
td.style.textAlign='left';
td.style.padding='0px';
td.style.backgroundColor='#ff5400';
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
tr = document.createElement('tr');
tr.style.height='10px';
td = document.createElement('td');
td.style.textAlign='left';
td.style.padding=cincTYPp;
td.style.fontFamily='verdana';
td.style.backgroundColor='#fafafa';
td.style.fontSize='11px';
td.style.fontWeight='bold';
td.style.color='black';
cia =document.createTextNode('Print Coupons');
td.appendChild(cia);
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
for (i=0 ; i < motifAdCount ; i++) { // beginning of loop
tr = document.createElement('tr');
td = document.createElement('td');
td.style.textAlign='left';
td.style.padding=cincTYPp;
td.style.backgroundColor='#fafafa';
td.innerHTML = motifAdArray[0][i];
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
if( cincTYP != "468x60" && cincTYP != "728x90" ) {
tr = document.createElement('tr');
td = document.createElement('td');
td.style.textAlign='center';
td.style.padding=cincTYPp;
td.style.backgroundColor='#fafafa';
if(i != motifAdCount-1) {
cia = document.createElement('img');
cia.src = cincImageUrl + "dot_divgray.gif";
cia.height = '1';
cia.width = cincTYPw;
td.appendChild(cia);
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
}
}
} // end of loop
if( cincTYP != "468x60" && cincTYP != "728x90" ) {
tr=document.createElement('tr');
tr.style.height='10px';
td=document.createElement('td');
td.style.textAlign='left';
td.style.padding=cincTYPp;
td.style.fontFamily='verdana';
td.style.fontSize='9px';
td.style.fontWeight='bold';
td.style.backgroundColor='#fafafa';
td.style.color='#0068aa';
cia =document.createElement('A');
cia.innerHTML = 'by Coupons.com';
cia.style.cursor='pointer';
cia.onmouseover=function(){
window.status='Print Coupons';
};
cia.onmouseout=function(){
window.status='';
};
cia.onclick=function(){
return cimotifAbout();
};
cia.target = '_blank';
cia.style.color='#0068aa';
cia.style.fontSize='9px';
cia.style.textDecoration='none';
cia.style.fontWeight='bold';
cia.style.fontFamily='verdana';
td.appendChild(cia);
tr.appendChild(td);
cimotifadunitb.appendChild(tr);
}
cimotifadunit.appendChild(cimotifadunitb);
document.getElementById('cimotifdom').appendChild( cimotifadunit );
}
}
// ========================================================
function cmotifIsValidWord(word)
{
var charCount = 0;
if( cincAdditionalSupportedWords.cincContains(word) )
{
return true;
}
else if( word.length > 2 )
{
for( var i = 0; i < word.length; i++ )
{
if( (word.charAt(i) >= 'a' && word.charAt(i) <= 'z') || word.charCodeAt(i) > 128 )
{
charCount++;
if( charCount > 2 ) return true;
}
}
}
return false;
}
// ========================================================
function motifPreProcess(node,depth,parentNodeNames) {
if( motifContentLength > cinc_MOTIF_LEN_LIMIT || depth > cinc_DEPTH_MAX ) return;
if (node.hasChildNodes) {
var hi_cn;
for (hi_cn=0;hi_cn < node.childNodes.length;hi_cn++) {
motifPreProcess(node.childNodes[hi_cn],depth+1,parentNodeNames+"|"+node.nodeName+"|");
}
}
if ((node.nodeType == 3 || node.nodeType ==1) && !(parentNodeNames.indexOf("|A|") > -1)
&& !(parentNodeNames.length >= 8 && parentNodeNames.substring(parentNodeNames.length-8) == "|SCRIPT|") )
{
// superscripted tag node
if( motifPreProcessToggle && motifLastNode != null && parentNodeNames.indexOf("|SUP|") > -1 )
{
var sWord = cmotifFilterContent(node.nodeValue.toLowerCase());
// last word is the last one considered ?
if( motifAllWords.length > 0 && motifLastWord == motifAllWords[motifAllWords.length-1] )
{
motifAllWords[motifAllWords.length-1] = motifLastWord+sWord;
motifContentLength += sWord.length;
}
// last word is not the last one considered
else
{
motifAllWords.push(motifLastWord+sWord);
motifContentLength += (motifLastWord.length+sWord.length);
}
// superscript node !
var cNodeIndex = -1;
for( var j=concordanceNodes.length-1; j >= 0; j-- )
{
if( concordanceNodes[j].node == motifLastNode )
{
cNodeIndex = j;
concordanceNodes[j] = new ConcordanceNode(motifLastNode,concordanceSupNodes.length,
cmotifHtmlDecode(motifLastNode.nodeValue.toLowerCase())+cmotifHtmlDecode(sWord));
break;
}
}
if( cNodeIndex == -1 )
{
// word is valid !
var cNode = new ConcordanceNode(motifLastNode,concordanceSupNodes.length,cmotifHtmlDecode(motifLastNode.nodeValue.toLowerCase())+cmotifHtmlDecode(sWord));
concordanceNodes.push(cNode);
}
var sNode = new ConcordanceSupNode(node,cmotifHtmlDecode(motifLastWord)+cmotifHtmlDecode(sWord),cmotifHtmlDecode(sWord));
concordanceSupNodes.push(sNode);
}
else if(motifPreProcessToggle && node.nodeType ==1)
{
// process Image nodes
var imgs,i,strImg;
var bValid = false;
imgs=document.getElementsByTagName('img');
// word is valid !
if(motifMerchKey != "" && motifMerchKey.length >=1)
{
if( typeof(motifMerchNodes[motifMerchKey]) != "undefined")
{
//for(i in imgs)
//{
//if(typeof(imgs[i].id) != "undefined" && imgs[i].id.length >=1)
//{
// if(imgs[i].id == motifMerchKey)
// {
// motifMerchNodes[motifMerchKey] = motifMerchNodes[motifMerchKey] + "|" + "IMG";
//var cNode = new ConcordanceNode(node,-1,"IMG:" + motifMerchKey);
//concordanceNodes.push(cNode);
//}
//}
//}
}
else
{
//for(i in imgs)
//{
// if(typeof(imgs[i].id) != "undefined" && imgs[i].id.length >=1)
//{
// if(imgs[i].id == motifMerchKey)
// {
// motifMerchNodes[motifMerchKey] = "IMG";
//var cNode = new ConcordanceNode(node,-1,"IMG:" + motifMerchKey);
//concordanceNodes.push(cNode);
//}
//}
//}
}
}
}
else if (motifPreProcessToggle && node.nodeValue.length > 2)
{
var bValid = false;
var mWords = cmotifFilterContent(node.nodeValue.toLowerCase()).split(" ");
if( mWords.length > 0 ) { motifLastNode = node; motifLastWord = mWords[mWords.length-1]; } else { motifLastNode = null; }
for (i=0 ; i < mWords.length ; i++) {
if( cmotifIsValidWord(mWords[i]) && (!motifAllWords.cincContains(mWords[i]) || cincSupportDupPids == 1) )
{
if( !(node.nodeValue == "Print these coupons..."
|| node.nodeValue == "Click to print a coupon...") )
{
bValid = true;
if(motifProcessMerchcat == false)
{
motifAllWords.push(mWords[i]);
motifContentLength += mWords[i].length;
}
if( motifContentLength > cinc_MOTIF_LEN_LIMIT ) break;
}
}
}
if( bValid )
{
// word is valid !
if(motifMerchKey != "" && motifMerchKey.length >=1)
{
if( typeof(motifMerchNodes[motifMerchKey]) != "undefined")
{
motifMerchNodes[motifMerchKey] = motifMerchNodes[motifMerchKey] + "|" + node.nodeValue.toLowerCase();
}
else
{
motifMerchNodes[motifMerchKey] = node.nodeValue.toLowerCase();
}
}
var cNode = new ConcordanceNode(node,-1,cmotifHtmlDecode(node.nodeValue.toLowerCase()));
concordanceNodes.push(cNode);
}
}
}
var concordanceCheck = (node.nodeType == 8 ? node.nodeValue.toLowerCase() : node.nodeName.toLowerCase());
if (concordanceCheck.substring(0,11) == "concordance") {
if (concordanceMode)
{
// purge existing content
motifAllWords = new Array();
concordanceNodes = new Array();
concordanceMode = false;
}
motifMerchKey = "";
if(concordanceCheck.indexOf("merchid") > -1 )
{
motifMerchKey = concordanceCheck.substring(26);
if(!motifMerchWords.cincContains(concordanceCheck.substring(26)))
{
motifMerchWords.push(concordanceCheck.substring(26));
}
}
if(concordanceCheck.indexOf("catid") > -1 )
{
motifMerchKey = concordanceCheck.substring(24);
if(!motifMerchWords.cincContains(concordanceCheck.substring(24)))
{
motifMerchWords.push(concordanceCheck.substring(24));
}
}
if ((concordanceCheck == "concordance-begin") || (concordanceCheck.indexOf("merchid") > -1) || (concordanceCheck.indexOf("catid") > -1))
{
//for case when merchid exists in concordancecheck,
//process tag content and save to highlight
motifPreProcessToggle = true;
if(concordanceCheck.indexOf("merchid") > -1)
{
motifProcessMerchcat = true;
}
else if(concordanceCheck.indexOf("catid") > -1)
{
motifProcessMerchcat = true;
}
else
{
motifProcessMerchcat = false;
}
}
else if (concordanceCheck == "concordance-end") motifPreProcessToggle = false;
}
}
// ========================================================
function cimotifreplace(checkMe,toberep,repwith) {
var temp = checkMe;
var i = temp.indexOf(toberep);
while(i > -1) {
temp = temp.replace(toberep, repwith);
i = temp.indexOf(toberep);
}
return temp;
}
// ========================================================
function cmotifFilterContent(content)
{
content = cimotifreplace(content,".","");
content = cimotifreplace(content,",","");
content = cimotifreplace(content,":","");
content = cimotifreplace(content,"\"","");
content = cimotifreplace(content,""","");
content = cimotifreplace(content,"?","");
content = cimotifreplace(content,"!","");
content = cimotifreplace(content,"[","");
content = cimotifreplace(content,"]","");
content = cimotifreplace(content,"\\","");
content = cimotifreplace(content,"/","");
content = cimotifreplace(content,"=","");
content = cimotifreplace(content,">","");
content = cimotifreplace(content,"<","");
content = cimotifreplace(content,"^","");
content = cimotifreplace(content,"&","");
content = cimotifreplace(content,"*","");
content = cimotifreplace(content,"+","");
content = cimotifreplace(content,"(","");
content = cimotifreplace(content,")","");
content = cimotifreplace(content,"|","");
content = cimotifreplace(content,"%u2019","'");
content = cimotifreplace(content,"\n"," ");
content = cimotifreplace(content,"\r"," ");
content = cimotifreplace(content,"\t"," ");
content = cimotifreplace(content," "," ");
return content;
}
// ========================================================
function cimotifLoad() {
motifPreProcess(document.getElementsByTagName("body")[0],0,"");
var motifContent = motifAllWords.join(" ");
motifContent = escape(motifContent);
// Code Added by AD -722009
var motifMerchContent = motifMerchWords.join(" ");
motifMerchContent = escape(motifMerchContent);
motifContent = motifContent + "+" + motifMerchContent;
// minimize the white space
motifContent = cimotifreplace(motifContent,"%0A","");
motifContent = cimotifreplace(motifContent,"%09%09","%09");
motifContent = cimotifreplace(motifContent,"%09%20","%20");
motifContent = cimotifreplace(motifContent,"%20%09","%20");
motifContent = cimotifreplace(motifContent,"%20%20","%20");
motifContent = cimotifreplace(motifContent,"%20","+");
var cimotifgoStr = cincConcordanceUrl + "Ocellus-G.aspx?pub=" + cincPUB + "&mod=" + cincMOD + "&typ=" + cincTYP + "&pid=" + cincPID + "&nid=" + cincNID + "&zid=" + cincZID + "&uid=" + cincUID + "&bAdUnitMode=" + cincAdUnitMode + "&coupimg=" + cincCOUPIMG + "&exccat=" + cincExcCat + "&tgt=" + cincTGT + "&lcl=" + cincLCL + "&merch=" + cincMerch + "&cat=" + cincCat + "&input=" ;
cimotifgoStr += (motifContent.charAt(0) == '+' ? '' : '+')
+ motifContent.substring(0,(cinc_MOTIF_LEN_LIMIT - 3 - cimotifgoStr.length))
+ (motifContent.charAt(motifContent.length-1) == '+' ? '' : '+');
var e = document.createElement("script");
e.src = cimotifgoStr;
e.type = "text/javascript";
document.getElementsByTagName("body")[0].appendChild(e);
}
var cimotifprevonload = null;
if (typeof window.onload == 'function') {
cimotifprevonload = window.onload;
window.onload = function(){cimotifprevonload(); cimotifLoad(); return false;}
} else {
window.onload = function(){return cimotifLoad();}
}
if( cincMOD != "u" ) {
document.write("");
}
//======================================================================
function ci_isHex(value)
{
validChars='0123456789ABCDEF';
strlen=value.length;
if(strlen<1){return false;}
value=value.toUpperCase();
for(i=0; i < strlen;i++)
{
if(validChars.indexOf(value.charAt(i))<0)
{
return false;
}
}
return true;
}