function sortables_init() { if (!document.getElementsByTagName) return; tbls = document.getElementsByTagName("table"); for (ti=0;ti<tbls.length;ti++) { thisTbl = tbls[ti]; if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) && (thisTbl.id)) { ts_makeSortable(thisTbl); } } }
function ts_makeSortable(table) { if (table.rows && table.rows.length > 0) { var firstRow = table.rows[0]; } if (!firstRow){return;} for (var i=0;i<firstRow.cells.length;i++) { var cell = firstRow.cells[i]; var txt = ts_getInnerText(cell); var tooltip = cell.firstChild.getAttribute('title'); if(i == 0){cell.innerHTML = '<a href="#" class="sortheader" '+ 'onclick="ts_resortTable(this, '+i+');return false;">' + txt+'<span class="sortarrow"><img src="/images/icon_arrow_down.gif" width="10" height="10" border="0" alt=""/></span></a>'; if (tooltip != '' && tooltip != null && tooltip != 'undefined'){ cell.innerHTML += '<a href="#" onclick="stripe_table();return false;" onmouseover="document.getElementById(\'tp_'+i+'\').style.display = \'block\';" onmouseout="document.getElementById(\'tp_'+i+'\').style.display = \'none\';">?</a><div id="tp_'+i+'" class="tooltip">'+tooltip+'</div>'; } } else { cell.innerHTML = '<a href="#" class="sortheader" '+ 'onclick="ts_resortTable(this, '+i+');return false;">' + txt+'<span class="sortarrow"><img src="/images/spacer.gif" width="10" height="10" border="0" alt=""/></span></a>'; if (tooltip != '' && tooltip != null && tooltip != 'undefined'){ cell.innerHTML += '<a href="#" onclick="stripe_table();return false;" onmouseover="document.getElementById(\'tp_'+i+'\').style.display = \'block\';" onmouseout="document.getElementById(\'tp_'+i+'\').style.display = \'none\';">?</a><div id="tp_'+i+'" class="tooltip">'+tooltip+'</div>'; } } } }
function setCookie( name, value, expires, path, domain, secure ){ var today = new Date(); today.setTime( today.getTime() ); if ( expires )	{ expires = expires * 1000 * 60 * 60 * 24;	} var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +  ( ( path ) ? ";path=" + path : "" ) +  ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); }
function getCookie( name ){ var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) &&( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) ); }
function delCookie( name, path, domain ) { if ( getCookie( name ) ) document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT"; }
function ts_getInnerText(el) { if (typeof el == "string"){ return el; } if (typeof el == "undefined"){ return el; } if (el.innerText){ return el.innerText; }var str = ""; var cs = el.childNodes; var l = cs.length; for (var i = 0; i < l; i++) { switch (cs[i].nodeType) { case 1: str += ts_getInnerText(cs[i]); break; case 3: str += cs[i].nodeValue; break; } } return str; }
function ts_resortTable(lnk,clid) {var span;for (var ci=0;ci<lnk.childNodes.length;ci++) {if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span'){span = lnk.childNodes[ci];}}var spantext = ts_getInnerText(span);var td = lnk.parentNode;var column = clid || td.cellIndex;var table = getParent(td,'TABLE');if (table.rows.length <= 2){return;}if(table.rows[2].cells.length > 1){var itm = ts_getInnerText(table.rows[2].cells[column]);sortfn = ts_sort_caseinsensitive;if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)){sortfn = ts_sort_date;}if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)){sortfn = ts_sort_date;}if (itm.match(/^[$]/)){sortfn = ts_sort_currency;}if (itm.match(/^[\d\.\]+[\s%]*$/)){sortfn = ts_sort_numeric;}SORT_COLUMN_INDEX = column;var firstRow = new Array();var newRows = new Array();for (i=0;i<table.rows[0].length;i++) {firstRow[i] = table.rows[0][i];}for (j=2;j<table.rows.length;j++) {newRows[j-2] = table.rows[j];}newRows.sort(sortfn);newRows.reverse();if (span.getAttribute("sortdir") == 'down') {ARROW = '<img src="/images/icon_arrow_up.gif" width="8" height="10" border="0" alt=""/>';newRows.reverse();span.setAttribute('sortdir','up');} else {ARROW = '<img src="/images/icon_arrow_down.gif" width="8" height="10" border="0" alt=""/>';span.setAttribute('sortdir','down');}for (i=0;i<newRows.length;i++) {if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1)))table.tBodies[0].appendChild(newRows[i]);}for (i=0;i<newRows.length;i++) {if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1))table.tBodies[0].appendChild(newRows[i]);} var allspans = document.getElementsByTagName("span");for (var ci=0;ci<allspans.length;ci++) {if (allspans[ci].className == 'sortarrow') {allspans[ci].parentNode.style.color = "#7A7A7A"; if (getParent(allspans[ci],"table") == getParent(lnk,"table")) {allspans[ci].innerHTML = '&nbsp;&nbsp;';}}}span.innerHTML = ARROW; span.parentNode.style.color = '#000'; }}
function getParent(el, pTagName) { if (el == null) {return null; } else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()){ return el; } else {return getParent(el.parentNode, pTagName);} }
function ts_sort_date(a,b) { aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]); bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]); if (aa.length == 10) { dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2); } else { yr = aa.substr(6,2); if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; } dt1 = yr+aa.substr(3,2)+aa.substr(0,2); } if (bb.length == 10) { dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2); } else { yr = bb.substr(6,2); if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; } dt2 = yr+bb.substr(3,2)+bb.substr(0,2); } if (dt1==dt2){return 0;} if (dt1<dt2){return -1;} return 1; }
function ts_sort_currency(a,b) {aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,''); bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,''); return parseFloat(aa) - parseFloat(bb); }
function ts_sort_numeric(a,b) { aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX])); if (isNaN(aa)) aa = 0; bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX])); if (isNaN(bb)) bb = 0; return aa-bb; }
function ts_sort_caseinsensitive(a,b) { aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase(); bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase(); if (aa==bb) return 0; if (aa<bb) return -1; return 1; }
function ts_sort_default(a,b) { aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]); bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]); if (aa==bb) return 0; if (aa<bb) return -1; return 1; }
function stripe_table(){ tables = document.body.getElementsByTagName("table"); var bgc = '#ffffff'; for(i=0;i<tables.length;i++){ sTmp = tables[i].className; if((sTmp != '' && sTmp != 'undefined') && sTmp.match(/stripe/)){ trs = tables[i].getElementsByTagName("tr"); for(j=0;j<trs.length;j++){ tds = trs[j].getElementsByTagName("td"); for(k=0;k<tds.length;k++){ tds[k].style.background = bgc; } if(bgc=='#ffffff'){ bgc = '#efefef'; } else { bgc = '#ffffff'; } } } } }
function sendRequest(url,callback,postData) { var req = createXMLHTTPObject(); if (!req){return;} var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData){ req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); } req.onreadystatechange = function () {  if (req.readyState != 4){return;} if (req.status != 200 && req.status != 304){return;}  callback(req); }; if (req.readyState == 4){return;} req.send(postData);  }
function sendRequestFWD(url,callback,cssAttrs) { var req = createXMLHTTPObject(); if (!req){return;} var method = "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); req.onreadystatechange = function () { if (req.readyState != 4){return;} if (req.status != 200 && req.status != 304){return;} callback(req,cssAttrs); }; if (req.readyState == 4){return;} req.send(''); }
function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; }
function highlight(myId){document.getElementById(myId).style.background = '#ffffcc'; }
function highlightReturn(myId){ document.getElementById(myId).style.background = '#ffffff'; }
function checkKey(evt){
    if (!evt) {evt = event};a = evt.keyCode;var ss = document.getElementById('search_suggest');var childArray = ss.childNodes;
    if (ss.style.visibility == 'visible'){switch (a){case 38: // up arrow
    moveUp(ss);setCaretToEnd(document.getElementById('term_top'));break;
    case 40: // down arrow
    moveDown(ss);setCaretToEnd(document.getElementById('term_top'));break;
    case 9: // tab
    if (currentSelection != null){var ss = document.getElementById('search_suggest');var childArray = ss.childNodes;setSearch(childArray[currentSelection].innerHTML);}currentSelection = null;break;
    case 13: // return
    if (currentSelection != null){var ss = document.getElementById('search_suggest');var childArray = ss.childNodes;setSearch(childArray[currentSelection].innerHTML);}currentSelection = null;break;
    default:currentSelection = null;break;}}}
