window.addEvent('domready',function(e){ var checkerIndex = 0; var titleImage = [{'src':"http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/rewardsChecker.gif", 'alt':"www.rewardschecker.com"}, {'src': "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/loyaltyChecker.gif", 'alt':"www.rewardschecker.com"}]; var checkerTitle = ["Find out how much your credit card could earn you", "Find out what rewards points are really worth"]; var labels = [ [{"labelFor":"input", "inner":"What will you spend in a year?"}, {"labelFor":"select", "inner":"On which credit card?"}, ], [{"labelFor":"input", "inner":"How many points do you have?"}, {"labelFor":"select", "inner":"Which points scheme?"}, ] ]; var inputPrefixes = [["£"], [""]]; var inputs = [ [ {"name":"annualSpend", "type":"text", "value":10000}, {"name":"creditCard", "type":"select"} ], [ {"name":"howManyPoints", "type":"text", "value":1000}, {"name":"pointScheme", "type":"select"} ] ]; var toggles= [ {"on": "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/leftOn.gif", "off" : "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/leftOff.gif", "over" : "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/leftOver.gif" }, {"on": "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/rightOn.gif", "off" : "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/rightOff.gif", "over" : "http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/rightOver.gif" } ] var checkerText = [ "Work out the value of credit card reward points you’ll earn for your spending", "Reveal the true value of your loyalty points stash, includes Tesco, Nectar, Airmiles and more" ] var warnings=[ {"alwaysRepay": "Always repay reward cards in full every month, so there's no interest"} ] $('creditCards').addEvent('mouseover', function(e){ if($('loyaltyCards').get('src') == toggles[1].on) { $('creditCards').set('src', toggles[0].over); $('cCardBlock').set('class', 'onBlockOver'); // $('cCardBlock').getElement('p').setStyles({'display':'block', // 'color':'#878787'}); } }); $('creditCards').addEvent('mouseout', function(e){ if($('loyaltyCards').get('src') == toggles[1].on) { $('creditCards').set('src', toggles[0].off); $('cCardBlock').set('class', 'onBlockOff'); // $('cCardBlock').getElement('p').setStyle('display','none'); } }); $('loyaltyCards').addEvent('mouseover', function(e){ if($('creditCards').get('src') == toggles[0].on) { $('loyaltyCards').set('src', toggles[1].over); $('lCardBlock').set('class', 'onBlockOver'); // $('lCardBlock').getElement('p').setStyles({'display':'block', // 'color':'#878787'}); } }); $('loyaltyCards').addEvent('mouseout', function(e){ if($('creditCards').get('src') == toggles[0].on) { $('loyaltyCards').set('src', toggles[1].off); $('lCardBlock').set('class', 'onBlockOff'); // $('lCardBlock').getElement('p').setStyle('display','none'); } }); $('creditCards').addEvent('click', function(e){ if(checkerIndex==1) { checkerIndex=0; setChecker(); if($('resultsText')){ $('resultsText').dispose(); new Element('img',{ 'src':'http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/bigMan.gif', 'styles':{'margin-top':'10px'} }).inject($('resultContent')); } } if($('warning').getElement('p')) { $('warning').getElement('p').dispose(); } }); $('loyaltyCards').addEvent('click', function(e){ if(checkerIndex==0) { checkerIndex=1; setChecker(); if($('resultsText')){ $('resultsText').dispose(); new Element('img',{ 'src':'http://images2.moneysavingexpert.com/images/rewardsChecker/newSkin/bigMan.gif', 'styles':{'margin-top':'10px'} }).inject($('resultContent')); } } if($('warning').getElement('p')) { $('warning').getElement('p').dispose(); } }); $('creditCards').set('src',toggles[0].on); $('loyaltyCards').set('src',toggles[1].off); new Element('p',{ 'class':'blockText', 'html' : checkerText[0] }).inject($('cCardBlock')); new Element('p',{ 'class':'blockText', 'html' : checkerText[1] }).inject($('lCardBlock')); var setChecker=function(){ if(checkerIndex==0) { $('checkerHeaderImage').getElement('img').set('src',titleImage[0].src); $('checkerHeaderImage').getElement('img').set('alt',titleImage[0].alt); $('checkerTitle').set('html', checkerTitle[0]); $('creditCards').set('src',toggles[0].on); $('loyaltyCards').set('src',toggles[1].off); $('lCardBlock').set('class', 'onBlockOff'); $('cCardBlock').set('class', 'onBlockOn'); $('contentBoxTop').set('class', 'contentBoxTopLeftOut') }else { $('checkerHeaderImage').getElement('img').set('src',titleImage[1].src); $('checkerHeaderImage').getElement('img').set('alt',titleImage[1].alt); $('checkerTitle').set('html', checkerTitle[1]); $('creditCards').set('src',toggles[0].off); $('loyaltyCards').set('src',toggles[1].on); $('cCardBlock').set('class', 'onBlockOff'); $('lCardBlock').set('class', 'onBlockOn'); $('contentBoxTop').set('class', 'contentBoxTopRightOut') } if($('inputLabel')){ $('inputLabel').erase('html'); } $('inputLabel').set('html', labels[checkerIndex][0].inner); if($('inputPrefix')){ $('inputPrefix').erase('html'); } $('inputPrefix').set('html', inputPrefixes[checkerIndex]); if($('input')){ $('input').erase('name'); // $('input').erase('type'); $('input').erase('value'); } $('input').set("name", inputs[checkerIndex][0].name); // $('input').set("type", inputs[checkerIndex][0].type); $('input').set("value", inputs[checkerIndex][0].value); if($('selectLabel')){ $('selectLabel').erase('for'); $('selectLabel').erase('html'); } $('selectLabel').set("for", labels[checkerIndex][1].labelFor); $('selectLabel').set("html",labels[checkerIndex][1].inner); $('select').setAttribute("name", inputs[checkerIndex][1].name); if($('select')){ $('select').options.length=0; } var req = new Request.JSON({url:"http://www.moneysavingexpert.com/rewardsChecker/data.js", onComplete: function(response){ if($('select')) { $('select').dispose(); } new Element('select',{'id':'select'}).inject($('p4')); var tcOptGroup = new Element('optgroup', { 'id' : 'tcOptGroup', 'label': 'Top Cards', 'styles':{'backgroundColor':'#01A1C7', 'color': '#000'} }); response.cards.each(function(a){ if(a.topList==1) { opts= { 'value':a.id, 'html':a.value, 'styles':{'backgroundColor':'#fff', 'color':'#000' }} new Element('option',opts ).inject(tcOptGroup); } }); tcOptGroup.inject($('select')); var azOptGroup = new Element('optgroup', { 'id' : 'azOptGroup', 'label': 'Cards: A-Z', 'styles':{'backgroundColor':'#01A1C7', 'color': '#000'} }); response.cards.each(function(a){ opts= { 'value':a.id, 'html':a.value, 'styles':{'backgroundColor':'#fff', 'color':'#000' }} new Element('option',opts).inject(azOptGroup); azOptGroup.inject($('select')) }); } }).get({"func":"getSelect", "checkerId":checkerIndex}); } // $('inputForm').addEvent('submit', function(){return false;}) var getResults = function(){ if(checkerIndex==0) { if($('input').value>0 && $('input').value<10000000000) { new Request({url:'http://www.moneysavingexpert.com/rewardsChecker/data.js', onComplete: function(response){ $('resultContent').innerHTML = response; } }).get({"func":"getReward", "cType":checkerIndex, "cId":$('select').options[$('select').selectedIndex].value , "spend":$('input').value}) if($('warning').getElement('p')) { $('warning').getElement('p').dispose() } new Element('p',{'id':'creditWarning', 'html': warnings[0].alwaysRepay, 'styles':{'text-align':'center', 'color':'#f00', 'font-size':'16px', 'font-weight':'bold'} }).inject($('warning')); }else { alert("Please enter an annual spend between £0.01 and £9,999,999,999") } }else if(checkerIndex==1) { if($('input').value>0 && $('input').value<10000000) { new Request({url:'http://www.moneysavingexpert.com/rewardsChecker/data.js', onComplete: function(response){ $('resultContent').innerHTML = response; } }).get({"func":"getReward", "cType":checkerIndex, "cId":$('select').options[$('select').selectedIndex].value , "points":$('input').value}) }else { alert("Please enter an number of loyalty points between 1 and 9,999,999") } } } $('calculate').addEvent('click', function(e){ e.stop(); if($('select').options[$('select').selectedIndex].value=="divider") { alert("Please select a valid card"); } else { getResults() } }); setChecker(); });