function ajaxLoadPageIntoDiv(url,outputDivId){$.ajax({url:url,success:function(data){document.getElementById(outputDivId).innerHTML=data;document.getElementById(outputDivId).scrollTop=0;initCheckBoxFlags();initClueTips();},error:function(data){showMessage(outputDivId,"Error occured");}});}function ajaxLoadTopFive(config){$.ajax({url:config.url,success:function(data){var chartDiv=config.outputDiv+"Chart";try{document.getElementById(config.outputDiv).innerHTML=data;document.getElementById(config.outputDiv).scrollTop=0;var data=[];for(var i=0;i<5;i++){var nameFieldId=config.outputDiv+"Name_"+i;var totalSpendFieldId=config.outputDiv+"TotalSpend_"+i;var name=$("#"+nameFieldId).val();var totalSpend=parseInt($("#"+totalSpendFieldId).val());if(totalSpend<0){throw"Negative values are invalid for a pie chart.";}if(name!=undefined&&name!=null&&!isNaN(totalSpend)){data.push({name:name,totalSpend:totalSpend});}}var dataTable=new google.visualization.DataTable();dataTable.addColumn("string","Name");dataTable.addColumn("number","Total Spend");dataTable.addRows(data.length);for(var j=0;j<data.length;j++){dataTable.setValue(j,0,data[j].name);dataTable.setValue(j,1,data[j].totalSpend);}var numberFormatter=new google.visualization.NumberFormat({prefix:"£"});numberFormatter.format(dataTable,1);var chart=new google.visualization.PieChart(document.getElementById(chartDiv));chart.draw(dataTable,{allowHtml:true,width:450,height:300,title:config.chartTitle,is3D:true});}catch(ex){showMessage(chartDiv,ex);}if(config.showChart){$("#"+chartDiv).show();}var showChartBtnId=config.outputDiv+"ShowChartBtn";$("#"+showChartBtnId).click(function(){$("#topFiveCharts").children().each(function(){$(this).hide();});$("#"+config.outputDiv+"Chart").show();document.getElementById("topFiveChartsContainer").scrollIntoView();});$(".upgrade").fancybox({"autoscale":true,"type":"ajax","opacity":true,"transitionIn":"elastic","transitionOut":"fade"});}});}function ajaxLoadSpendSummaryBarChart(config){$.ajax({url:config.url,success:function(response){var data=new google.visualization.DataTable();data.addColumn("string","Period");data.addColumn("number","Spend");if(response.spendSummary.length>0){data.addRows(response.spendSummary.length);for(var i=0;i<response.spendSummary.length;++i){data.setValue(i,0,response.spendSummary[i].period.toString());data.setValue(i,1,parseInt(response.spendSummary[i].spend));}var numberFormatter=new google.visualization.NumberFormat({prefix:"£"});numberFormatter.format(data,1);var barChart=new google.visualization.BarChart(document.getElementById(config.outputDiv));barChart.draw(data,{title:response.title,width:980,height:400,legend:"none",hAxis:{title:"Summary of Spend (£)"}});google.visualization.events.addListener(barChart,"select",function(){var redirect=response.spendSummary[barChart.getSelection()[0].row].url;window.location=redirect;});}else{document.getElementById(config.outputDiv).innerHTML="<p>Spend summary data could not be found.</p>";}}});}function ajaxLoadViewAllSpendSummaryLineCharts(config){var charts=[{title:config.charts[0].title,outputDiv:config.charts[0].divId,getValue:function(entity){return entity.totalSpend;},currency:true},{title:config.charts[1].title,outputDiv:config.charts[1].divId,getValue:function(entity){return entity.numTransactions;},currency:false},{title:config.charts[2].title,outputDiv:config.charts[2].divId,getValue:function(entity){return entity.avgPerItem;},currency:true},{title:config.charts[3].title,outputDiv:config.charts[3].divId,getValue:function(entity){return entity.avgPerMonth;},currency:true}];var width=600;if(config.width!=undefined){config.width=parseInt(config.width);if(!isNaN(config.width)&&config.width>600){width=config.width;}}return $.ajax({url:config.url,data:config.data,success:function(response){if(response.summaryOfSpend!=undefined&&response.summaryOfSpend!=null&&response.summaryOfSpend.length>0){var periods=[];for(var i=0;i<response.summaryOfSpend.length;i++){var periodId=response.summaryOfSpend[i].periodId;var isAlreadyAdded=false;for(var j=0;j<periods.length;j++){if(periods[j].id==periodId){isAlreadyAdded=true;break;}}if(!isAlreadyAdded){periods.push({id:periodId,name:response.summaryOfSpend[i].periodName});}}periods.sort(function(a,b){return a.id-b.id;});var entities=[];for(var i=0;i<response.summaryOfSpend.length;i++){var entityId=response.summaryOfSpend[i].id;var isAlreadyAdded=false;for(var j=0;j<entities.length;j++){if(entities[j].id==entityId){isAlreadyAdded=true;break;}}if(!isAlreadyAdded){entities.push({id:entityId,name:response.summaryOfSpend[i].name});}}entities.sort(function(a,b){if(a.name<b.name){return -1;}else{if(a.name>b.name){return 1;}}return 0;});var data=[];for(var i=0;i<periods.length;i++){data[i]={period:periods[i].name,entities:[]};for(var j=0;j<entities.length;j++){data[i].entities[j]={totalSpend:0,numTransactions:0,avgPerItem:0,avgPerMonth:0};for(var k=0;k<response.summaryOfSpend.length;k++){var periodId=response.summaryOfSpend[k].periodId;var entityId=response.summaryOfSpend[k].id;if(periods[i].id==periodId&&entities[j].id==entityId){data[i].entities[j].totalSpend=parseInt(response.summaryOfSpend[k].totalSpend);data[i].entities[j].numTransactions=parseInt(response.summaryOfSpend[k].numTransactions);data[i].entities[j].avgPerItem=parseInt(response.summaryOfSpend[k].avgPerItem);data[i].entities[j].avgPerMonth=parseInt(response.summaryOfSpend[k].avgPerMonth);break;}}}}for(var i=0;i<charts.length;i++){var dataTable=new google.visualization.DataTable();dataTable.addColumn("string","Period");for(var j=0;j<entities.length;j++){dataTable.addColumn("number",entities[j].name);}for(var j=0;j<data.length;j++){var row=[data[j].period];for(var k=0;k<data[j].entities.length;k++){row[k+1]=charts[i].getValue(data[j].entities[k]);}dataTable.addRow(row);}if(charts[i].currency){var numberFormatter=new google.visualization.NumberFormat({prefix:"£"});for(var j=1;j<=entities.length;j++){numberFormatter.format(dataTable,j);}}var lineChart=new google.visualization.LineChart(document.getElementById(charts[i].outputDiv));lineChart.draw(dataTable,{title:charts[i].title,curveType:"none",width:width,height:450,pointSize:4,hAxis:{slantedText:true}});}}else{for(var i=0;i<charts.length;i++){showMessage(charts[i].outputDiv,"No Data Available");}}},error:function(){for(var i=0;i<charts.length;i++){showMessage(charts[i].outputDiv,"Error occured");}}});}function ajaxLoadTopFiveComparisonColumnChart(config){$.ajax({url:config.url,success:function(data){try{document.getElementById(config.outputDivId).innerHTML=data;document.getElementById(config.outputDivId).scrollTop=0;initCheckBoxFlags();initClueTips();var entities=[];var map=[];for(var i=0;i<4;++i){var entityId=parseInt($("#"+i+"_entityId").val());if(!isNaN(entityId)){var entity={id:entityId,name:$("#"+i+"_entityName").val(),values:[]};for(var j=0;j<4;++j){var idPrefix="#"+config.fieldPrefix+i+"_"+j+"_";var id=$(idPrefix+"id").val();if(id!=undefined){var name=$(idPrefix+"name").val();var totalSpend=parseInt($(idPrefix+"totalSpend").val());entity.values[id]={id:id,totalSpend:totalSpend};if(map[id]==undefined){map[id]={id:id,name:name,totalSpend:totalSpend};}else{map[id].totalSpend=map[id].totalSpend+totalSpend;}}}entities.push(entity);}}if(map.length==0){throw"No data found.";}var topFive=[null,null,null,null,null];for(key in map){var id=key;var obj=map[key];var totalSpend=obj.totalSpend;for(var i=0;i<topFive.length;++i){if(topFive[i]==null){topFive[i]=obj;break;}else{if(topFive[i].totalSpend<totalSpend){for(var j=topFive.length-1;j>=i;j--){topFive[j]=topFive[j-1];}topFive[i]=obj;break;}}}}var data=[];for(var i=0;i<entities.length;++i){var row=[entities[i].name];for(var j=0;j<topFive.length;++j){if(topFive[j]!=null){var valueObj=entities[i].values[topFive[j].id];if(valueObj==undefined){row[j+1]=0;}else{row[j+1]=parseInt(valueObj.totalSpend);}}}data[i]=row;}var dataTable=new google.visualization.DataTable();dataTable.addColumn("string","Industries");for(var i=0;i<data.length;++i){dataTable.addColumn("number",data[i][0]);}var rowsCount=0;for(var i=0;i<topFive.length;++i){if(topFive[i]!=null){rowsCount++;}}dataTable.addRows(rowsCount);for(var j=0;j<topFive.length;++j){if(topFive[j]!=null){dataTable.setValue(j,0,topFive[j].name);}}for(var i=0;i<data.length;++i){for(j=1;j<data[i].length;++j){dataTable.setValue(j-1,i+1,data[i][j]);}}var numberFormatter=new google.visualization.NumberFormat({prefix:"£"});for(var j=1;j<=entities.length;j++){numberFormatter.format(dataTable,j);}var width=$("#"+config.chartDivId).width();if(isNaN(width)||width<600){width=600;}var chart=new google.visualization.ColumnChart(document.getElementById(config.chartDivId));chart.draw(dataTable,{title:config.title,width:width,height:400,isStacked:false});}catch(ex){showMessage(config.chartDivId,ex);}},error:function(data){showMessage(config.outputDivId,"Error occured");showMessage(config.chartDivId,"Error occured");}});}function ajaxLoadTotalSpendSummaryComparisonPieChart(config){$.ajax({url:config.url,success:function(data){try{document.getElementById(config.outputDivId).innerHTML=data;document.getElementById(config.outputDivId).scrollTop=0;initCheckBoxFlags();initClueTips();var dataTable=new google.visualization.DataTable();dataTable.addColumn("string","Entities");dataTable.addColumn("number","Total Spend");dataTable.addRows(4);var count=0;for(var i=0;i<4;++i){var entityName=$("#"+i+"_entityName").val();var totalSpend=parseInt($("#spendSummary_"+i+"_totalSpend").val());if(!isNaN(totalSpend)){if(totalSpend!=0){count++;}if(totalSpend<0){throw"Negative values are invalid for a pie chart.";}dataTable.setValue(i,0,entityName);dataTable.setValue(i,1,totalSpend);}}if(count==0){throw"No data could be found.";}var numberFormatter=new google.visualization.NumberFormat({prefix:"£"});numberFormatter.format(dataTable,1);var width=$("#"+config.chartDivId).width();if(isNaN(width)||width<600){width=600;}var chart=new google.visualization.PieChart(document.getElementById(config.chartDivId));chart.draw(dataTable,{title:config.title,width:width,height:450,is3D:true,chartArea:{left:"35%",width:500,height:400}});}catch(ex){showMessage(config.chartDivId,ex);}},error:function(data){showMessage(config.chartDivId,"Error occured");showMessage(config.outputDivId,"Error occured");}});}function showMessage(chartDiv,msg){$("#"+chartDiv).html('<span class="border aligncenter center ml2 mr2 mt2 mb2 pt2 pb2">'+msg+"</span>");}function ajaxLoadKeywordsIntoDiv(url,outputDivId){$.ajax({url:url,success:function(data){document.getElementById(outputDivId).innerHTML=data;document.getElementById(outputDivId).scrollTop=0;initCheckBoxFlags();initClueTips();$(".upgrade").fancybox({"autoscale":true,"type":"ajax","opacity":true,"transitionIn":"elastic","transitionOut":"fade"});},error:function(data){showMessage(outputDivId,"Error occured.");}});}