function setCaretToEnd (el) {if (el.createTextRange) {var v = el.value;var r = el.createTextRange();r.moveStart('character', v.length);r.select();} else if (el.selectionStart) {el.focus(); el.setSelectionRange(el.value.length, el.value.length);}}
function checkMerchantKey(evt){
    if (!evt) {evt = event};a = evt.keyCode;var ss = document.getElementById('merchant_search_suggest');var childArray = ss.childNodes;
    if (ss.style.visibility == 'visible'){switch (a){case 38: // up arrow
    moveUp(ss);setCaretToEnd(document.getElementById('m_name'));break;
    case 40: // down arrow
    moveDown(ss);setCaretToEnd(document.getElementById('m_name'));break;
    case 9: // tab
    if (currentSelection != null){var ss = document.getElementById('merchant_search_suggest');var childArray = ss.childNodes;document.getElementById('m_name').value = (childArray[currentSelection].innerHTML.replace(/&amp;/g, "&"));}currentSelection = null;hideMerchantSuggest();break;
    case 13: // return
    if (currentSelection != null){var ss = document.getElementById('merchant_search_suggest');var childArray = ss.childNodes;document.getElementById('m_name').value = (childArray[currentSelection].innerHTML.replace(/&amp;/g, "&"));}currentSelection = null;hideMerchantSuggest();break;
    default:currentSelection = null;break;}}}
