
$.fn.serializeObject=function(){var o={};var a=this.serializeArray();$.each(a,function(){if(o[this.name]){if(!o[this.name].push){o[this.name]=[o[this.name]];}
o[this.name].push(this.value||'');}else{o[this.name]=this.value||'';}});return o;};function widgetModule(id,cnt,codeEl){var module=this;this.id=id;this.cnt=cnt;this.codeEl=codeEl;this.widgeturl;this.ifproxyurl;this.height;this.title='Last Played';this.user=$('#user').val().length>0?$('#user').val():'loosewire1';this.numTracks=$('#numTracks').val();this.selectedDisplay=$('#display').val();this.selectedColor=$('#color').val();this.prefs;this.initialize=function(widgeturl,ifproxyurl){this.widgeturl=widgeturl;this.ifproxyurl=ifproxyurl;var prefsurl='http://nvmodules.netvibes.com/widget/json';var data={'uwaUrl':widgeturl};this.configure({'user':this.user,'numTracks':this.numTracks,'display':this.selectedDisplay,'color':this.selectedColor});$(this.codeEl).focus(function(){this.select();});}
this.configure=function(prefs){var prefsobj=typeof(prefs)=="object"?prefs:$('#widget_options_form').serializeObject();this.prefs=prefsobj;$.each(prefsobj,function(key,val){this[key]=val;});var height=(prefsobj.numTracks*90)+120;this.height=prefsobj.selectedDisplay==1?height+35:height;this.createHtml();}
this.createHtml=function(){var prefs=$.param(this.prefs);this.src='http://nvmodules.netvibes.com/widget/frame/?uwaUrl='+encodeURIComponent(this.widgeturl)+'&id='+this.id+'&ifproxyurl='+encodeURIComponent(this.ifproxyurl)+'&'+prefs;var iframe=$('<iframe />').attr({'id':'frame_'+this.id,'height':this.height,'width':'100%','scrolling':'no','frameborder':'0','src':this.src+'&nocache='+(new Date()).getTime()});$(this.cnt).html(iframe);this.updateCode();}
this.updateCode=function(){var prefs_as_str=JSON.stringify(this.prefs);var embedCode='';embedCode+='<script type="text/javascript" src="http://www.netvibes.com/js/UWA/load.js.php?env=BlogWidget2"><\/script>';embedCode+='<script type="text/javascript">';embedCode+="var BW = new UWA.BlogWidget({moduleUrl:'"+this.widgeturl+"'});";embedCode+="BW.setPreferencesValues("+prefs_as_str+");";embedCode+='BW.setConfiguration({"title":"'+this.title+'", "height":"'+this.height+'"});';embedCode+='<\/script>';$(this.codeEl).val(embedCode);}}
function buildAddLinks(widgeturl){var links=[{"title":"Facebook","cls":"facebook","url":"http://apps.facebook.com/lastplayed/"},{"title":"Netvibes","cls":"netvibes","url":"http://eco.netvibes.com/subscribe/381146"},{"title":"iGoogle","cls":"igoogle","url":"http://eco.netvibes.com/subscribe/381146?platform=igoogle"},{"title":"Apple Dashboard","cls":"dashboard","url":"http://eco.netvibes.com/subscribe/381146?platform=dashboard"},{"title":"Windows Live","cls":"windows","url":"http://eco.netvibes.com/subscribe/381146?platform=live"},{"title":"Opera","cls":"opera","url":"http://eco.netvibes.com/subscribe/381146?platform=opera"}];$.each(links,function(i,o){var li=$('<li/>').attr('class',o.cls);var a=$('<a/>').attr('href',o.url).text(o.title);li.append(a);$('#addwidgeticons').append(li);});}
msgHandler=function(message){var id=message.id;switch(message.action){case'resizeHeight':var frame=$('#frame_'+id);if(frame){frame.attr('height',message.value);}
break;case'setValue':var pref=message.name;var val=message.value;this.setValue(pref,val);break;default:console.log(message.action+': not implemented - '+message.name+':'+message.value);break;}};
