summaryrefslogtreecommitdiffstats
path: root/usecaseui-common/src/main/webapp/static/fusion/sample/js
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-common/src/main/webapp/static/fusion/sample/js')
-rw-r--r--usecaseui-common/src/main/webapp/static/fusion/sample/js/FusionCharts.js361
-rw-r--r--usecaseui-common/src/main/webapp/static/fusion/sample/js/charts.js132
-rw-r--r--usecaseui-common/src/main/webapp/static/fusion/sample/js/scribble.js19
3 files changed, 512 insertions, 0 deletions
diff --git a/usecaseui-common/src/main/webapp/static/fusion/sample/js/FusionCharts.js b/usecaseui-common/src/main/webapp/static/fusion/sample/js/FusionCharts.js
new file mode 100644
index 00000000..4c174dfa
--- /dev/null
+++ b/usecaseui-common/src/main/webapp/static/fusion/sample/js/FusionCharts.js
@@ -0,0 +1,361 @@
+/**
+ * FusionCharts: Flash Player detection and Chart embedding.
+ * Version 1.2.3F ( 22 November 2008) - Specialized for FusionChartsFREE
+ * Checking Flash Version >=6 and added updateChartXML() for FREE Charts.
+ * Version: 1.2.3 (1st September, 2008) - Added Fix for % and & characters, scaled dimensions, fixes in to properly handling of double quotes and single quotes in setDataXML() function.
+ * Version: 1.2.2 (10th July, 2008) - Added Fix for % scaled dimensions, fixes in setDataXML() and setDataURL() functions
+ * Version: 1.2.1 (21st December, 2007) - Added setting up Transparent/opaque mode: setTransparent() function
+ * Version: 1.2 (1st November, 2007) - Added FORM fixes for IE
+ * Version: 1.1 (29th June, 2007) - Added Player detection, New conditional fixes for IE
+ *
+ * Morphed from SWFObject (http://blog.deconcept.com/swfobject/) under MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+if(typeof infosoftglobal == "undefined") var infosoftglobal = new Object();
+if(typeof infosoftglobal.FusionChartsUtil == "undefined") infosoftglobal.FusionChartsUtil = new Object();
+infosoftglobal.FusionCharts = function(swf, id, w, h, debugMode, registerWithJS, c, scaleMode, lang, detectFlashVersion, autoInstallRedirect){
+ if (!document.getElementById) { return; }
+
+ //Flag to see whether data has been set initially
+ this.initialDataSet = false;
+
+ //Create container objects
+ this.params = new Object();
+ this.variables = new Object();
+ this.attributes = new Array();
+
+ //Set attributes for the SWF
+ if(swf) { this.setAttribute('swf', swf); }
+ if(id) { this.setAttribute('id', id); }
+
+ w=w.toString().replace(/\%$/,"%25");
+ if(w) { this.setAttribute('width', w); }
+ h=h.toString().replace(/\%$/,"%25");
+ if(h) { this.setAttribute('height', h); }
+
+
+ //Set background color
+ if(c) { this.addParam('bgcolor', c); }
+
+ //Set Quality
+ this.addParam('quality', 'high');
+
+ //Add scripting access parameter
+ this.addParam('allowScriptAccess', 'always');
+
+ //Pass width and height to be appended as chartWidth and chartHeight
+ this.addVariable('chartWidth', w);
+ this.addVariable('chartHeight', h);
+
+ //Whether in debug mode
+ debugMode = debugMode ? debugMode : 0;
+ this.addVariable('debugMode', debugMode);
+ //Pass DOM ID to Chart
+ this.addVariable('DOMId', id);
+ //Whether to registed with JavaScript
+ registerWithJS = registerWithJS ? registerWithJS : 0;
+ this.addVariable('registerWithJS', registerWithJS);
+
+ //Scale Mode of chart
+ scaleMode = scaleMode ? scaleMode : 'noScale';
+ this.addVariable('scaleMode', scaleMode);
+
+ //Application Message Language
+ lang = lang ? lang : 'EN';
+ this.addVariable('lang', lang);
+
+ //Whether to auto detect and re-direct to Flash Player installation
+ this.detectFlashVersion = detectFlashVersion?detectFlashVersion:1;
+ this.autoInstallRedirect = autoInstallRedirect?autoInstallRedirect:1;
+
+ //Ger Flash Player version
+ this.installedVer = infosoftglobal.FusionChartsUtil.getPlayerVersion();
+
+ if (!window.opera && document.all && this.installedVer.major > 7) {
+ // Only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE
+ infosoftglobal.FusionCharts.doPrepUnload = true;
+ }
+}
+
+infosoftglobal.FusionCharts.prototype = {
+ setAttribute: function(name, value){
+ this.attributes[name] = value;
+ },
+ getAttribute: function(name){
+ return this.attributes[name];
+ },
+ addParam: function(name, value){
+ this.params[name] = value;
+ },
+ getParams: function(){
+ return this.params;
+ },
+ addVariable: function(name, value){
+ this.variables[name] = value;
+ },
+ getVariable: function(name){
+ return this.variables[name];
+ },
+ getVariables: function(){
+ return this.variables;
+ },
+ getVariablePairs: function(){
+ var variablePairs = new Array();
+ var key;
+ var variables = this.getVariables();
+ for(key in variables){
+ variablePairs.push(key +"="+ variables[key]);
+ }
+ return variablePairs;
+ },
+ getSWFHTML: function() {
+ var swfNode = "";
+ if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
+ // netscape plugin architecture
+ swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" ';
+ swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
+ var params = this.getParams();
+ for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
+ var pairs = this.getVariablePairs().join("&");
+ if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
+ swfNode += '/>';
+ } else { // PC IE
+ swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
+ swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
+ var params = this.getParams();
+ for(var key in params) {
+ swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
+ }
+ var pairs = this.getVariablePairs().join("&");
+ if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
+ swfNode += "</object>";
+ }
+ return swfNode;
+ },
+ setDataURL: function(strDataURL){
+ //This method sets the data URL for the chart.
+ //If being set initially
+ if (this.initialDataSet==false){
+ this.addVariable('dataURL',strDataURL);
+ //Update flag
+ this.initialDataSet = true;
+ }else{
+ //Else, we update the chart data using External Interface
+ //Get reference to chart object
+ var chartObj = infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));
+
+ if (!chartObj.setDataURL)
+ {
+ __flash__addCallback(chartObj, "setDataURL");
+ }
+
+ chartObj.setDataURL(strDataURL);
+ }
+ },
+ //This function :
+ //fixes the double quoted attributes to single quotes
+ //Encodes all quotes inside attribute values
+ //Encodes % to %25 and & to %26;
+ encodeDataXML: function(strDataXML){
+
+ var regExpReservedCharacters=["\\$","\\+"];
+ var arrDQAtt=strDataXML.match(/=\s*\".*?\"/g);
+ if (arrDQAtt){
+ for(var i=0;i<arrDQAtt.length;i++){
+ var repStr=arrDQAtt[i].replace(/^=\s*\"|\"$/g,"");
+ repStr=repStr.replace(/\'/g,"%26apos;");
+ var strTo=strDataXML.indexOf(arrDQAtt[i]);
+ var repStrr="='"+repStr+"'";
+ var strStart=strDataXML.substring(0,strTo);
+ var strEnd=strDataXML.substring(strTo+arrDQAtt[i].length);
+ var strDataXML=strStart+repStrr+strEnd;
+ }
+ }
+
+ strDataXML=strDataXML.replace(/\"/g,"%26quot;");
+ strDataXML=strDataXML.replace(/%(?![\da-f]{2}|[\da-f]{4})/ig,"%25");
+ strDataXML=strDataXML.replace(/\&/g,"%26");
+
+ return strDataXML;
+
+ },
+ setDataXML: function(strDataXML){
+ //If being set initially
+ if (this.initialDataSet==false){
+ //This method sets the data XML for the chart INITIALLY.
+ this.addVariable('dataXML',this.encodeDataXML(strDataXML));
+ //Update flag
+ this.initialDataSet = true;
+ }else{
+ //Else, we update the chart data using External Interface
+ //Get reference to chart object
+ var chartObj = infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));
+ chartObj.setDataXML(strDataXML);
+ }
+ },
+ setTransparent: function(isTransparent){
+ //Sets chart to transparent mode when isTransparent is true (default)
+ //When no parameter is passed, we assume transparent to be true.
+ if(typeof isTransparent=="undefined") {
+ isTransparent=true;
+ }
+ //Set the property
+ if(isTransparent)
+ this.addParam('WMode', 'transparent');
+ else
+ this.addParam('WMode', 'Opaque');
+ },
+
+ render: function(elementId){
+ //First check for installed version of Flash Player - we need a minimum of 6
+ if((this.detectFlashVersion==1) && (this.installedVer.major < 6)){
+ if (this.autoInstallRedirect==1){
+ //If we can auto redirect to install the player?
+ var installationConfirm = window.confirm("You need Adobe Flash Player 6 (or above) to view the charts. It is a free and lightweight installation from Adobe.com. Please click on Ok to install the same.");
+ if (installationConfirm){
+ window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
+ }else{
+ return false;
+ }
+ }else{
+ //Else, do not take an action. It means the developer has specified a message in the DIV (and probably a link).
+ //So, expect the developers to provide a course of way to their end users.
+ //window.alert("You need Adobe Flash Player 8 (or above) to view the charts. It is a free and lightweight installation from Adobe.com. ");
+ return false;
+ }
+ }else{
+ //Render the chart
+ var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
+ n.innerHTML = this.getSWFHTML();
+
+ //Added <FORM> compatibility
+ //Check if it's added in Mozilla embed array or if already exits
+ if(!document.embeds[this.getAttribute('id')] && !window[this.getAttribute('id')])
+ window[this.getAttribute('id')]=document.getElementById(this.getAttribute('id'));
+ //or else document.forms[formName/formIndex][chartId]
+ return true;
+ }
+ }
+}
+
+/* ---- detection functions ---- */
+infosoftglobal.FusionChartsUtil.getPlayerVersion = function(){
+ var PlayerVersion = new infosoftglobal.PlayerVersion([0,0,0]);
+ if(navigator.plugins && navigator.mimeTypes.length){
+ var x = navigator.plugins["Shockwave Flash"];
+ if(x && x.description) {
+ PlayerVersion = new infosoftglobal.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
+ }
+ }else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){
+ //If Windows CE
+ var axo = 1;
+ var counter = 3;
+ while(axo) {
+ try {
+ counter++;
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
+ PlayerVersion = new infosoftglobal.PlayerVersion([counter,0,0]);
+ } catch (e) {
+ axo = null;
+ }
+ }
+ } else {
+ // Win IE (non mobile)
+ // Do minor version lookup in IE, but avoid Flash Player 6 crashing issues
+ try{
+ var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
+ }catch(e){
+ try {
+ var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
+ PlayerVersion = new infosoftglobal.PlayerVersion([6,0,21]);
+ axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
+ } catch(e) {
+ if (PlayerVersion.major == 6) {
+ return PlayerVersion;
+ }
+ }
+ try {
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
+ } catch(e) {}
+ }
+ if (axo != null) {
+ PlayerVersion = new infosoftglobal.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
+ }
+ }
+ return PlayerVersion;
+}
+infosoftglobal.PlayerVersion = function(arrVersion){
+ this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
+ this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
+ this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
+}
+// ------------ Fix for Out of Memory Bug in IE in FP9 ---------------//
+/* Fix for video streaming bug */
+infosoftglobal.FusionChartsUtil.cleanupSWFs = function() {
+ var objects = document.getElementsByTagName("OBJECT");
+ for (var i = objects.length - 1; i >= 0; i--) {
+ objects[i].style.display = 'none';
+ for (var x in objects[i]) {
+ if (typeof objects[i][x] == 'function') {
+ objects[i][x] = function(){};
+ }
+ }
+ }
+}
+// Fixes bug in fp9
+if (infosoftglobal.FusionCharts.doPrepUnload) {
+ if (!infosoftglobal.unloadSet) {
+ infosoftglobal.FusionChartsUtil.prepUnload = function() {
+ __flash_unloadHandler = function(){};
+ __flash_savedUnloadHandler = function(){};
+ window.attachEvent("onunload", infosoftglobal.FusionChartsUtil.cleanupSWFs);
+ }
+ window.attachEvent("onbeforeunload", infosoftglobal.FusionChartsUtil.prepUnload);
+ infosoftglobal.unloadSet = true;
+ }
+}
+/* Add document.getElementById if needed (mobile IE < 5) */
+if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }}
+/* Add Array.push if needed (ie5) */
+if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}
+
+/* Function to return Flash Object from ID */
+infosoftglobal.FusionChartsUtil.getChartObject = function(id)
+{
+ var chartRef=null;
+ if (navigator.appName.indexOf("Microsoft Internet")==-1) {
+ if (document.embeds && document.embeds[id])
+ chartRef = document.embeds[id];
+ else
+ chartRef = window.document[id];
+ }
+ else {
+ chartRef = window[id];
+ }
+ if (!chartRef)
+ chartRef = document.getElementById(id);
+
+ return chartRef;
+}
+/*
+ Function to update chart's data at client side (FOR FusionCharts vFREE and 2.x
+*/
+infosoftglobal.FusionChartsUtil.updateChartXML = function(chartId, strXML){
+ //Get reference to chart object
+ var chartObj = infosoftglobal.FusionChartsUtil.getChartObject(chartId);
+ //Set dataURL to null
+ chartObj.SetVariable("_root.dataURL","");
+ //Set the flag
+ chartObj.SetVariable("_root.isNewData","1");
+ //Set the actual data
+ chartObj.SetVariable("_root.newData",strXML);
+ //Go to the required frame
+ chartObj.TGotoLabel("/", "JavaScriptHandler");
+}
+
+
+/* Aliases for easy usage */
+var getChartFromId = infosoftglobal.FusionChartsUtil.getChartObject;
+var updateChartXML = infosoftglobal.FusionChartsUtil.updateChartXML;
+var FusionCharts = infosoftglobal.FusionCharts; \ No newline at end of file
diff --git a/usecaseui-common/src/main/webapp/static/fusion/sample/js/charts.js b/usecaseui-common/src/main/webapp/static/fusion/sample/js/charts.js
new file mode 100644
index 00000000..4bebbd36
--- /dev/null
+++ b/usecaseui-common/src/main/webapp/static/fusion/sample/js/charts.js
@@ -0,0 +1,132 @@
+
+function drawSingleSeriesChart(tabId, chartId, chartWidth, chartHeight, chartType, chartData,mme,yyyyMo) {
+ // define, set the data for each chart, and render them (if indicated)
+ var myChart = new FusionCharts("static/fusion/inc/fusionchart/" + chartType, "myChartId" + chartId, chartWidth, chartHeight);
+
+ var mmeLabel = "";//mme + "";
+
+ var chartCaptionId = tabId + "-chartdiv" + chartId + "-label";
+
+ document.getElementById(chartCaptionId).innerHTML = "Hosted Voice Usage in "+ yyyyMo;
+
+ myChart.setDataXML("<graph caption='"+mmeLabel + "' xAxisName='' yAxisName='# of Inbound/Outbound calls' showNames='1' decimalPrecision='0' formatNumberScale='0'>" + chartData + "</graph>");
+ myChart.setTransparent(true);
+ myChart.render(tabId + "-"+ "chartdiv" + chartId);
+
+
+ }
+
+
+ // gauge charts
+ function drawGaugeChart(chartId, gaugeIndex, value) {
+ var myChart = new FusionCharts("static/fusion/inc/fusionchart/AngularGauge.swf", "myChartId" + chartId, "300", "300", "0", "0");
+ //CPU for NYCMNYBWLT1 on 201301 : 12.63//
+ var chartData =
+ "<Chart showBorder='0' editMode='1' bgColor='FFFFFF' upperLimit='100' lowerLimit='0' label='CPU' baseFontColor='FFFFFF' majorTMNumber='11' majorTMColor='FFFFFF' majorTMHeight='8' minorTMNumber='5' minorTMColor='FFFFFF' minorTMHeight='3' toolTipBorderColor='FFFFFF' toolTipBgColor='333333' gaugeOuterRadius='100' gaugeOriginX='150' gaugeOriginY='150' gaugeScaleAngle='270' placeValuesInside='1' gaugeInnerRadius='80%25' annRenderDelay='0' gaugeFillMix='' pivotRadius='10' showPivotBorder='0' pivotFillMix='{CCCCCC},{333333}' pivotFillRatio='50,50' showShadow='0' >" +
+ "<colorRange>" +
+ "<color minValue='0' maxValue='50' code='C1E1C1' alpha='60'/>" +
+ "<color minValue='50' maxValue='85' code='F6F164' alpha='60'/>" +
+ "<color minValue='85' maxValue='120' code='F70118' alpha='60'/>" +
+ "</colorRange>" +
+ "<dials>" +
+ "<dial value='" + value + "' borderColor='FFFFFF' bgColor='000000,CCCCCC,000000' borderAlpha='0' baseWidth='10'/>" +
+ "</dials>" +
+ "<annotations>" +
+ "<annotationGroup xPos='150' yPos='150' showBelow='1'>" +
+ "<annotation type='circle' xPos='0' yPos='0' radius='120' startAngle='0' endAngle='360' fillColor='CCCCCC,111111' fillPattern='linear' fillAlpha='100,100' fillRatio='50,50' fillAngle='-45'/>" +
+ "<annotation type='circle' xPos='0' yPos='0' radius='110' startAngle='0' endAngle='360' fillColor='111111,cccccc' fillPattern='linear' fillAlpha='100,100' fillRatio='50,50' fillAngle='-45'/>" +
+ "<annotation type='text' label='CPU'/>" +
+ "</annotationGroup>" +
+ "</annotations>" +
+ "</Chart>";
+
+ myChart.setDataXML(chartData);
+ myChart.render("chartdiv" + chartId);
+ }
+
+
+ function updateGaugeChart(chartId, gaugeIndex, refreshCount) {
+ var myChart = getChartFromId("myChartId" + chartId);
+ var val = 0;
+ if (gaugeIndex == "10") val = 12;
+ else if (gaugeIndex == "20") val = 15;
+ else if (gaugeIndex == "30") val = 52;
+ else if (gaugeIndex == "40") val = 42;
+ myChart.setData(1, val);
+ myChart.setData(2, val+20);
+ }
+
+ function updateGaugeChartWithMMEData(chartId, value) {
+ var myChart = getChartFromId("myChartId" + chartId);
+ myChart.setData(1, value);
+ }
+
+
+ function updateGaugeChartWithMMEData(chartId, value, yyyyMo, mme) {
+ var myChart = getChartFromId("myChartId" + chartId);
+ myChart.setData(1, value);
+ document.getElementById("cpuYyyyMm").innerHTML = "Hosted Voice Utilization in "+ yyyyMo;
+
+ }
+
+ function drawMultiSeriesChart(tabId,chartId, chartWidth, chartHeight, chartType) {
+ var myChart = new FusionCharts("static/fusion/inc/fusionchart/" + chartType, "myChartId" + chartId, chartWidth, chartHeight, "0", "0");
+
+ myChart.setTransparent(true);
+
+ var chartData =
+ "<graph caption='Hosted Voice v Audited Communication' xAxisName='Month' yAxisName='Bandwidth Usage'" +
+ " showValues='0' decimalPrecision='0' bgcolor='ffffff' bgAlpha='70'" +
+ " showColumnShadow='1' divlinecolor='c5c5c5' divLineAlpha='60' showAlternateHGridColor='1'" +
+ " alternateHGridColor='f8f8f8' alternateHGridAlpha='60' >" +
+ "<categories>" +
+ "<category name='Jan' />" +
+ "<category name='Feb' />" +
+ "<category name='Mar' />" +
+ "<category name='Apr' />" +
+ "<category name='May' />" +
+ "<category name='Jun' />" +
+ "<category name='Jul' />" +
+ "<category name='Aug' />" +
+ "<category name='Sep' />" +
+ "<category name='Oct' />" +
+ "<category name='Nov' />" +
+ "<category name='Dec' />" +
+ "</categories>" +
+ "<dataset seriesName='Hosted Voice' color='c4e3f7' >" +
+ "<set value='7' />" +
+ "<set value='8.04' />" +
+ "<set value='10.04' />" +
+ "<set value='12.73' />" +
+ "<set value='12.41' />" +
+ "<set value='11.83' />" +
+ "<set value='14.06' />" +
+ "<set value='15.94' />" +
+ "<set value='22.97' />" +
+ "<set value='26.79' />" +
+ "<set value='20.35' />" +
+ "<set value='12.63' />" +
+ "</dataset>" +
+ "<dataset seriesName='Audited Communication' color='Fad35e' >" +
+ "<set value='5.49'/>" +
+ "<set value='8.05'/>" +
+ "<set value='15.36'/>" +
+ "<set value='21.23'/>" +
+ "<set value='23.48' />" +
+ "<set value='15.49' />" +
+ "<set value='26.8' />" +
+ "<set value='30.54' />" +
+ "<set value='64' />" +
+ "<set value='75' />" +
+ "<set value='63' />" +
+ "<set value='34' />" +
+ "</dataset>" +
+ "<trendlines>" +
+ "<line startValue='26000' color='91C728' displayValue='Target' showOnTop='1'/>" +
+ "</trendlines>" +
+ "</graph>";
+
+ myChart.setDataXML(chartData);
+ myChart.render(tabId + "-" + "chartdiv" + chartId);
+ }
+
diff --git a/usecaseui-common/src/main/webapp/static/fusion/sample/js/scribble.js b/usecaseui-common/src/main/webapp/static/fusion/sample/js/scribble.js
new file mode 100644
index 00000000..5384b304
--- /dev/null
+++ b/usecaseui-common/src/main/webapp/static/fusion/sample/js/scribble.js
@@ -0,0 +1,19 @@
+ function storeUserScribble(id) {
+ var scribble = document.getElementById('scribble').innerHTML;
+ localStorage.setItem('userScribble',scribble);
+ }
+
+ function getUserScribble() {
+ if ( localStorage.getItem('userScribble')) {
+ var scribble = localStorage.getItem('userScribble');
+ }
+ else {
+ var scribble = 'You can scribble directly on this sticky... and I will also remember your message the next time you visit my blog!';
+ }
+ document.getElementById('scribble').innerHTML = scribble;
+ }
+
+ function clearLocal() {
+ clear: localStorage.clear();
+ return false;
+ }