function processUserReview(req){ var sTmp = req.responseText; sTmp = trim(sTmp); var sHTML = '<table width="96%" border="0" cellspacing="0" cellpadding="2" style="margin-top:7px; text-align: left" ><tr><td style="padding-right: 20px" width="110" align="left" valign="top">&nbsp;</td><td valign="top">'; if(sTmp == '1'){ sHTML += '<span class="blue heavy">User Review Complete</span><br/>Thanks for your review! It will be posted online after passing our editorial screening process.<br/>'; } else { sHTML += '<span class="blue heavy">Error</span><br/>Unfortunately, we are unable to process your review at this time. We apologize for any inconvenience this may have caused. Please try again later.<br/>'; } sHTML += '<a href="#" onclick="document.getElementById(\'writeAreview\').style.display=\'none\';"><img src="/images/ok_button.gif" border="0" style="margin: 10px 0;"/></a></td></tr></table><img src="/images/hr.gif" alt="" width="100%" height="1" style="padding: 0px;text-align: center;"/>'; document.getElementById('writeAreviewForm').style.display='none'; document.getElementById('writeAreviewPreview').style.display='none'; document.getElementById('writeAreview').innerHTML = sHTML; document.getElementById('writeAreview').style.display='block'; }
function usrReviewSubmit(){ var selectedRating = (document.getElementById('selectedRating').value/2); var title = document.getElementById('title').value; var review = document.getElementById('review').value; var name = document.getElementById('name').value; var email = document.getElementById('email').value; var ean = document.getElementById('ean_val').value; document.getElementById('rating_message').style.fontWeight = 'normal'; document.getElementById('rating_message').style.color = '#C0C0C0'; if(title.length > 0 && review.length > 0 && name.length > 0 && (selectedRating != "0")){ sendRequest('/include/processUserReview.php',processUserReview,'selectedRating='+selectedRating+'&title='+title+'&review='+review+'&name='+name+'&email='+email+'&ean='+ean); } else { var hl = new Array(); var idx = 0; if(title.length <= 0){ hl[idx] = 'title'; document.getElementById('title').focus(); document.getElementById('title').select(); idx++; } if(review.length <= 0){ hl[idx] = 'review'; document.getElementById('review').focus(); document.getElementById('review').select(); idx++; } if(name.length <= 0){ hl[idx] = 'name'; document.getElementById('name').focus(); document.getElementById('name').select(); idx++; } if(selectedRating == '0'){ document.getElementById('rating_message').style.fontWeight = 'bold'; document.getElementById('rating_message').style.color = '#F00'; } for(i=0;i<hl.length;i++){ highlight(hl[i]); } } }
function usrReviewPreview(){ var selectedRating = (parseInt(document.getElementById('selectedRating').value)/2); var title = document.getElementById('title').value; var review = document.getElementById('review').value; var name = document.getElementById('name').value; var email = document.getElementById('email').value; document.getElementById('rating_message').style.fontWeight = 'normal'; document.getElementById('rating_message').style.color = '#C0C0C0'; if(title.length > 0 && review.length > 0 && name.length > 0 && (selectedRating != "0")){ var sHTML = '<table width="96%" border="0" cellspacing="0" cellpadding="2" style="margin-top:7px; text-align: left" ><tr><td style="padding-right: 20px" width="110" align="left" valign="top">'; var sdate = new Date(); var myDate = (sdate.getMonth()+1)+"/"+sdate.getDate()+"/"+sdate.getFullYear(); var ratingImage = ''; switch(selectedRating){ case 0: ratingImage = '/images/stars/star-0.0.gif'; break; case 0.5: ratingImage = '/images/stars/star-0.5.gif'; break; case 1: ratingImage = '/images/stars/star-1.0.gif'; break; case 1.5: ratingImage = '/images/stars/star-1.5.gif'; break; case 2: ratingImage = '/images/stars/star-2.0.gif'; break; case 2.5: ratingImage = '/images/stars/star-2.5.gif'; break; case 3: ratingImage = '/images/stars/star-3.0.gif'; break; case 3.5: ratingImage = '/images/stars/star-3.5.gif'; break; case 4.0: ratingImage = '/images/stars/star-4.0.gif'; break; case 4.5: ratingImage = '/images/stars/star-4.5.gif'; break; case 5.0: ratingImage = '/images/stars/star-5.0.gif'; break; } sHTML += '<img src="'+ratingImage+'" alt="'+selectedRating+' stars" title="'+selectedRating+' stars"/><br />'; var tmpName = name; name = tmpName.replace(/([a-zA-Z0-9\!\@\#\$\%\^\&\*\(\)\_\-\[\]\{\}\:\;\"\'\,\<\.\>\/\?]{10})/g,"$1<br/>"); sHTML += '<div style="clear:left"></div>'+name+'<br />'+myDate+'<br/></td><td align="left" height="34" valign="top"><div class="review"><strong>'+title+'</strong><br/>'; var tmpReview = review; review = tmpReview.replace(/\n/g,'<br/>'); sHTML += review+'</div></td></tr></table><img src="/images/hr.gif" alt="" width="96%" height="1" style="padding-top: 0px; padding-bottom: 0px; margin-left: 10px; margin-right: 8px; text-align: center;"/>'; sHTML += '<table width="96%" border="0" cellspacing="0" cellpadding="2" style="margin-top:7px; text-align: left" ><tr><td style="padding-right: 20px" width="110" align="left" valign="top">&nbsp;</td>'; sHTML += '<td align="left" height="34" valign="top"><a href="#" onclick="document.getElementById(\'writeAreviewPreview\').style.display=\'none\';document.getElementById(\'writeAreviewForm\').style.display=\'block\';return false;"><img src="/images/edit_button.gif" alt="Edit"/></a>'; sHTML += '&nbsp;<a href="#" onclick="usrReviewSubmit();return false;"><img src="/images/accept_submit_button.gif" alt="Accept &amp; Submit"/></a></td></tr></table><img src="/images/hr.gif" alt="" width="100%" height="1" style="padding: 0px;text-align: center;"/>'; document.getElementById('writeAreviewPreview').innerHTML = sHTML; document.getElementById('writeAreviewForm').style.display = 'none'; document.getElementById('writeAreviewPreview').style.display = 'block'; } else { var hl = new Array(); var idx = 0; if(title.length <= 0){ hl[idx] = 'title'; document.getElementById('title').focus(); document.getElementById('title').select(); idx++; } if(review.length <= 0){ hl[idx] = 'review'; document.getElementById('review').focus(); document.getElementById('review').select(); idx++; } if(name.length <= 0){ hl[idx] = 'name'; document.getElementById('name').focus(); document.getElementById('name').select(); idx++; } if(selectedRating == '0'){ document.getElementById('rating_message').style.fontWeight = 'bold'; document.getElementById('rating_message').style.color = '#F00'; } for(i=0;i<hl.length;i++){ highlight(hl[i]); } } }
function createNewCampaign(){ var newName = document.getElementById('name_new').value; var newUrl = document.getElementById('url_new').value; var newDescription = document.getElementById('description_new').value; if(newName != '' && newUrl != '' && newDescription != ''){ sendRequest('/include/dialogs/affiliate_create_campaign.php?name='+newName+'&url='+newUrl+'&desc='+newDescription,processNewCampaign); } else { alert('Name, URL and Description are all required when creating a new campaign.'); } }
function processNewCampaign(req){ sendRequestFWD('/include/dialogs/affiliate_manager.php',drawDialogBox,'680|name_new'); }
function updateAffiliateData(){ var fname = document.getElementById('fname').value; var lname = document.getElementById('lname').value; var cname = document.getElementById('cname').value; var addr1 = document.getElementById('addr1').value; var addr2 = document.getElementById('addr2').value; var city = document.getElementById('city').value; var state = document.getElementById('state').value; var postalcode = document.getElementById('postalcode').value; var cc = document.getElementById('cc').value; var phone_area_code = document.getElementById('phone_area_code').value; var phone_number = document.getElementById('phone_number').value; var fax_area_code = document.getElementById('fax_area_code').value; var fax_number = document.getElementById('fax_number').value; var paypal_email = document.getElementById('paypal_email').value; if(fname != '' && lname != '' && cname != '' && addr1 != '' && city != '' && state != '' && postalcode != '' && cc != '' && phone_area_code != '' && phone_number != '' && paypal_email != ''){ sendRequest('/include/dialogs/affiliate_account_update.php?fname='+fname+'&lname='+lname+'&cname='+cname+'&addr1='+addr1+'&addr2='+addr2+'&city='+city+'&state='+state+'&postalcode='+postalcode+'&cc='+cc+'&phone_area_code='+phone_area_code+'&phone_number='+phone_number+'&fax_area_code='+fax_area_code+'&fax_number='+fax_number+'&paypal_email='+paypal_email,processAffiliateData);  } else { var sErr = ''; if (fname == ''){ sErr += 'First name is required.\n'; } if (lname == ''){ sErr += 'Last name is required.\n'; } if (cname == ''){ sErr += 'Company name is required.\n'; } if (addr1 == ''){ sErr += 'Address 1 is required.\n'; } if (city == ''){ sErr += 'City is required.\n'; } if (state == ''){ sErr += 'State is required.\n'; } if (postalcode == ''){ sErr += 'ZIP / Postal code is required.\n'; } if (cc == ''){ sErr += 'Country is required.\n'; } if (phone_area_code == '' || phone_number == ''){ sErr += 'Phone number is required.\n'; } if (paypal_email == ''){ sErr += 'PayPal email is required.\n'; } alert(sErr); } }
function processAffiliateData(req){ sendRequestFWD('/include/dialogs/affiliate_manager.php',drawDialogBox,'680|name_new'); alert('Affiliate account information updated.'); }
function updateCampaign(pk){ var campaign_name = document.getElementById('campaign_name_'+pk).value; var host_url = document.getElementById('host_url_'+pk).value; var campaign_description = document.getElementById('campaign_description_'+pk).value; if(campaign_name != '' && host_url != '' && campaign_description != ''){ sendRequest('/include/dialogs/affiliate_campaign_update.php?aid='+pk+'&campaign_name='+campaign_name+'&host_url='+host_url+'&campaign_description='+campaign_description,processUpdateCampaign); } else { var sErr = ''; if (campaign_name == ''){ sErr += 'Campaign name is required.\n'; } if (host_url == ''){ sErr += 'URL is required.\n'; } if (campaign_description == ''){ sErr += 'Campaign description is required.\n'; } alert(sErr); } }
function processUpdateCampaign(req){ sendRequestFWD('/include/dialogs/affiliate_manager.php',drawDialogBox,'680|name_new'); alert('Campaign information updated.'); }
function deleteCampaign(pk){ var conf = confirm("Deleting this campaign will remove all data.\nClick OK to delete this campaign."); if(conf){ sendRequest('/include/dialogs/affiliate_campaign_delete.php?aid='+pk,processDeleteCampaign); } }
function processDeleteCampaign(req){ sendRequestFWD('/include/dialogs/affiliate_manager.php',drawDialogBox,'680|name_new'); alert('Campaign deleted.'); }
function trim(strText) { strText = strText.replace(/[\n]+/g,''); strText = strText.replace(/^[\s]+/g,''); strText = strText.replace(/[\s]+$/g,''); return strText; }
function sendRequestDiv2(url,divid) { url += (url.match('/?/')) ? '&ajax' : '?ajax'; sendRequestFWD(url,recvRequestDiv2,divid); return false; }
function recvRequestDiv2( req, divid ){var msg = req.responseText; var m=document.getElementById(divid); if (m) m.innerHTML=msg;scroll(0,0)}
