
if(jQuery)
{$.extend({innovadex:{tracking:{init:function(tracker,tracking_code)
{var tracker=getTrackingObject();tracker.push(['_setAccount',tracking_code]);},trackPage:function(url)
{var tracker=getTrackingObject();if(!tracker===false)
{if(typeof url=='undefined'||url==null)
tracker.push(['_trackPageview']);else
tracker.push(['_trackPageview',url]);}},trackEvent:function(category,action,label,numericalValue)
{var tracker=getTrackingObject();if(typeof label=='undefined')
label=null;if(typeof numericalValue=='undefined')
numericalValue=null;tracker.push(['_trackEvent',category,action,label,numericalValue]);},addCustomVariable:function(index,name,value,scope)
{var tracker=getTrackingObject();tracker.push(['_setCustomVar',index,name,value,scope]);}},createAndSubmitForm:function(url,data)
{$form=$(document.createElement("form")).attr('action',url).attr('method','post');$("body").append($form);if(typeof data!='undefined'&&data!=null)
{$.each(data,function(key,value)
{$input=$(document.createElement("input")).attr('type','hidden').attr('name',key).attr('value',value);$form.append($input);});}
$form.submit();},addQuerystringParam:function(url,param,value,replaceValueIfParamExists)
{if(url.charAt(url.length-1)=="#")
url=url.substr(0,url.length-1);if(url.indexOf("?")==-1)
url=url+"?"+param+"="+value;else
{var paramIndex=url.indexOf(param+"=");if(paramIndex==-1)
url=url+"&"+param+"="+value;else
{if(replaceValueIfParamExists)
{var valBeginIndex=url.indexOf("=",paramIndex+1)+1;var valEndIndex=url.indexOf("&",paramIndex+1);if(valEndIndex==-1)
url=url.substr(0,valBeginIndex)+value;else
url=url.substr(0,valBeginIndex)+value+url.substr(valEndIndex);}
else
{var sepIndex=url.indexOf("&",paramIndex+1);if(sepIndex==-1)
url=url+"|"+value;else
url=url.substr(0,sepIndex)+"|"+value+url.substr(sepIndex);}}}
return url;},removeQuerystringParam:function(url,param)
{var paramIndex=url.indexOf(param+"=");if(paramIndex!=-1)
{var valEndIndex=url.indexOf("&",paramIndex+1);if(valEndIndex==-1)
url=url.substr(0,paramIndex);else
url=url.substr(0,paramIndex)+url.substr(valEndIndex+1);}
if(url.length>0)
{var lastChar=url.substr(url.length-1);if(lastChar=='&'||lastChar=='?')
url=url.substr(0,url.length-1);}
return url;},redirectToUrl:function(url)
{window.location=url;},supportsLocalStorage:function()
{return('localStorage'in window)&&window['localStorage']!==null;},saveLocal:function(key,val)
{if(this.supportsLocalStorage())
localStorage[key]=val.toString();},retrieveLocal:function(key)
{if(this.supportsLocalStorage())
return localStorage[key];else
return null;},setTableBodyText:function($table,text)
{var cols=$table.find("th");$table.find("tbody").html('<tr><td colspan="'+cols.length+'">'+text+'</td></tr>');},canPlayType:function(type)
{var $audio=document.createElement('audio');if(typeof $audio.canPlayType=='undefined'||$audio.canPlayType==null)
return false;try
{return $audio.canPlayType(type);}
catch(ex)
{return false;}},defaultAutoCompleteSource:function(url,request,response,control)
{$.ajax({url:url,data:"term="+request.term,type:'GET',dataType:'json',success:function(data)
{response(data);},error:function(xhr,status,error)
{$(control).removeClass("ui-autocomplete-loading").val("Error retrieving list...");}});},crossSiteAutoCompleteSource:function(url,request,response,control)
{var success=function(data){response(data)};var error=function(){$(control).removeClass("ui-autocomplete-loading").val("Error retrieving list...");};if($.browser.msie&&parseInt($.browser.version,10)>=8&&window.XDomainRequest)
{var msUrl=this.addQuerystringParam(url,"term",request.term,true);var xdr=new XDomainRequest();xdr.open("get",msUrl);xdr.onload=function()
{var data=JSON.parse(xdr.responseText);success(data)};xdr.onerror=error;xdr.send();}
else
{$.ajax({url:url,data:"term="+request.term,type:'GET',dataType:'json',success:success,error:error});}},defaultAutoCompleteSearch:function(event,ui)
{var val=$(this).val();if(isNaN(val)&&val.length<3)
return false;else
return true;},isTextOnlyElementWrapping:function($element)
{return $element.get()[0].getClientRects().length>1;},shortenTextToPreventWrap:function($element)
{var cssDisplay=$element.css('display');if(cssDisplay!=null&&cssDisplay!='inline')
$element.css('display','inline');while($.innovadex.isTextOnlyElementWrapping($element))
{var text=$element.html();var lastSpace=text.lastIndexOf(' ');if(lastSpace==-1)
break;$element.html(text.substring(0,lastSpace)+"...");}
if(cssDisplay!=null)
$element.css('display',cssDisplay);},ajaxifyForm:function($form)
{$form.trigger("ajax:begin")
$.ajax({type:"POST",url:$form.attr("action"),dataType:"json",data:$form.serialize(),success:function(data,status,xhr)
{$form.trigger('ajax:success',[data,status,xhr]);},error:function(xhr,status,error)
{$form.trigger("ajax:failure",[xhr,status,error]);},complete:function(xhr)
{$form.trigger("ajax:complete",xhr);}});},inspect:function(item)
{if(typeof(item)=='object')
{var string="{ ";for(prop in item)
{string+=prop+' : '+item[prop]+", ";}
string+=" }";return string;}
else
return item;},scrollbarWidth:function(width)
{var parent,child;if(width===undefined)
{parent=$('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body');child=parent.children();width=child.innerWidth()-child.height(99).innerWidth();parent.remove();}
return width;},pageScroll:function()
{var docHeight=$(document).height(),scroll=$(window).height()+$(window).scrollTop();if($('body').height()<docHeight)
scroll=docHeight;return!(docHeight==scroll);},countdown:function($obj,r_id,limit,err_msg)
{$obj.each(function(){var $th=$(this),related_b=r_id==undefined||r_id==null?$th.data('related'):r_id,cntdwn_l=limit==undefined||limit==null?$th.data('limit'):limit,msg=err_msg==undefined||err_msg==null?$th.data('message'):err_msg,$related=$('#'+related_b.replace(/^#/,'')),_docheck=function()
{var l=$th.val().length,scrollT=$th.scrollTop();$related.html(cntdwn_l-l);if(cntdwn_l-l<10)
{$related.addClass('redtext');}
else if($related.hasClass('redtext'))
{$related.removeClass('redtext');}
if(cntdwn_l-l>0&&$th.hasClass('input-validation-error'))
{$th.removeClass('input-validation-error').next('.inserted-error').remove();}
if(cntdwn_l-l<0)
{$th.val($th.val().substring(0,cntdwn_l)).scrollTop(scrollT).addClass('input-validation-error');if($th.next('.inserted-error').length==0)
{$th.after('<span class="inserted-error">'+msg+'</span>');}
$related.html('0');}};_docheck();$th.bind('keyup',function(){_docheck();}).bind('paste',function(){_docheck();});});}}});$.fn.toggleSliderSwitch=function(isTurnedOn)
{var $this=this;$this.css({'display':'inline-block','position':'relative','border':'solid 1px #666','border-radius':'0.8em','-webkit-border-radius':'0.8em','-moz-border-radius':'0.8em','font-weight':'normal','cursor':'pointer','text-decoration':'none'});var cssHeight=$this.css('height');if(typeof cssHeight=='undefined'||cssHeight==null||cssHeight==0||cssHeight=='0px')
$this.css('height','22px');var cssWidth=$this.css('width');if(typeof cssWidth=='undefined'||cssWidth==null||cssWidth==0||cssWidth=='0px')
$this.css('width','67px');if(typeof isTurnedOn=='undefined'||isTurnedOn==null)
initialState=false;var height=$this.height();var $toggle=$(document.createElement('span')).css({'position':'absolute','top':'0','border':'solid 1px #999','border-radius':'0.8em','-webkit-border-radius':'0.8em','-moz-border-radius':'0.8em','background-color':'#CCC','width':(height-1)+'px','height':(height-1)+'px'});var $onText=$(document.createElement('span')).css({'position':'absolute','color':'#fff','display':'none','left':'9px','top':'3px','font-size':'10pt','font-weight':'bold'}).html('ON');var $offText=$(document.createElement('span')).css({'position':'absolute','color':'#858585','display':'none','right':'9px','top':'3px','font-size':'10pt','font-weight':'bold'}).html('OFF');$this.append($toggle);$this.append($onText);$this.append($offText);var offBgColor="#eee";var onBgColor="#6699cc";$this.prop('isOn',isTurnedOn);if(isTurnedOn)
{$this.css('background-color',onBgColor);$this.addClass('on');$toggle.css({'left':'auto','right':'0'});$onText.show();}
else
{$this.css('background-color',offBgColor);$this.addClass('off');$offText.show();}
var eventName=('ontouchstart'in document.documentElement)?"touchstart":"mousedown";$this.bind(eventName,function(evt)
{evt.preventDefault();if($this.prop('isOn'))
{$this.prop('isOn',false);$onText.hide();$offText.show();$toggle.css({'left':'0','right':'auto'});$this.css('background-color',offBgColor);$this.removeClass('on');$this.addClass('off');$this.trigger('turnedOff');}
else
{$this.prop('isOn',true);$offText.hide();$onText.show();$toggle.css({'left':'auto','right':'0'});$this.css('background-color',onBgColor);$this.removeClass('off');$this.addClass('on');$this.trigger('turnedOn');}});};}
String.prototype.startsWith=function(str)
{return(this.match("^"+str)==str);}
