var AD_REQUEST_PATH = "/ad/"; var advxml, advrowlen, advnowplay; $(document).ready( function (){ $.getScript("/js/jqFlash.js"); // adv advxml = new Array(AD_BLOCK_LEN); advrowlen = new Array(AD_BLOCK_LEN); advnowplay = new Array(AD_BLOCK_LEN); $.getScript("/js/jqFlash.js"); for(var i=0; i<=AD_BLOCK_LEN; i++){ getAdvXml(i); } }); function getAdvXml(idx){ var layoutid = getLayoutidByIdx(AD_BLOCK_ID,idx); $.post("/ad/AdAction.do", {op:9,layoutid:layoutid},function(xml){ var rows = $(xml).find("ROW"); advxml[idx] = xml; var rlen = rows.length; advrowlen[idx] = rlen; if(rlen<=1) advnowplay[idx] = 0; else advnowplay[idx] = Math.floor(Math.random() * rlen); roundAdv(idx); }); } function getLayoutidByIdx(blockid,idx){ switch(blockid){ case 1: // index.jsp right 7 return (idx+1); case 2: // product right 1 return (idx+11); case 3: // campaign right 1 return (idx+21); case 4: // location left 4 return (idx+31); } } function roundAdv(idx){ var xml = advxml[idx]; // get xml of this layout var rowlen = advrowlen[idx]; // get ad number of this layout if(rowlen==0) return; // if no ad, return var rows = $(xml).find("ROW"); var nowplay = advnowplay[idx]; // get now play ad (from 0 to adnumber-1) var row = rows[nowplay]; var filepath =AD_REQUEST_PATH + $(row).find("ID").text() + "/" + $(row).find("FILEPATH").text(); var clickurl = ($(row).find("CLICKURL").text()); var advid = $(row).find("ID").text(); var playtime = Number($(row).find("PLAYTIME").text())*1000; var layoutid = getLayoutidByIdx(AD_BLOCK_ID,idx); // get layoutid if(filepath.indexOf('.swf') == filepath.length -4){ $('#layout_'+layoutid).html('
') .flash({ src: filepath, width: 175 }); } else { $('#layout_'+layoutid).html(''); } addAdvImpresstime(advid); if(rowlen==1) return; // if ad number only one, not refresh ad advnowplay[idx] += 1; if(advnowplay[idx]==rowlen) advnowplay[idx] = 0; // get next ad refresh setTimeout('roundAdv('+idx+')',playtime); // set playtime } function addAdvImpresstime(advid){ $.post('/ad/AdAction.do',{op:10,advid:advid},function(xml){}); }