(function($){var methods={init:function(options){var form=this;if(form.data('jqv')===undefined||form.data('jqv')==null){methods._saveOptions(form,options);$(".formError").live("click",function(){$(this).fadeOut(150,function(){$(this).remove();});});}},attach:function(userOptions){var form=this;var options;if(userOptions)
options=methods._saveOptions(form,userOptions);else
options=form.data('jqv');if(!options.binded){if(options.bindMethod=="bind"){form.find("[class*=validate]:not([type=checkbox])").bind(options.validationEventTrigger,methods._onFieldEvent);form.find("[class*=validate][type=checkbox]").bind("click",methods._onFieldEvent);form.bind("submit",methods._onSubmitEvent);}else if(options.bindMethod=="live"){form.find("[class*=validate]:not([type=checkbox])").live(options.validationEventTrigger,methods._onFieldEvent);form.find("[class*=validate][type=checkbox]").live("click",methods._onFieldEvent);form.live("submit",methods._onSubmitEvent);}
options.binded=true;}},detach:function(){var form=this;var options=form.data('jqv');if(options.binded){form.find("[class*=validate]").not("[type=checkbox]").unbind(options.validationEventTrigger,methods._onFieldEvent);form.find("[class*=validate][type=checkbox]").unbind("click",methods._onFieldEvent);form.unbind("submit",methods.onAjaxFormComplete);form.find("[class*=validate]").not("[type=checkbox]").die(options.validationEventTrigger,methods._onFieldEvent);form.find("[class*=validate][type=checkbox]").die("click",methods._onFieldEvent);form.die("submit",methods.onAjaxFormComplete);form.removeData('jqv');}},validate:function(){return methods._validateFields(this);},validateField:function(el){var options=$(this).data('jqv');return methods._validateField($(el),options);},validateform:function(){return methods._onSubmitEvent(this);},showPrompt:function(promptText,type,promptPosition,showArrow){var form=this.closest('form');var options=form.data('jqv');if(!options)options=methods._saveOptions(this,options);if(promptPosition)
options.promptPosition=promptPosition;options.showArrow=showArrow===true;methods._showPrompt(this,promptText,type,false,options);},hidePrompt:function(){var promptClass="."+methods._getClassName($(this).attr("id"))+"formError"
$(promptClass).fadeTo("fast",0.3,function(){$(this).remove();});},hide:function(){if($(this).is("form")){var closingtag="parentForm"+$(this).attr('id');}else{var closingtag=$(this).attr('id')+"formError"}
$('.'+closingtag).fadeTo("fast",0.3,function(){$(this).remove();});},hideAll:function(){$('.formError').fadeTo("fast",0.3,function(){$(this).remove();});},_onFieldEvent:function(){var field=$(this);var form=field.closest('form');var options=form.data('jqv');methods._validateField(field,options);},_onSubmitEvent:function(){var form=$(this);var r=methods._validateFields(form,true);var options=form.data('jqv');if(r&&options.ajaxFormValidation){methods._validateFormWithAjax(form,options);return false;}
if(options.onValidationComplete){options.onValidationComplete(form,r);return false;}
return r;},_checkAjaxStatus:function(options){var status=true;$.each(options.ajaxValidCache,function(key,value){if(value===false){status=false;return false;}});return status;},_validateFields:function(form,skipAjaxFieldValidation){var options=form.data('jqv');var errorFound=false;form.find('[class*=validate]').not(':hidden').each(function(){var field=$(this);if(!field.hasClass("ajaxed"))
errorFound|=methods._validateField(field,options,skipAjaxFieldValidation);});errorFound|=!methods._checkAjaxStatus(options);if(errorFound){if(options.scroll){var destination=Number.MAX_VALUE;var lst=$(".formError:not('.greenPopup')");for(var i=0;i<lst.length;i++){var d=$(lst[i]).offset().top;if(d<destination)
destination=d;}
if(!options.isOverflown)
$("html:not(:animated),body:not(:animated)").animate({scrollTop:destination},1100);else{var overflowDIV=$(options.overflownDIV);var scrollContainerScroll=overflowDIV.scrollTop();var scrollContainerPos=-parseInt(overflowDIV.offset().top);destination+=scrollContainerScroll+scrollContainerPos-5;var scrollContainer=$(options.overflownDIV+":not(:animated)");scrollContainer.animate({scrollTop:destination},1100);}}
return false;}
return true;},_validateFormWithAjax:function(form,options){var data=form.serialize();$.ajax({type:"GET",url:form.attr("action"),cache:false,dataType:"json",data:data,form:form,methods:methods,options:options,beforeSend:function(){return options.onBeforeAjaxFormValidation(form,options);},error:function(data,transport){methods._ajaxError(data,transport);},success:function(json){if(json!==true){var errorInForm=false;for(var i=0;i<json.length;i++){var value=json[i];var errorFieldId=value[0];var errorField=$($("#"+errorFieldId)[0]);if(errorField.length==1){var msg=value[2];if(value[1]===true){if(msg=="")
methods._closePrompt(errorField);else{if(options.allrules[msg]){var txt=options.allrules[msg].alertTextOk;if(txt)
msg=txt;}
methods._showPrompt(errorField,msg,"pass",false,options);}}else{errorInForm|=true;if(options.allrules[msg]){var txt=options.allrules[msg].alertText;if(txt)
msg=txt;}
methods._showPrompt(errorField,msg,"",false,options);}}}
options.onAjaxFormComplete(!errorInForm,form,json,options);}else
options.onAjaxFormComplete(true,form,"",options);}});},_validateField:function(field,options,skipAjaxFieldValidation){if(!field.attr("id"))
$.error("jQueryValidate: an ID attribute is required for this field: "+field.attr("name")+" class:"+field.attr("class"));var rulesParsing=field.attr('class');var getRules=/validate\[(.*)\]/.exec(rulesParsing);if(getRules===null)
return false;var str=getRules[1];var rules=str.split(/\[|,|\]/);var isAjaxValidator=false;var fieldName=field.attr("name");var promptText="";var required=false;options.isError=false;options.showArrow=true;optional=false;for(var i=0;i<rules.length;i++){var errorMsg=undefined;switch(rules[i]){case"optional":optional=true;break;case"required":required=true;errorMsg=methods._required(field,rules,i,options);break;case"custom":errorMsg=methods._customRegex(field,rules,i,options);break;case"ajax":if(skipAjaxFieldValidation===false){methods._ajax(field,rules,i,options);isAjaxValidator=true;}
break;case"minSize":errorMsg=methods._minSize(field,rules,i,options);break;case"maxSize":errorMsg=methods._maxSize(field,rules,i,options);break;case"min":errorMsg=methods._min(field,rules,i,options);break;case"max":errorMsg=methods._max(field,rules,i,options);break;case"past":errorMsg=methods._past(field,rules,i,options);break;case"future":errorMsg=methods._future(field,rules,i,options);break;case"maxCheckbox":errorMsg=methods._maxCheckbox(field,rules,i,options);field=$($("input[name='"+fieldName+"']"));break;case"minCheckbox":errorMsg=methods._minCheckbox(field,rules,i,options);field=$($("input[name='"+fieldName+"']"));break;case"equals":errorMsg=methods._equals(field,rules,i,options);break;case"funcCall":errorMsg=methods._funcCall(field,rules,i,options);break;default:}
if(errorMsg!==undefined){promptText+=errorMsg+"<br/>";options.isError=true;}}
if(!required&&!optional){if(field.val()=="")options.isError=false;}
var fieldType=field.attr("type");if((fieldType=="radio"||fieldType=="checkbox")&&$("input[name='"+fieldName+"']").size()>1){field=$($("input[name='"+fieldName+"'][type!=hidden]:first"));options.showArrow=false;}
if(!isAjaxValidator){if(options.isError)
methods._showPrompt(field,promptText,"",false,options);else
methods._closePrompt(field);}
return options.isError;},_required:function(field,rules,i,options){switch(field.attr("type")){case"text":case"password":case"textarea":case"file":default:if(!field.val())
return options.allrules[rules[i]].alertText;break;case"radio":case"checkbox":var name=field.attr("name");if($("input[name='"+name+"']:checked").size()===0){if($("input[name='"+name+"']").size()===1)
return options.allrules[rules[i]].alertTextCheckboxe;else
return options.allrules[rules[i]].alertTextCheckboxMultiple;}
break;case"select-one":if(!field.val())
return options.allrules[rules[i]].alertText;break;case"select-multiple":if(!field.find("option:selected").val())
return options.allrules[rules[i]].alertText;break;}},_customRegex:function(field,rules,i,options){var customRule=rules[i+1];var rule=options.allrules[customRule];if(rule===undefined){alert("jqv:custom rule not found "+customRule);return;}
var ex=rule.regex;if(ex===undefined){alert("jqv:custom regex not found "+customRule);return;}
var pattern=new RegExp(ex);if(!pattern.test(field.attr('value')))
return options.allrules[customRule].alertText;},_funcCall:function(field,rules,i,options){var functionName=rules[i+1];var fn=window[functionName];if(typeof(fn)==='function')
return fn(field,rules,i,options);},_equals:function(field,rules,i,options){var equalsField=rules[i+1];if(field.attr('value')!=$("#"+equalsField).attr('value'))
return options.allrules.equals.alertText;},_maxSize:function(field,rules,i,options){var max=rules[i+1];var len=field.attr('value').length;if(len>max){var rule=options.allrules.maxSize;return rule.alertText+max+rule.alertText2;}},_minSize:function(field,rules,i,options){var min=rules[i+1];var len=field.attr('value').length;if(len<min){var rule=options.allrules.minSize;return rule.alertText+min+rule.alertText2;}},_min:function(field,rules,i,options){var min=parseFloat(rules[i+1]);var len=parseFloat(field.attr('value'));if(len<min){var rule=options.allrules.min;if(rule.alertText2)return rule.alertText+min+rule.alertText2;return rule.alertText+min;}},_max:function(field,rules,i,options){var max=parseFloat(rules[i+1]);var len=parseFloat(field.attr('value'));if(len>max){var rule=options.allrules.max;if(rule.alertText2)return rule.alertText+max+rule.alertText2;return rule.alertText+max;}},_past:function(field,rules,i,options){var p=rules[i+1];var pdate=(p.toLowerCase()=="now")?new Date():methods._parseDate(p);var vdate=methods._parseDate(field.attr('value'));if(vdate>pdate){var rule=options.allrules.past;if(rule.alertText2)return rule.alertText+methods._dateToString(pdate)+rule.alertText2;return rule.alertText+methods._dateToString(pdate);}},_future:function(field,rules,i,options){var p=rules[i+1];var pdate=(p.toLowerCase()=="now")?new Date():methods._parseDate(p);var vdate=methods._parseDate(field.attr('value'));if(vdate<pdate){var rule=options.allrules.future;if(rule.alertText2)return rule.alertText+methods._dateToString(pdate)+rule.alertText2;return rule.alertText+methods._dateToString(pdate);}},_maxCheckbox:function(field,rules,i,options){var nbCheck=rules[i+1];var groupname=field.attr("name");var groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize>nbCheck){options.showArrow=false;return options.allrules.maxCheckbox.alertText;}},_minCheckbox:function(field,rules,i,options){var nbCheck=rules[i+1];var groupname=field.attr("name");var groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize<nbCheck){options.showArrow=false;return options.allrules.minCheckbox.alertText+" "+nbCheck+" "+options.allrules.minCheckbox.alertText2;}},_ajax:function(field,rules,i,options){var errorSelector=rules[i+1];var rule=options.allrules[errorSelector];var extraData=rule.extraData;if(!extraData)
extraData="";if(!options.isError){$.ajax({type:"GET",url:rule.url,cache:false,dataType:"json",data:"fieldId="+field.attr("id")+"&fieldValue="+field.attr("value")+"&extraData="+extraData,field:field,rule:rule,methods:methods,options:options,beforeSend:function(){var loadingText=rule.alertTextLoad;if(loadingText)
methods._showPrompt(field,loadingText,"load",true,options);},error:function(data,transport){methods._ajaxError(data,transport);},success:function(json){var errorFieldId=json[0];var errorField=$($("#"+errorFieldId)[0]);if(errorField.length==1){var status=json[1];if(status===false){options.ajaxValidCache[errorFieldId]=false;options.isError=true;var promptText=rule.alertText;methods._showPrompt(errorField,promptText,"",true,options);}else{if(options.ajaxValidCache[errorFieldId]!==undefined)
options.ajaxValidCache[errorFieldId]=true;var alertTextOk=rule.alertTextOk;if(alertTextOk)
methods._showPrompt(errorField,alertTextOk,"pass",true,options);else
methods._closePrompt(errorField);}}}});}},_ajaxError:function(data,transport){if(data.status===0&&transport===null)
alert("The page is not served from a server! ajax call failed");else if(console)
console.log("Ajax error: "+data.status+" "+transport);},_dateToString:function(date){return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();},_parseDate:function(d){var dateParts=d.split("-");if(dateParts!==d)
dateParts=d.split("/");return new Date(dateParts[0],(dateParts[1]-1),dateParts[2]);},_showPrompt:function(field,promptText,type,ajaxed,options){var prompt=methods._getPrompt(field);if(prompt)
methods._updatePrompt(field,prompt,promptText,type,ajaxed,options);else
methods._buildPrompt(field,promptText,type,ajaxed,options);},_buildPrompt:function(field,promptText,type,ajaxed,options){var prompt=$('<div>');prompt.addClass(methods._getClassName(field.attr("id"))+"formError");if(field.is(":input"))prompt.addClass("parentForm"+methods._getClassName(field.parents('form').attr("id")));prompt.addClass("formError");switch(type){case"pass":prompt.addClass("greenPopup");break;case"load":prompt.addClass("blackPopup");}
if(ajaxed)
prompt.addClass("ajaxed");var promptContent=$('<div>').addClass("formErrorContent").html(promptText).appendTo(prompt);if(options.showArrow){var arrow=$('<div>').addClass("formErrorArrow");switch(options.promptPosition){case"bottomLeft":case"bottomRight":prompt.find(".formErrorContent").before(arrow);arrow.addClass("formErrorArrowBottom").html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>');break;case"topLeft":case"topRight":arrow.html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>');prompt.append(arrow);break;}}
if(options.isOverflown)
field.before(prompt);else
$("body").append(prompt);var pos=methods._calculatePosition(field,prompt,options);prompt.css({"top":pos.callerTopPosition,"left":pos.callerleftPosition,"marginTop":pos.marginTopSize,"opacity":0});return prompt.animate({"opacity":0.87});},_updatePrompt:function(field,prompt,promptText,type,ajaxed,options){if(prompt){if(type=="pass")
prompt.addClass("greenPopup");else
prompt.removeClass("greenPopup");if(type=="load")
prompt.addClass("blackPopup");else
prompt.removeClass("blackPopup");if(ajaxed)
prompt.addClass("ajaxed");else
prompt.removeClass("ajaxed");prompt.find(".formErrorContent").html(promptText);var pos=methods._calculatePosition(field,prompt,options);prompt.animate({"top":pos.callerTopPosition,"marginTop":pos.marginTopSize});}},_closePrompt:function(field){var prompt=methods._getPrompt(field);if(prompt)
prompt.fadeTo("fast",0,function(){prompt.remove();});},closePrompt:function(field){return methods._closePrompt(field);},_getPrompt:function(field){var className="."+methods._getClassName(field.attr("id"))+"formError";var match=$(className)[0];if(match)
return $(match);},_calculatePosition:function(field,promptElmt,options){var promptTopPosition,promptleftPosition,marginTopSize;var fieldWidth=field.width();var promptHeight=promptElmt.height();var overflow=options.isOverflown;if(overflow){promptTopPosition=promptleftPosition=0;marginTopSize=-promptHeight;}else{var offset=field.offset();promptTopPosition=offset.top;promptleftPosition=offset.left;marginTopSize=0;}
switch(options.promptPosition){default:case"topRight":if(overflow)
promptleftPosition+=fieldWidth-30;else{promptleftPosition+=fieldWidth-30;promptTopPosition+=-promptHeight;}
break;case"topLeft":promptTopPosition+=-promptHeight-10;break;case"centerRight":promptleftPosition+=fieldWidth+13;break;case"bottomLeft":promptTopPosition=promptTopPosition+field.height()+15;break;case"bottomRight":promptleftPosition+=fieldWidth-30;promptTopPosition+=field.height()+5;}
return{"callerTopPosition":promptTopPosition+"px","callerleftPosition":promptleftPosition+"px","marginTopSize":marginTopSize+"px"};},_saveOptions:function(form,options){if($.validationEngineLanguage)
var allRules=$.validationEngineLanguage.allRules;else
$.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page");var userOptions=$.extend({validationEventTrigger:"blur",scroll:true,promptPosition:"topRight",bindMethod:"bind",ajaxFormValidation:false,onAjaxFormComplete:$.noop,onBeforeAjaxFormValidation:$.noop,onValidationComplete:false,isOverflown:false,overflownDIV:"",allrules:allRules,binded:false,showArrow:true,isError:false,ajaxValidCache:{}},options);form.data('jqv',userOptions);return userOptions;},_getClassName:function(className){return className.replace(":","_").replace(".","_");}};$.fn.validationEngine=function(method){var form=$(this);if(!form[0])return false;if(typeof(method)==='string'&&method.charAt(0)!='_'&&methods[method]){if(method!="showPrompt"&&method!="hidePrompt"&&method!="hide"&&method!="hideAll")
methods.init.apply(form);return methods[method].apply(form,Array.prototype.slice.call(arguments,1));}else if(typeof method==='object'||!method){methods.init.apply(form,arguments);return methods.attach.apply(form);}else{$.error('Method '+method+' does not exist in jQuery.validationEngine');}};})(jQuery);(function($){$.fn.validationEngineLanguage=function(){};$.validationEngineLanguage={newLang:function(){$.validationEngineLanguage.allRules={"required":{"regex":"geen","alertText":"* Dit veld is verplicht","alertTextCheckboxMultiple":"* Selecteer a.u.b. een optie","alertTextCheckboxe":"* Dit selectievakje is verplicht"},"minSize":{"regex":"none","alertText":"* Minimaal ","alertText2":" karakters toegestaan"},"maxSize":{"regex":"none","alertText":"* Maximaal ","alertText2":" karakters toegestaan"},"min":{"regex":"none","alertText":"* Minimale waarde is "},"max":{"regex":"none","alertText":"* Maximale waarde is "},"past":{"regex":"none","alertText":"* Datum voorafgaand aan "},"future":{"regex":"none","alertText":"* Datum na "},"maxCheckbox":{"regex":"none","alertText":"* Toegestane aantal vinkjes overschreden"},"minCheckbox":{"regex":"none","alertText":"* Selecteer a.u.b. ","alertText2":" opties"},"equals":{"regex":"none","alertText":"* Velden komen niet overeen"},"phone":{"regex":/^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,"alertText":"* Ongeldig telefoonnummer"},"email":{"regex":/^([A-Za-z0-9_\-\.\'])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/,"alertText":"* Ongeldig e-mailadres"},"integer":{"regex":/^[\-\+]?\d+$/,"alertText":"* Ongeldig geheel getal"},"number":{"regex":/^[\-\+]?(([0-9]+)([\.,]([0-9]+))?|([\.,]([0-9]+))?)$/,"alertText":"* Ongeldig drijvende comma getal"},"date":{"regex":/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,"alertText":"* Ongeldige datum, formaat moet JJJJ-MM-DD zijn"},"ipv4":{"regex":/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,"alertText":"* Ongeldig IP-adres"},"url":{"regex":/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,"alertText":"* Ongeldige URL"},"onlyNumberSp":{"regex":/^[0-9\ ]+$/,"alertText":"* Alleen cijfers"},"onlyLetterSp":{"regex":/^[a-zA-Z\ \']+$/,"alertText":"* Alleen leestekens"},"onlyLetterNumber":{"regex":/^[0-9a-zA-Z]+$/,"alertText":"* Geen vreemde tekens toegestaan"},"ajaxUserCall":{"url":"ajaxValidateFieldUser","extraData":"name=eric","alertText":"* Deze gebruiker bestaat al","alertTextLoad":"* Bezig met valideren, even geduld aub"},"ajaxNameCall":{"url":"ajaxValidateFieldName","alertText":"* Deze naam bestaat al","alertTextOk":"* Deze naam is beschikbaar","alertTextLoad":"* Bezig met valideren, even geduld aub"},"validate2fields":{"alertText":"* Voer aub HELLO in"}};}};$.validationEngineLanguage.newLang();})(jQuery);(function($){if(!$.fn.reverse){$.fn.reverse=function(){return this.pushStack(this.get().reverse(),arguments);};}
$.fn.liveTwitter=function(query,options,callback){var domNode=this;$(this).each(function(){var settings={};if(this.twitter){settings=$.extend(this.twitter.settings,options);this.twitter.settings=settings;if(query){this.twitter.query=query;}
if(this.twitter.interval){this.twitter.refresh();}
if(callback){this.twitter.callback=callback;}}else{settings=$.extend({mode:'search',rate:15000,limit:10,imageSize:50,refresh:true,timeLinks:true,retweets:false,service:false},options);if(typeof settings.showAuthor==="undefined"){settings.showAuthor=(settings.mode==='user_timeline')?false:true;}
if(!window.twitter_callback){window.twitter_callback=function(){return true;};}
this.twitter={settings:settings,query:query,interval:false,container:this,lastTimeStamp:0,callback:callback,relativeTime:function(timeString){var parsedDate=Date.parse(timeString);var delta=(Date.parse(Date())-parsedDate)/1000;var r='';if(delta<60){r=delta+' seconds ago';}else if(delta<120){r='a minute ago';}else if(delta<(45*60)){r=(parseInt(delta/60,10)).toString()+' minutes ago';}else if(delta<(90*60)){r='an hour ago';}else if(delta<(24*60*60)){r=''+(parseInt(delta/3600,10)).toString()+' hours ago';}else if(delta<(48*60*60)){r='a day ago';}else{r=(parseInt(delta/86400,10)).toString()+' days ago';}
return r;},updateTimestamps:function(){var twitter=this;$(twitter.container).find('span.time').each(function(){var time_element=twitter.settings.timeLinks?$(this).find('a'):$(this);time_element.html(twitter.relativeTime(this.timeStamp));});},apiURL:function(){var params={};var protocol=(window.location.protocol==='https:')?'https:':'http:';var baseURL='api.twitter.com/1/';var endpoint='';if(this.settings.service){baseURL=this.settings.service+'/api/';}
if(this.settings.mode==='search'){baseURL=(this.settings.service)?this.settings.service+'/api/':'search.twitter.com/';endpoint='search';params={q:(this.query&&this.query!=='')?this.query:null,geocode:this.settings.geocode,lang:this.settings.lang,rpp:(this.settings.rpp)?this.settings.rpp:this.settings.limit};}else if(this.settings.mode==='user_timeline'||this.settings.mode==='home_timeline'){endpoint='statuses/'+this.settings.mode+'/'+encodeURIComponent(this.query);params={count:this.settings.limit,include_rts:(this.settings.mode==='user_timeline'&&this.settings.retweets)?'1':null};}else if(this.settings.mode==='list'){endpoint=encodeURIComponent(this.query.user)+'/lists/'+encodeURIComponent(this.query.list)+'/statuses';params={per_page:this.settings.limit};}
var queryString=[];for(var param in params){if(params.hasOwnProperty(param)&&typeof params[param]!=='undefined'&&params[param]!==null){queryString[queryString.length]=param+'='+encodeURIComponent(params[param]);}}
queryString=queryString.join("&");return protocol+'//'+baseURL+endpoint+'.json?'+queryString+'&callback=?';},parseTweet:function(json){var tweet={id:(json.id_str)?json.id_str:json.id,text:json.text,created_at:json.created_at};if(this.settings.mode==='search'){tweet=$.extend(tweet,{screen_name:json.from_user,profile_image_url:json.profile_image_url});}else{tweet=$.extend(tweet,{screen_name:json.user.screen_name,profile_image_url:json.user.profile_image_url,created_at:json.created_at.replace(/^(\w+)\s(\w+)\s(\d+)(.*)(\s\d+)$/,"$1, $3 $2$5$4")});}
if(this.settings.service){tweet=$.extend(tweet,{url:'http://'+this.settings.service+'/notice/'+tweet.id,profile_url:'http://'+settings.service+'/'+tweet.screen_name});if(window.location.protocol==='https:'){tweet.profile_image_url=tweet.profile_image_url.replace('http:','https:');}}else{tweet=$.extend(tweet,{url:'http://twitter.com/#!/'+tweet.screen_name+'/status/'+tweet.id,profile_url:'http://twitter.com/#!/'+tweet.screen_name});if(window.location.protocol==='https:'){var matches=tweet.profile_image_url.match(/http[s]?:\/\/a[0-9]\.twimg\.com\/(\w+)\/(\w+)\/(.*?)\.(\w+)/i);if(matches){tweet.profile_image_url="https://s3.amazonaws.com/twitter_production/"+matches[1]+"/"+matches[2]+"/"+matches[3]+"."+matches[4];}else{tweet.profile_image_url=tweet.profile_image_url.replace('http:','https:');}}}
return tweet;},parseText:function(text){text=text.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/,function(m){return m.link(m);});if(!this.settings.service){text=text.replace(/@[A-Za-z0-9_]+/g,function(u){return u.link('http://twitter.com/#!/'+u.replace(/^@/,''));});text=text.replace(/#[A-Za-z0-9_\-]+/g,function(u){return u.link('http://twitter.com/#!/search/'+u.replace(/^#/,'%23'));});}else{text=text.replace(/@[A-Za-z0-9_]+/g,function(u){return u.link('http://'+settings.service+'/'+u.replace(/^@/,''));});text=text.replace(/#[A-Za-z0-9_\-]+/g,function(u){return u.link('http://'+settings.service+'/search/notice?q='+u.replace(/^#/,'%23'));});}
return text;},renderTweet:function(tweet){var html='<div class="tweet tweet-'+tweet.id+'">';if(this.settings.showAuthor){html+='<table width="200px"><tr><td width="'+this.settings.imageSize+'" ><a target="_blank" href="'+tweet.profile_url+'"><img width="'+this.settings.imageSize+'" height="'+this.settings.imageSize+'" src="'+tweet.profile_image_url+'" /></a></td>';html+='<td><a class="username" target="_blank" href="'+tweet.profile_url+'">'+tweet.screen_name+'</a></td></tr><tr><td colspan="2"><p class="text">';}else{html+='<tr><td colspan="2"><p class="text"> ';}
html+=this.parseText(tweet.text);if(this.settings.timeLinks){html+=' <span class="time">';html+='<a target="_blank" href="'+tweet.url+'">';html+=this.relativeTime(tweet.created_at);html+='</a></span>';}else{html+=' <span class="time">'+this.relativeTime(tweet.created_at)+'</span>';}
html+='</p></td></tr></table></div>';return html;},refresh:function(initialize){var twitter=this;if(twitter.settings.refresh||initialize){$.getJSON(twitter.apiURL(),function(json){var newTweets=0;var results=(twitter.settings.mode==='search')?json.results:json;$(results).reverse().each(function(){var tweet=twitter.parseTweet(this);if(!twitter.settings.filter||twitter.settings.filter(this)){if(Date.parse(tweet.created_at)>twitter.lastTimeStamp){$(twitter.container).prepend(twitter.renderTweet(tweet));$(twitter.container).find('span.time:first').each(function(){this.timeStamp=tweet.created_at;});if(!initialize){$(twitter.container).find('.tweet-'+tweet.id).hide().fadeIn();}
twitter.lastTimeStamp=Date.parse(tweet.created_at);newTweets+=1;}}});if(newTweets>0){$(twitter.container).find('div.tweet:gt('+(twitter.settings.limit-1)+')').remove();if(twitter.callback){twitter.callback(domNode,newTweets);}
$(domNode).trigger('tweets');}});}},start:function(){var twitter=this;if(!this.interval){this.interval=setInterval(function(){twitter.refresh();},twitter.settings.rate);this.refresh(true);}},stop:function(){if(this.interval){clearInterval(this.interval);this.interval=false;}},clear:function(){$(this.container).find('div.tweet').remove();this.lastTimeStamp=null;}};var twitter=this.twitter;this.timeInterval=setInterval(function(){twitter.updateTimestamps();},5000);this.twitter.start();}});return this;};})(jQuery);



(function($){var types=['DOMMouseScroll','mousewheel'];$.event.special.mousewheel={setup:function(){if(this.addEventListener)
	for(var i=types.length;i;)
	this.addEventListener(types[--i],handler,false);else
	this.onmousewheel=handler;},teardown:function(){if(this.removeEventListener)
	for(var i=types.length;i;)
	this.removeEventListener(types[--i],handler,false);else
	this.onmousewheel=null;}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});function handler(event){var args=[].slice.call(arguments,1),delta=0,returnValue=true;event=$.event.fix(event||window.event);event.type="mousewheel";if(event.wheelDelta)delta=event.wheelDelta/120;if(event.detail)delta=-event.detail/3;args.unshift(event,delta);return $.event.handle.apply(this,args);}})(jQuery);(function($){$.fn.lofJSidernews=function(settings){return this.each(function(){new $.lofSidernews(this,settings);});}
	$.lofSidernews=function(obj,settings){this.settings={direction:'',mainItemSelector:'li',navInnerSelector:'ul',navSelector:'li',navigatorEvent:'click',wapperSelector:'.lof-main-wapper',interval:4000,auto:true,maxItemDisplay:3,startItem:0,navPosition:'vertical',navigatorHeight:78,navigatorWidth:293,duration:600,navItemsSelector:'.lof-navigator li',navOuterSelector:'.lof-navigator-outer',isPreloaded:true,easing:'easeInOutQuad'}
	$.extend(this.settings,settings||{});this.nextNo=null;this.previousNo=null;this.maxWidth=this.settings.mainWidth||600;this.wrapper=$(obj).find(this.settings.wapperSelector);this.slides=this.wrapper.find(this.settings.mainItemSelector);if(!this.wrapper.length||!this.slides.length)return;if(this.settings.maxItemDisplay>this.slides.length){this.settings.maxItemDisplay=this.slides.length;}
	this.currentNo=isNaN(this.settings.startItem)||this.settings.startItem>this.slides.length?0:this.settings.startItem;this.navigatorOuter=$(obj).find(this.settings.navOuterSelector);this.navigatorItems=$(obj).find(this.settings.navItemsSelector);this.navigatorInner=this.navigatorOuter.find(this.settings.navInnerSelector);if(this.settings.navPosition=='horizontal'){this.navigatorInner.width(this.slides.length*this.settings.navigatorWidth);this.navigatorOuter.width(this.settings.maxItemDisplay*this.settings.navigatorWidth);this.navigatorOuter.height(this.settings.navigatorHeight);}else{this.navigatorInner.height(this.slides.length*this.settings.navigatorHeight);this.navigatorOuter.height(this.settings.maxItemDisplay*this.settings.navigatorHeight);this.navigatorOuter.width(this.settings.navigatorWidth);}
	this.navigratorStep=this.__getPositionMode(this.settings.navPosition);this.directionMode=this.__getDirectionMode();if(this.settings.direction=='opacity'){this.wrapper.addClass('lof-opacity');$(this.slides).css('opacity',0).eq(this.currentNo).css('opacity',1);this.caption=$(obj).find('.lof-main-item-desc');$(obj).find('.lof-main-item-desc').hide().eq(0).show();}else{this.wrapper.css({'left':'-'+this.currentNo*this.maxSize+'px','width':(this.maxWidth)*this.slides.length});}
	if(this.settings.isPreloaded){this.preLoadImage(this.onComplete);}else{this.onComplete();}}
	$.lofSidernews.fn=$.lofSidernews.prototype;$.lofSidernews.fn.extend=$.lofSidernews.extend=$.extend;$.lofSidernews.fn.extend({startUp:function(obj,wrapper){seft=this;this.navigatorItems.each(function(index,item){$(item).click(function(){seft.jumping(index,true);seft.setNavActive(index,item);});$(item).css({'height':seft.settings.navigatorHeight,'width':seft.settings.navigatorWidth});})
	this.registerWheelHandler(this.navigatorOuter,this);this.setNavActive(this.currentNo);if(this.settings.buttons&&typeof(this.settings.buttons)=="object"){this.registerButtonsControl('click',this.settings.buttons,this);}
	if(this.settings.auto)
	this.play(this.settings.interval,'next',true);return this;},onComplete:function(){setTimeout(function(){$('.preload').fadeOut(900);},400);this.startUp();},preLoadImage:function(callback){var self=this;var images=this.wrapper.find('img');var count=0;images.each(function(index,image){if(!image.complete){image.onload=function(){count++;if(count>=images.length){self.onComplete();}}
	image.onerror=function(){count++;if(count>=images.length){self.onComplete();}}}else{count++;if(count>=images.length){self.onComplete();}}});},navivationAnimate:function(currentIndex){if(currentIndex<=this.settings.startItem||currentIndex-this.settings.startItem>=this.settings.maxItemDisplay-1){this.settings.startItem=currentIndex-this.settings.maxItemDisplay+2;if(this.settings.startItem<0)this.settings.startItem=0;if(this.settings.startItem>this.slides.length-this.settings.maxItemDisplay){this.settings.startItem=this.slides.length-this.settings.maxItemDisplay;}}
	this.navigatorInner.stop().animate(eval('({'+this.navigratorStep[0]+':-'+this.settings.startItem*this.navigratorStep[1]+'})'),{duration:500,easing:'easeInOutQuad'});},setNavActive:function(index,item){if((this.navigatorItems)){this.navigatorItems.removeClass('active');$(this.navigatorItems.get(index)).addClass('active');this.navivationAnimate(this.currentNo);}},__getPositionMode:function(position){if(position=='horizontal'){return['left',this.settings.navigatorWidth];}
	return['top',this.settings.navigatorHeight];},__getDirectionMode:function(){switch(this.settings.direction){case'opacity':this.maxSize=0;return['opacity','opacity'];default:this.maxSize=this.maxWidth;return['left','width'];}},registerWheelHandler:function(element,obj){element.bind('mousewheel',function(event,delta){var dir=delta>0?'Up':'Down',vel=Math.abs(delta);if(delta>0){obj.previous(true);}else{obj.next(true);}
	return false;});},registerButtonsControl:function(eventHandler,objects,self){for(var action in objects){switch(action.toString()){case'next':objects[action].click(function(){self.next(true)});break;case'previous':objects[action].click(function(){self.previous(true)});break;}}
	return this;},onProcessing:function(manual,start,end){this.previousNo=this.currentNo+(this.currentNo>0?-1:this.slides.length-1);this.nextNo=this.currentNo+(this.currentNo<this.slides.length-1?1:1-this.slides.length);return this;},finishFx:function(manual){if(manual)this.stop();if(manual&&this.settings.auto){this.play(this.settings.interval,'next',true);}
	this.setNavActive(this.currentNo);},getObjectDirection:function(start,end){return eval("({'"+this.directionMode[0]+"':-"+(this.currentNo*start)+"})");},fxStart:function(index,obj,currentObj){if(this.settings.direction=='opacity'){$(this.slides).stop().animate({opacity:0},{duration:this.settings.duration,easing:this.settings.easing});$(this.slides).eq(index).stop().animate({opacity:1},this.settings.duration,this.settings.easing,function(){$(currentObj.caption.slideUp().eq(index)).slideDown();});}else{this.wrapper.stop().animate(obj,{duration:this.settings.duration,easing:this.settings.easing});}
	return this;},jumping:function(no,manual){this.stop();if(this.currentNo==no)return;var obj=eval("({'"+this.directionMode[0]+"':-"+(this.maxSize*no)+"})");this.onProcessing(null,manual,0,this.maxSize).fxStart(no,obj,this).finishFx(manual);this.currentNo=no;},next:function(manual,item){this.currentNo+=(this.currentNo<this.slides.length-1)?1:(1-this.slides.length);this.onProcessing(item,manual,0,this.maxSize).fxStart(this.currentNo,this.getObjectDirection(this.maxSize),this).finishFx(manual);},previous:function(manual,item){this.currentNo+=this.currentNo>0?-1:this.slides.length-1;this.onProcessing(item,manual).fxStart(this.currentNo,this.getObjectDirection(this.maxSize),this).finishFx(manual);},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false);}
	var self=this;this.isRun=setTimeout(function(){self[direction](true);},delay);},stop:function(){if(this.isRun==null)return;clearTimeout(this.isRun);this.isRun=null;}})})(jQuery)
