(function($){$.fn.grabEvents=function(options){var defaults={xml_path:"/xml/default.asp",maxEvents:10,uniqueListID:"",charTitle:999,charBrief:9999,charLong:9999,noMailTo:0,callback:null};var options=$.extend(defaults,options);return this.each(function(){var obj=$(this),groupid=obj.attr("eid"),events=new Array();if(groupid.length>0){$.ajax({type:"GET",url:options.xml_path+"?sid="+JavaScriptSchoolID+"&type=events&useCDATA=false&id="+groupid,dataType:"xml",success:function(xml){var ecount=0;$(xml).find('item').each(function(){events[ecount++]={eventsID:$(this).find("title").attr("eventID"),title:$(this).find("title").text(),url:$(this).find("url").text(),brief:$(this).find("brief").text(),longDesc:$(this).find("full").text(),startdate:$(this).find("startdate").text(),enddate:$(this).find("enddate").text(),location:$(this).find("location").text(),mailTO:$(this).find("emailSignup").text(),mailTOdisplay:$(this).find("emailDisplay").text()}})},error:function(request,tStatus,eThrown){if(window.console&&window.console.firebug){console.log("grabEvents plugin error: request='"+request+"', tStatus='"+tStatus+"', eThrown='"+eThrown+"'")}},complete:function(){if(events.length>0){$AllEvents=$("<ul></ul>").attr("id",options.uniqueListID+"events"+groupid).addClass("eventsReturn");for(var i=0;i<events.length&&i<options.maxEvents;i++){$eventsItem=$("<li></li>").attr("id","event"+events[i].eventsID).addClass("eventsItem").addClass("eventNum_"+(i+1));$("<div></div>").html(events[i].startdate).addClass("startdate").appendTo($eventsItem);$("<div></div>").html(events[i].enddate).addClass("enddate").appendTo($eventsItem);$("<div></div>").html(events[i].title).fSplit({maxChar:options.charTitle}).addClass("titleNoLink").appendTo($eventsItem);$("<a></a>").attr("href",events[i].url).html(events[i].title).fSplit({maxChar:options.charTitle}).addClass("titleLink").appendTo($eventsItem);$("<p></p>").addClass("eventsBrief").html(events[i].brief).fSplit({maxChar:options.charBrief}).appendTo($eventsItem);$("<p></p>").addClass("eventsLong").html(events[i].longDesc).fSplit({maxChar:options.charLong}).appendTo($eventsItem);$("<p></p>").addClass("location").html(events[i].location).appendTo($eventsItem);if(options.noMailTo==0){$("<a></a>").attr("href","mailto:"+events[i].mailTO).html(events[i].mailTOdisplay).addClass("mailTO").appendTo($eventsItem)}$("<div></div>").css("clear","both").appendTo($eventsItem);$eventsItem.appendTo($AllEvents)}obj.html($AllEvents)}else{if(window.console&&window.console.firebug){console.log("grabEvents plugin error: events array empty")}}if($.isFunction(options.callback)){options.callback(options.uniqueListID+"headlines"+groupid)}}})}else{if(window.console&&window.console.firebug){console.log("grabEvents plugin error: no or bad group id passed")}}})}})(jQuery);(function($){$.fn.fSplit=function(options){var defaults={maxChar:999999},options=$.extend(defaults,options);return this.each(function(){var strDummy=this.innerHTML,strOut="",strArray=strDummy.split(" ");if(strDummy.length>options.maxChar){for(var i=0;i<strArray.length;i++){if((strOut.length+strArray[i].length+1)<options.maxChar){if(i==0){strOut=strArray[0]}else{strOut=strOut+" "+strArray[i]}}else{strOut=strOut+"...";i=9999999}}}else{strOut=strDummy}$(this).html(strOut)})}})(jQuery);
