// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || []; // store logs to an array for reference
  log.history.push(arguments);
  if(this.console) {
      arguments.callee = arguments.callee.caller;
      console.log( Array.prototype.slice.call(arguments) );
  }
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});
 
/*
 * CrossSlide jQuery plugin v0.6.2
 *
 * Copyright 2007-2010 by Tobia Conforto <tobia.conforto@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 51
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 */
(function(){var d=jQuery,a=(d.fn.startAnimation?"startAnimation":"animate"),c="pause plugin missing.";function e(h){for(var g=1;g<arguments.length;g++){h=h.replace(new RegExp("\\{"+(g-1)+"}","g"),arguments[g])}return h}function f(){arguments[0]="CrossSlide: "+arguments[0];throw new Error(e.apply(null,arguments))}function b(i){var g=1;var h=i.replace(/^\s*|\s*$/g,"").split(/\s+/);if(h.length>3){throw new Error()}if(h[0]=="center"){if(h.length==1){h=["center","center"]}else{if(h.length==2&&h[1].match(/^[\d.]+x$/i)){h=["center","center",h[1]]}}}if(h.length==3){g=parseFloat(h[2].match(/^([\d.]+)x$/i)[1])}var j=h[0]+" "+h[1];if(j=="left top"||j=="top left"){return{xrel:0,yrel:0,zoom:g}}if(j=="left center"||j=="center left"){return{xrel:0,yrel:0.5,zoom:g}}if(j=="left bottom"||j=="bottom left"){return{xrel:0,yrel:1,zoom:g}}if(j=="center top"||j=="top center"){return{xrel:0.5,yrel:0,zoom:g}}if(j=="center center"){return{xrel:0.5,yrel:0.5,zoom:g}}if(j=="center bottom"||j=="bottom center"){return{xrel:0.5,yrel:1,zoom:g}}if(j=="right top"||j=="top right"){return{xrel:1,yrel:0,zoom:g}}if(j=="right center"||j=="center right"){return{xrel:1,yrel:0.5,zoom:g}}if(j=="right bottom"||j=="bottom right"){return{xrel:1,yrel:1,zoom:g}}return{xrel:parseInt(h[0].match(/^(\d+)%$/)[1])/100,yrel:parseInt(h[1].match(/^(\d+)%$/)[1])/100,zoom:g}}d.fn.crossSlide=function(i,k,l){var g=this,j=this.width(),h=this.height();if(g.length!=1){f("crossSlide() must be called on exactly 1 element")}g.get(0).crossSlideArgs=[i,k,l];k=d.map(k,function(m){return d.extend({},m)});if(!i.easing){i.easing=i.variant?"swing":"linear"}if(!l){l=function(){}}(function(o){var m=0;function n(q,p){p.onload=function(r){m++;k[q].width=p.width;k[q].height=p.height;if(m==k.length){o()}};p.src=k[q].src;if(q+1<k.length){n(q+1,new Image())}}n(0,new Image())})(function(){if(!i.fade){f("missing fade parameter.")}if(i.speed&&i.sleep){f("you cannot set both speed and sleep at the same time.")}var A=Math.round(i.fade*1000);if(i.sleep){var z=Math.round(i.sleep*1000)}if(i.speed){var o=i.speed/1000,v=Math.round(A*o)}g.empty().css({overflow:"hidden",padding:0});if(!/^(absolute|relative|fixed)$/.test(g.css("position"))){g.css({position:"relative"})}if(!g.width()||!g.height()){f("container element does not have its own width and height")}if(i.shuffle){k.sort(function(){return Math.random()-0.5})}for(var t=0;t<k.length;++t){var m=k[t];if(!m.src){f("missing src parameter in picture {0}.",t+1)}if(o){switch(m.dir){case"up":m.from={xrel:0.5,yrel:0,zoom:1};m.to={xrel:0.5,yrel:1,zoom:1};var x=m.height-h-2*v;break;case"down":m.from={xrel:0.5,yrel:1,zoom:1};m.to={xrel:0.5,yrel:0,zoom:1};var x=m.height-h-2*v;break;case"left":m.from={xrel:0,yrel:0.5,zoom:1};m.to={xrel:1,yrel:0.5,zoom:1};var x=m.width-j-2*v;break;case"right":m.from={xrel:1,yrel:0.5,zoom:1};m.to={xrel:0,yrel:0.5,zoom:1};var x=m.width-j-2*v;break;default:f("missing or malformed dir parameter in picture {0}.",t+1)}if(x<=0){f("impossible animation: either picture {0} is too small or div is too large or fade duration too long.",t+1)}m.time_ms=Math.round(x/o)}else{if(!z){if(!m.from||!m.to||!m.time){f("missing either speed/sleep option, or from/to/time params in picture {0}.",t+1)}try{m.from=b(m.from)}catch(w){f('malformed "from" parameter in picture {0}.',t+1)}try{m.to=b(m.to)}catch(w){f('malformed "to" parameter in picture {0}.',t+1)}if(!m.time){f('missing "time" parameter in picture {0}.',t+1)}m.time_ms=Math.round(m.time*1000)}}if(m.from){d.each([m.from,m.to],function(p,C){C.width=Math.round(m.width*C.zoom);C.height=Math.round(m.height*C.zoom);C.left=Math.round((j-C.width)*C.xrel);C.top=Math.round((h-C.height)*C.yrel)})}var s,y;y=s=d(e('<img src="{0}"/>',m.src));if(m.href){y=d(e('<a href="{0}"></a>',m.href)).append(s)}if(m.onclick){y.click(m.onclick)}if(m.alt){s.attr("alt",m.alt)}if(m.rel){y.attr("rel",m.rel)}if(m.href&&m.target){y.attr("target",m.target)}y.appendTo(g)}delete o;function n(D,C){var E=[0,A/(D.time_ms+2*A),1-A/(D.time_ms+2*A),1][C];return{left:Math.round(D.from.left+E*(D.to.left-D.from.left)),top:Math.round(D.from.top+E*(D.to.top-D.from.top)),width:Math.round(D.from.width+E*(D.to.width-D.from.width)),height:Math.round(D.from.height+E*(D.to.height-D.from.height))}}var u=g.find("img").css({position:"absolute",visibility:"hidden",top:0,left:0,border:0});u.eq(0).css({visibility:"visible"});if(!z){u.eq(0).css(n(k[0],i.variant?0:1))}var B=i.loop;function q(O,p){if(O%2==0){if(z){var E=O/2,S=(E-1+k.length)%k.length,P=u.eq(E),M=u.eq(S);var L=function(){l(E,P.get(0));M.css("visibility","hidden");setTimeout(p,z)}}else{var H=O/2,S=(H-1+k.length)%k.length,R=u.eq(H),M=u.eq(S),F=k[H].time_ms,N=n(k[H],i.variant?3:2);var L=function(){l(H,R.get(0));M.css("visibility","hidden");R[a](N,F,i.easing,p)}}}else{var D=Math.floor(O/2),G=Math.ceil(O/2)%k.length,Q=u.eq(D),C=u.eq(G),T={},K={visibility:"visible"},J={};if(G>D){K.opacity=0;J.opacity=1;if(i.doubleFade){T.opacity=0}}else{T.opacity=0;if(i.doubleFade){K.opacity=0;J.opacity=1}}if(!z){d.extend(K,n(k[G],0));if(!i.variant){d.extend(T,n(k[D],3));d.extend(J,n(k[G],1))}}if(d.isEmptyObject(J)){var L=function(){l(G,C.get(0),D,Q.get(0));C.css(K);Q[a](T,A,"linear",p)}}else{if(d.isEmptyObject(T)){var L=function(){l(G,C.get(0),D,Q.get(0));C.css(K);C[a](J,A,"linear",p)}}else{var L=function(){l(G,C.get(0),D,Q.get(0));C.css(K);C[a](J,A,"linear");Q[a](T,A,"linear",p)}}}}if(i.loop&&O==k.length*2-2){var I=L;L=function(){if(--B){I()}}}if(O>0){return q(O-1,L)}else{return L}}var r=q(k.length*2-1,function(){return r()});r()});return g};d.fn.crossSlideFreeze=function(){this.find("img").stop()};d.fn.crossSlideStop=function(){this.find("img").stop().remove()};d.fn.crossSlideRestart=function(){this.find("img").stop().remove();d.fn.crossSlide.apply(this,this.get(0).crossSlideArgs)};d.fn.crossSlidePause=function(){if(!d.fn.pause){f(c)}this.find("img").pause()};d.fn.crossSlideResume=function(){if(!d.fn.pause){f(c)}this.find("img").resume()}})();
 
 
/*
* qTip2 - Pretty powerful tooltips
* http://craigsworks.com/projects/qtip2/
*
* Version: nightly
* Copyright 2009-2010 Craig Michael Thompson - http://craigsworks.com
*
* Dual licensed under MIT or GPLv2 licenses
*   http://en.wikipedia.org/wiki/MIT_License
*   http://en.wikipedia.org/wiki/GNU_General_Public_License
*
* Date: Wed Jul 13 11:48:29 PDT 2011
*/
(function($,window,undefined){"use strict";var TRUE=true,FALSE=false,NULL=null,QTIP,PLUGINS,MOUSE,usedIDs={},uitooltip='ui-tooltip',widget='ui-widget',disabled='ui-state-disabled',selector='div.qtip.'+uitooltip,defaultClass=uitooltip+'-default',focusClass=uitooltip+'-focus',hoverClass=uitooltip+'-hover',fluidClass=uitooltip+'-fluid',hideOffset='-31000px',replaceSuffix='_replacedByqTip',oldtitle='oldtitle',trackingBound;function log(){log.history=log.history||[];log.history.push(arguments);if('object'===typeof console){var c=console[console.warn?'warn':'log'],args=Array.prototype.slice.call(arguments),a;if(typeof arguments[0]==='string'){args[0]='qTip2: '+args[0];}
a=c.apply?c.apply(console,args):c(args);}}
function sanitizeOptions(opts)
{var content;if(!opts||'object'!==typeof opts){return FALSE;}
if('object'!==typeof opts.metadata){opts.metadata={type:opts.metadata};}
if('content'in opts){if('object'!==typeof opts.content||opts.content.jquery){opts.content={text:opts.content};}
content=opts.content.text||FALSE;if(!$.isFunction(content)&&((!content&&!content.attr)||content.length<1||('object'===typeof content&&!content.jquery))){opts.content.text=FALSE;}
if('title'in opts.content){if('object'!==typeof opts.content.title){opts.content.title={text:opts.content.title};}
content=opts.content.title.text||FALSE;if(!$.isFunction(content)&&((!content&&!content.attr)||content.length<1||('object'===typeof content&&!content.jquery))){opts.content.title.text=FALSE;}}}
if('position'in opts){if('object'!==typeof opts.position){opts.position={my:opts.position,at:opts.position};}}
if('show'in opts){if('object'!==typeof opts.show){if(opts.show.jquery){opts.show={target:opts.show};}
else{opts.show={event:opts.show};}}}
if('hide'in opts){if('object'!==typeof opts.hide){if(opts.hide.jquery){opts.hide={target:opts.hide};}
else{opts.hide={event:opts.hide};}}}
if('style'in opts){if('object'!==typeof opts.style){opts.style={classes:opts.style};}}
$.each(PLUGINS,function(){if(this.sanitize){this.sanitize(opts);}});return opts;}
function QTip(target,options,id,attr)
{var self=this,docBody=document.body,tooltipID=uitooltip+'-'+id,isPositioning=0,isDrawing=0,tooltip=$(),namespace='.qtip-'+id,elements,cache;self.id=id;self.rendered=FALSE;self.elements=elements={target:target};self.timers={img:{}};self.options=options;self.checks={};self.plugins={};self.cache=cache={event:{},target:$(),disabled:FALSE,attr:attr};function convertNotation(notation)
{var i=0,obj,option=options,levels=notation.split('.');while(option=option[levels[i++]]){if(i<levels.length){obj=option;}}
return[obj||options,levels.pop()];}
function setWidget(){var on=options.style.widget;tooltip.toggleClass(widget,on).toggleClass(defaultClass,!on);elements.content.toggleClass(widget+'-content',on);if(elements.titlebar){elements.titlebar.toggleClass(widget+'-header',on);}
if(elements.button){elements.button.toggleClass(uitooltip+'-icon',!on);}}
function removeTitle()
{if(elements.title){elements.titlebar.remove();elements.titlebar=elements.title=elements.button=NULL;self.reposition();}}
function createButton()
{var button=options.content.title.button,isString=typeof button==='string',close=isString?button:'Close tooltip';if(elements.button){elements.button.remove();}
if(button.jquery){elements.button=button;}
else{elements.button=$('<a />',{'class':'ui-state-default '+(options.style.widget?'':uitooltip+'-icon'),'title':close,'aria-label':close}).prepend($('<span />',{'class':'ui-icon ui-icon-close','html':'×'}));}
elements.button.appendTo(elements.titlebar).attr('role','button').hover(function(event){$(this).toggleClass('ui-state-hover',event.type==='mouseenter');}).click(function(event){if(!tooltip.hasClass(disabled)){self.hide(event);}
return FALSE;}).bind('mousedown keydown mouseup keyup mouseout',function(event){$(this).toggleClass('ui-state-active ui-state-focus',event.type.substr(-4)==='down');});self.redraw();}
function createTitle()
{var id=tooltipID+'-title';if(elements.titlebar){removeTitle();}
elements.titlebar=$('<div />',{'class':uitooltip+'-titlebar '+(options.style.widget?'ui-widget-header':'')}).append(elements.title=$('<div />',{'id':id,'class':uitooltip+'-title','aria-atomic':TRUE})).insertBefore(elements.content);if(options.content.title.button){createButton();}
else if(self.rendered){self.redraw();}}
function updateButton(button)
{var elem=elements.button,title=elements.title;if(!self.rendered){return FALSE;}
if(!button){elem.remove();}
else{if(!title){createTitle();}
createButton();}}
function updateTitle(content,reposition)
{var elem=elements.title;if(!self.rendered||!content){return FALSE;}
if($.isFunction(content)){content=content.call(target,cache.event,self)||'';}
if(elem&&content===FALSE){removeTitle();}
else if(content.jquery&&content.length>0){elem.empty().append(content.css({display:'block'}));}
else{elem.html(content);}
self.redraw();if(reposition!==FALSE&&self.rendered&&tooltip.is(':visible')){self.reposition(cache.event);}}
function updateContent(content,reposition)
{var elem=elements.content;if(!self.rendered||!content){return FALSE;}
if($.isFunction(content)){content=content.call(target,cache.event,self)||'';}
if(content.jquery&&content.length>0){elem.empty().append(content.css({display:'block'}));}
else{elem.html(content);}
function detectImages(next){var images;function imageLoad(event){clearTimeout(self.timers.img[this]);$(this).unbind(namespace);if((images=images.not(this)).length===0){self.redraw();if(reposition!==FALSE){self.reposition(cache.event);}
next();}}
if((images=elem.find('img:not([height]):not([width])')).length===0){return imageLoad.call(images);}
images.each(function(i,elem){(function timer(){if(elem.height&&elem.width){return imageLoad.call(elem);}
self.timers.img[elem]=setTimeout(timer,1000);}());$(elem).bind('error'+namespace+' load'+namespace,imageLoad);});}
if(self.rendered<0){tooltip.queue('fx',detectImages);}
else{isDrawing=0;detectImages($.noop);}
return self;}
function assignEvents()
{var posOptions=options.position,targets={show:options.show.target,hide:options.hide.target,viewport:$(posOptions.viewport),document:$(document),window:$(window)},events={show:$.trim(''+options.show.event).split(' '),hide:$.trim(''+options.hide.event).split(' ')},IE6=$.browser.msie&&parseInt($.browser.version,10)===6;function showMethod(event)
{if(tooltip.hasClass(disabled)){return FALSE;}
targets.show.trigger('qtip-'+id+'-inactive');clearTimeout(self.timers.show);clearTimeout(self.timers.hide);var callback=function(){self.toggle(TRUE,event);};if(options.show.delay>0){self.timers.show=setTimeout(callback,options.show.delay);}
else{callback();}}
function hideMethod(event)
{if(tooltip.hasClass(disabled)){return FALSE;}
var relatedTarget=$(event.relatedTarget||event.target),ontoTooltip=relatedTarget.closest(selector)[0]===tooltip[0],ontoTarget=relatedTarget[0]===targets.show[0];clearTimeout(self.timers.show);clearTimeout(self.timers.hide);if((posOptions.target==='mouse'&&ontoTooltip)||(options.hide.fixed&&((/mouse(out|leave|move)/).test(event.type)&&(ontoTooltip||ontoTarget)))){event.preventDefault();return;}
if(options.hide.delay>0){self.timers.hide=setTimeout(function(){self.hide(event);},options.hide.delay);}
else{self.hide(event);}}
function inactiveMethod(event)
{if(tooltip.hasClass(disabled)){return FALSE;}
clearTimeout(self.timers.inactive);self.timers.inactive=setTimeout(function(){self.hide(event);},options.hide.inactive);}
function repositionMethod(event){if(tooltip.is(':visible')){self.reposition(event);}}
tooltip.bind('mouseenter'+namespace+' mouseleave'+namespace,function(event){var state=event.type==='mouseenter';if(state){self.focus(event);}
tooltip.toggleClass(hoverClass,state);});if(options.hide.fixed){targets.hide=targets.hide.add(tooltip);tooltip.bind('mouseover'+namespace,function(){if(!tooltip.hasClass(disabled)){clearTimeout(self.timers.hide);}});}
if(/mouse(out|leave)/i.test(options.hide.event)){if(options.hide.leave==='window'){targets.window.bind('mouseout'+namespace,function(event){if(/select|option/.test(event.target)&&!event.relatedTarget){self.hide(event);}});}}
else if(/mouse(over|enter)/i.test(options.show.event)){targets.hide.bind('mouseleave'+namespace,function(event){clearTimeout(self.timers.show);});}
if((''+options.hide.event).indexOf('unfocus')>-1){targets.document.bind('mousedown'+namespace,function(event){var $target=$(event.target),enabled=!tooltip.hasClass(disabled)&&tooltip.is(':visible');if($target.parents(selector).length===0&&$target.add(target).length>1){self.hide(event);}});}
if('number'===typeof options.hide.inactive){targets.show.bind('qtip-'+id+'-inactive',inactiveMethod);$.each(QTIP.inactiveEvents,function(index,type){targets.hide.add(elements.tooltip).bind(type+namespace+'-inactive',inactiveMethod);});}
$.each(events.hide,function(index,type){var showIndex=$.inArray(type,events.show),targetHide=$(targets.hide);if((showIndex>-1&&targetHide.add(targets.show).length===targetHide.length)||type==='unfocus')
{targets.show.bind(type+namespace,function(event){if(tooltip.is(':visible')){hideMethod(event);}
else{showMethod(event);}});delete events.show[showIndex];}
else{targets.hide.bind(type+namespace,hideMethod);}});$.each(events.show,function(index,type){targets.show.bind(type+namespace,showMethod);});if('number'===typeof options.hide.distance){targets.show.bind('mousemove'+namespace,function(event){var origin=cache.origin||{},limit=options.hide.distance,abs=Math.abs;if(abs(event.pageX-origin.pageX)>=limit||abs(event.pageY-origin.pageY)>=limit){self.hide(event);}});}
if(posOptions.target==='mouse'){targets.show.bind('mousemove'+namespace,function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:'mousemove'};});if(posOptions.adjust.mouse){if(options.hide.event){tooltip.bind('mouseleave'+namespace,function(event){if((event.relatedTarget||event.target)!==targets.show[0]){self.hide(event);}});}
targets.document.bind('mousemove'+namespace,function(event){if(!tooltip.hasClass(disabled)&&tooltip.is(':visible')){self.reposition(event||MOUSE);}});}}
if(posOptions.adjust.resize||targets.viewport.length){($.event.special.resize?targets.viewport:targets.window).bind('resize'+namespace,repositionMethod);}
if(targets.viewport.length||(IE6&&tooltip.css('position')==='fixed')){targets.viewport.bind('scroll'+namespace,repositionMethod);}}
function unassignEvents()
{var targets=[options.show.target[0],options.hide.target[0],self.rendered&&elements.tooltip[0],options.position.container[0],options.position.viewport[0],window,document];if(self.rendered){$([]).pushStack($.grep(targets,function(i){return typeof i==='object';})).unbind(namespace);}
else{options.show.target.unbind(namespace+'-create');}}
self.checks.builtin={'^id$':function(obj,o,v){var id=v===TRUE?QTIP.nextid:v,tooltipID=uitooltip+'-'+id;if(id!==FALSE&&id.length>0&&!$('#'+tooltipID).length){tooltip[0].id=tooltipID;elements.content[0].id=tooltipID+'-content';elements.title[0].id=tooltipID+'-title';}},'^content.text$':function(obj,o,v){updateContent(v);},'^content.title.text$':function(obj,o,v){if(!v){return removeTitle();}
if(!elements.title&&v){createTitle();}
updateTitle(v);},'^content.title.button$':function(obj,o,v){updateButton(v);},'^position.(my|at)$':function(obj,o,v){if('string'===typeof v){obj[o]=new PLUGINS.Corner(v);}},'^position.container$':function(obj,o,v){if(self.rendered){tooltip.appendTo(v);}},'^show.ready$':function(){if(!self.rendered){self.render(1);}
else{self.toggle(TRUE);}},'^style.classes$':function(obj,o,v){tooltip.attr('class',uitooltip+' qtip ui-helper-reset '+v);},'^style.widget|content.title':setWidget,'^events.(render|show|move|hide|focus|blur)$':function(obj,o,v){tooltip[($.isFunction(v)?'':'un')+'bind']('tooltip'+o,v);},'^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)':function(){var posOptions=options.position;tooltip.attr('tracking',posOptions.target==='mouse'&&posOptions.adjust.mouse);unassignEvents();assignEvents();}};$.extend(self,{render:function(show)
{if(self.rendered){return self;}
var title=options.content.title.text,posOptions=options.position,callback=$.Event('tooltiprender');$.attr(target[0],'aria-describedby',tooltipID);tooltip=elements.tooltip=$('<div/>',{'id':tooltipID,'class':uitooltip+' qtip ui-helper-reset '+defaultClass+' '+options.style.classes,'width':options.style.width||'','tracking':posOptions.target==='mouse'&&posOptions.adjust.mouse,'role':'alert','aria-live':'polite','aria-atomic':FALSE,'aria-describedby':tooltipID+'-content','aria-hidden':TRUE}).toggleClass(disabled,cache.disabled).data('qtip',self).appendTo(options.position.container).append(elements.content=$('<div />',{'class':uitooltip+'-content','id':tooltipID+'-content','aria-atomic':TRUE}));self.rendered=-1;isDrawing=1;if(title){createTitle();updateTitle(title);}
updateContent(options.content.text,FALSE);self.rendered=TRUE;setWidget();$.each(options.events,function(name,callback){if($.isFunction(callback)){tooltip.bind(name==='toggle'?'tooltipshow tooltiphide':'tooltip'+name,callback);}});$.each(PLUGINS,function(){if(this.initialize==='render'){this(self);}});assignEvents();tooltip.queue('fx',function(next){callback.originalEvent=cache.event;tooltip.trigger(callback,[self]);isDrawing=0;self.redraw();if(options.show.ready||show){self.toggle(TRUE,cache.event);}
next();});return self;},get:function(notation)
{var result,o;switch(notation.toLowerCase())
{case'dimensions':result={height:tooltip.outerHeight(),width:tooltip.outerWidth()};break;case'offset':result=PLUGINS.offset(tooltip,options.position.container);break;default:o=convertNotation(notation.toLowerCase());result=o[0][o[1]];result=result.precedance?result.string():result;break;}
return result;},set:function(option,value)
{var rmove=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,rdraw=/^content\.(title|attr)|style/i,reposition=FALSE,redraw=FALSE,checks=self.checks,name;function callback(notation,args){var category,rule,match;for(category in checks){for(rule in checks[category]){if(match=(new RegExp(rule,'i')).exec(notation)){args.push(match);checks[category][rule].apply(self,args);}}}}
if('string'===typeof option){name=option;option={};option[name]=value;}
else{option=$.extend(TRUE,{},option);}
$.each(option,function(notation,value){var obj=convertNotation(notation.toLowerCase()),previous;previous=obj[0][obj[1]];obj[0][obj[1]]='object'===typeof value&&value.nodeType?$(value):value;option[notation]=[obj[0],obj[1],value,previous];reposition=rmove.test(notation)||reposition;redraw=rdraw.test(notation)||redraw;});sanitizeOptions(options);isPositioning=isDrawing=1;$.each(option,callback);isPositioning=isDrawing=0;if(tooltip.is(':visible')&&self.rendered){if(reposition){self.reposition(options.position.target==='mouse'?NULL:cache.event);}
if(redraw){self.redraw();}}
return self;},toggle:function(state,event)
{if(!self.rendered){if(state){self.render(1);}
else{return self;}}
var type=state?'show':'hide',opts=options[type],visible=tooltip.is(':visible'),sameTarget=!event||options[type].target.length<2||cache.target[0]===event.target,posOptions=options.position,contentOptions=options.content,delay,callback;if((typeof state).search('boolean|number')){state=!visible;}
if(!tooltip.is(':animated')&&visible===state&&sameTarget){return self;}
if(event){if((/over|enter/).test(event.type)&&(/out|leave/).test(cache.event.type)&&event.target===options.show.target[0]&&tooltip.has(event.relatedTarget).length){return self;}
cache.event=$.extend({},event);}
callback=$.Event('tooltip'+type);callback.originalEvent=event?cache.event:NULL;tooltip.trigger(callback,[self,90]);if(callback.isDefaultPrevented()){return self;}
$.attr(tooltip[0],'aria-hidden',!!!state);if(state){cache.origin=$.extend({},MOUSE);self.focus(event);if($.isFunction(contentOptions.text)){updateContent(contentOptions.text,FALSE);}
if($.isFunction(contentOptions.title.text)){updateTitle(contentOptions.title.text,FALSE);}
if(!trackingBound&&posOptions.target==='mouse'&&posOptions.adjust.mouse){$(document).bind('mousemove.qtip',function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:'mousemove'};});trackingBound=TRUE;}
self.reposition(event);if(opts.solo){$(selector,opts.solo).not(tooltip).qtip('hide',callback);}}
else{clearTimeout(self.timers.show);delete cache.origin;if(trackingBound&&!$(selector+'[tracking="true"]:visible',opts.solo).not(tooltip).length){$(document).unbind('mousemove.qtip');trackingBound=FALSE;}
self.blur(event);}
function after(){if(!state){tooltip.css({display:'',visibility:'',opacity:'',left:'',top:''});}
else{if($.browser.msie){tooltip[0].style.removeAttribute('filter');}
tooltip.css('overflow','');}}
if(sameTarget){tooltip.stop(0,1);}
if(opts.effect===FALSE){tooltip[type]();after.call(tooltip);}
else if($.isFunction(opts.effect)){opts.effect.call(tooltip,self);tooltip.queue('fx',function(n){after();n();});}
else{tooltip.fadeTo(90,state?1:0,after);}
if(state){opts.target.trigger('qtip-'+id+'-inactive');}
return self;},show:function(event){return self.toggle(TRUE,event);},hide:function(event){return self.toggle(FALSE,event);},focus:function(event)
{if(!self.rendered){return self;}
var qtips=$(selector),curIndex=parseInt(tooltip[0].style.zIndex,10),newIndex=QTIP.zindex+qtips.length,cachedEvent=$.extend({},event),focusedElem,callback;if(!tooltip.hasClass(focusClass))
{callback=$.Event('tooltipfocus');callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self,newIndex]);if(!callback.isDefaultPrevented()){if(curIndex!==newIndex){qtips.each(function(){if(this.style.zIndex>curIndex){this.style.zIndex=this.style.zIndex-1;}});qtips.filter('.'+focusClass).qtip('blur',cachedEvent);}
tooltip.addClass(focusClass)[0].style.zIndex=newIndex;}}
return self;},blur:function(event){var cachedEvent=$.extend({},event),callback;tooltip.removeClass(focusClass);callback=$.Event('tooltipblur');callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self]);return self;},reposition:function(event,effect)
{if(!self.rendered||isPositioning){return self;}
isPositioning=1;var target=options.position.target,posOptions=options.position,my=posOptions.my,at=posOptions.at,adjust=posOptions.adjust,method=adjust.method.split(' '),elemWidth=tooltip.outerWidth(),elemHeight=tooltip.outerHeight(),targetWidth=0,targetHeight=0,callback=$.Event('tooltipmove'),fixed=tooltip.css('position')==='fixed',viewport=posOptions.viewport,position={left:0,top:0},tip=self.plugins.tip,readjust={horizontal:method[0],vertical:method[1]||method[0],left:function(posLeft){var isShift=readjust.horizontal==='shift',viewportScroll=viewport.offset.left+viewport.scrollLeft,myWidth=my.x==='left'?elemWidth:my.x==='right'?-elemWidth:-elemWidth/2,atWidth=at.x==='left'?targetWidth:at.x==='right'?-targetWidth:-targetWidth/2,tipWidth=tip&&tip.size?tip.size.width||0:0,tipAdjust=tip&&tip.corner&&tip.corner.precedance==='x'&&!isShift?tipWidth:0,overflowLeft=viewportScroll-posLeft+tipAdjust,overflowRight=posLeft+elemWidth-viewport.width-viewportScroll+tipAdjust,offset=myWidth-(my.precedance==='x'||my.x===my.y?atWidth:0),isCenter=my.x==='center';if(isShift){tipAdjust=tip&&tip.corner&&tip.corner.precedance==='y'?tipWidth:0;offset=(my.x==='left'?1:-1)*myWidth-tipAdjust;position.left+=overflowLeft>0?overflowLeft:overflowRight>0?-overflowRight:0;position.left=Math.max(viewport.offset.left+(tipAdjust&&tip.corner.x==='center'?tip.offset:0),posLeft-offset,Math.min(Math.max(viewport.offset.left+viewport.width,posLeft+offset),position.left));}
else{if(overflowLeft>0&&(my.x!=='left'||overflowRight>0)){position.left-=offset+(isCenter?0:2*adjust.x);}
else if(overflowRight>0&&(my.x!=='right'||overflowLeft>0)){position.left-=isCenter?-offset:offset+(2*adjust.x);}
if(position.left!==posLeft&&isCenter){position.left-=adjust.x;}
if(position.left<viewportScroll&&-position.left>overflowRight){position.left=posLeft;}}
return position.left-posLeft;},top:function(posTop){var isShift=readjust.vertical==='shift',viewportScroll=viewport.offset.top+viewport.scrollTop,myHeight=my.y==='top'?elemHeight:my.y==='bottom'?-elemHeight:-elemHeight/2,atHeight=at.y==='top'?targetHeight:at.y==='bottom'?-targetHeight:-targetHeight/2,tipHeight=tip&&tip.size?tip.size.height||0:0,tipAdjust=tip&&tip.corner&&tip.corner.precedance==='y'&&!isShift?tipHeight:0,overflowTop=viewportScroll-posTop+tipAdjust,overflowBottom=posTop+elemHeight-viewport.height-viewportScroll+tipAdjust,offset=myHeight-(my.precedance==='y'||my.x===my.y?atHeight:0),isCenter=my.y==='center';if(isShift){tipAdjust=tip&&tip.corner&&tip.corner.precedance==='x'?tipHeight:0;offset=(my.y==='top'?1:-1)*myHeight-tipAdjust;position.top+=overflowTop>0?overflowTop:overflowBottom>0?-overflowBottom:0;position.top=Math.max(viewport.offset.top+(tipAdjust&&tip.corner.x==='center'?tip.offset:0),posTop-offset,Math.min(Math.max(viewport.offset.top+viewport.height,posTop+offset),position.top));}
else{if(overflowTop>0&&(my.y!=='top'||overflowBottom>0)){position.top-=offset+(isCenter?0:2*adjust.y);}
else if(overflowBottom>0&&(my.y!=='bottom'||overflowTop>0)){position.top-=isCenter?-offset:offset+(2*adjust.y);}
if(position.top!==posTop&&isCenter){position.top-=adjust.y;}
if(position.top<0&&-position.top>overflowBottom){position.top=posTop;}}
return position.top-posTop;}};if($.isArray(target)&&target.length===2){at={x:'left',y:'top'};position={left:target[0],top:target[1]};}
else if(target==='mouse'&&((event&&event.pageX)||cache.event.pageX)){at={x:'left',y:'top'};event=event&&(event.type==='resize'||event.type==='scroll')?cache.event:event&&event.pageX&&event.type==='mousemove'?event:MOUSE&&(adjust.mouse||!event||!event.pageX)?{pageX:MOUSE.pageX,pageY:MOUSE.pageY}:!adjust.mouse&&cache.origin?cache.origin:event;position={top:event.pageY,left:event.pageX};}
else{if(target==='event'){if(event&&event.target&&event.type!=='scroll'&&event.type!=='resize'){target=cache.target=$(event.target);}
else{target=cache.target;}}
else{cache.target=$(target);}
target=$(target).eq(0);if(target.length===0){return self;}
else if(target[0]===document||target[0]===window){targetWidth=PLUGINS.iOS?window.innerWidth:target.width();targetHeight=PLUGINS.iOS?window.innerHeight:target.height();if(target[0]===window){position={top:!fixed||PLUGINS.iOS?(viewport||target).scrollTop():0,left:!fixed||PLUGINS.iOS?(viewport||target).scrollLeft():0};}}
else if(target.is('area')&&PLUGINS.imagemap){position=PLUGINS.imagemap(target,at);}
else if(target[0].namespaceURI==='http://www.w3.org/2000/svg'&&PLUGINS.svg){position=PLUGINS.svg(target,at);}
else{targetWidth=target.outerWidth();targetHeight=target.outerHeight();position=PLUGINS.offset(target,posOptions.container,fixed);}
if(position.offset){targetWidth=position.width;targetHeight=position.height;position=position.offset;}
position.left+=at.x==='right'?targetWidth:at.x==='center'?targetWidth/2:0;position.top+=at.y==='bottom'?targetHeight:at.y==='center'?targetHeight/2:0;}
position.left+=adjust.x+(my.x==='right'?-elemWidth:my.x==='center'?-elemWidth/2:0);position.top+=adjust.y+(my.y==='bottom'?-elemHeight:my.y==='center'?-elemHeight/2:0);if(viewport.jquery&&target[0]!==window&&target[0]!==docBody&&readjust.vertical+readjust.horizontal!=='nonenone')
{viewport={elem:viewport,height:viewport[(viewport[0]===window?'h':'outerH')+'eight'](),width:viewport[(viewport[0]===window?'w':'outerW')+'idth'](),scrollLeft:fixed?0:viewport.scrollLeft(),scrollTop:fixed?0:viewport.scrollTop(),offset:viewport.offset()||{left:0,top:0}};position.adjusted={left:readjust.horizontal!=='none'?readjust.left(position.left):0,top:readjust.vertical!=='none'?readjust.top(position.top):0};}
else{position.adjusted={left:0,top:0};}
tooltip.attr('class',function(i,val){return $.attr(this,'class').replace(/ui-tooltip-pos-\w+/i,'');}).addClass(uitooltip+'-pos-'+my.abbreviation());callback.originalEvent=$.extend({},event);tooltip.trigger(callback,[self,position,viewport.elem||viewport]);if(callback.isDefaultPrevented()){return self;}
delete position.adjusted;if(effect===FALSE||isNaN(position.left)||isNaN(position.top)||target==='mouse'||!$.isFunction(posOptions.effect)){tooltip.css(position);}
else if($.isFunction(posOptions.effect)){posOptions.effect.call(tooltip,self,$.extend({},position));tooltip.queue(function(next){$(this).css({opacity:'',height:''});if($.browser.msie){this.style.removeAttribute('filter');}
next();});}
isPositioning=0;return self;},redraw:function()
{if(self.rendered<1||isDrawing){return self;}
var container=options.position.container,perc,width,max,min;isDrawing=1;if(options.style.width){tooltip.css('width',options.style.width);}
else{tooltip.css('width','').addClass(fluidClass);width=tooltip.width()+1;max=tooltip.css('max-width')||'';min=tooltip.css('min-width')||'';perc=(max+min).indexOf('%')>-1?container.width()/100:0;max=((max.indexOf('%')>-1?perc:1)*parseInt(max,10))||width;min=((min.indexOf('%')>-1?perc:1)*parseInt(min,10))||0;width=max+min?Math.min(Math.max(width,min),max):width;tooltip.css('width',Math.round(width)).removeClass(fluidClass);}
isDrawing=0;return self;},disable:function(state)
{var c=disabled;if('boolean'!==typeof state){state=!(tooltip.hasClass(c)||cache.disabled);}
if(self.rendered){tooltip.toggleClass(c,state);$.attr(tooltip[0],'aria-disabled',state);}
else{cache.disabled=!!state;}
return self;},enable:function(){return self.disable(FALSE);},destroy:function()
{var t=target[0],title=$.attr(t,oldtitle);if(self.rendered){tooltip.remove();$.each(self.plugins,function(){if(this.destroy){this.destroy();}});}
clearTimeout(self.timers.show);clearTimeout(self.timers.hide);unassignEvents();$.removeData(t,'qtip');if(title){$.attr(t,'title',title);target.removeAttr(oldtitle);}
target.removeAttr('aria-describedby').unbind('.qtip');delete usedIDs[self.id];return target;}});}
function init(id,opts)
{var obj,posOptions,attr,config,elem=$(this),docBody=$(document.body),newTarget=this===document?docBody:elem,metadata=(elem.metadata)?elem.metadata(opts.metadata):NULL,metadata5=opts.metadata.type==='html5'&&metadata?metadata[opts.metadata.name]:NULL,html5=elem.data(opts.metadata.name||'qtipopts');try{html5=typeof html5==='string'?(new Function("return "+html5))():html5;}
catch(e){log('Unable to parse HTML5 attribute data: '+html5);}
config=$.extend(TRUE,{},QTIP.defaults,opts,typeof html5==='object'?sanitizeOptions(html5):NULL,sanitizeOptions(metadata5||metadata));posOptions=config.position;config.id=id;if('boolean'===typeof config.content.text){attr=elem.attr(config.content.attr);if(config.content.attr!==FALSE&&attr){config.content.text=attr;}
else{log('Unable to locate content for tooltip! Aborting render of tooltip on element: ',elem);return FALSE;}}
if(posOptions.container===FALSE){posOptions.container=docBody;}
if(posOptions.target===FALSE){posOptions.target=newTarget;}
if(config.show.target===FALSE){config.show.target=newTarget;}
if(config.show.solo===TRUE){config.show.solo=docBody;}
if(config.hide.target===FALSE){config.hide.target=newTarget;}
if(config.position.viewport===TRUE){config.position.viewport=posOptions.container;}
posOptions.at=new PLUGINS.Corner(posOptions.at);posOptions.my=new PLUGINS.Corner(posOptions.my);if($.data(this,'qtip')){if(config.overwrite){elem.qtip('destroy');}
else if(config.overwrite===FALSE){return FALSE;}}
if($.attr(this,'title')){$.attr(this,oldtitle,$.attr(this,'title'));this.removeAttribute('title');}
obj=new QTip(elem,config,id,!!attr);$.data(this,'qtip',obj);elem.bind('remove.qtip',function(){obj.destroy();});return obj;}
QTIP=$.fn.qtip=function(options,notation,newValue)
{var command=(''+options).toLowerCase(),returned=NULL,args=command==='disable'?[TRUE]:$.makeArray(arguments).slice(1),event=args[args.length-1],opts=this[0]?$.data(this[0],'qtip'):NULL;if((!arguments.length&&opts)||command==='api'){return opts;}
else if('string'===typeof options)
{this.each(function()
{var api=$.data(this,'qtip');if(!api){return TRUE;}
if(event&&event.timeStamp){api.cache.event=event;}
if((command==='option'||command==='options')&& notation){if($.isPlainObject(notation)||newValue!==undefined){api.set(notation,newValue);}
else{returned=api.get(notation);return FALSE;}}
else if(api[command]){api[command].apply(api[command],args);}});return returned!==NULL?returned:this;}
else if('object'===typeof options||!arguments.length)
{opts=sanitizeOptions($.extend(TRUE,{},options));return QTIP.bind.call(this,opts,event);}};QTIP.bind=function(opts,event)
{return this.each(function(i){var options,targets,events,namespace,api,id;id=$.isArray(opts.id)?opts.id[i]:opts.id;id=!id||id===FALSE||id.length<1||usedIDs[id]?QTIP.nextid++:(usedIDs[id]=id);namespace='.qtip-'+id+'-create';api=init.call(this,id,opts);if(api===FALSE){return TRUE;}
options=api.options;$.each(PLUGINS,function(){if(this.initialize==='initialize'){this(api);}});targets={show:options.show.target,hide:options.hide.target};events={show:$.trim(''+options.show.event).replace(/ /g,namespace+' ')+namespace,hide:$.trim(''+options.hide.event).replace(/ /g,namespace+' ')+namespace};if(/mouse(over|enter)/i.test(events.show)&&!/mouse(out|leave)/i.test(events.hide)){events.hide+=' mouseleave'+namespace;}
function hoverIntent(event){function render(){api.render(typeof event==='object'||options.show.ready);targets.show.add(targets.hide).unbind(namespace);}
if(api.cache.disabled){return FALSE;}
api.cache.event=$.extend({},event);api.cache.target=event?$(event.target):[undefined];if(options.show.delay>0){clearTimeout(api.timers.show);api.timers.show=setTimeout(render,options.show.delay);if(events.show!==events.hide){targets.hide.bind(events.hide,function(){clearTimeout(api.timers.show);});}}
else{render();}}
targets.show.bind(events.show,hoverIntent);if(options.show.ready||options.prerender){hoverIntent(event);}});};PLUGINS=QTIP.plugins={Corner:function(corner){corner=(''+corner).replace(/([A-Z])/,' $1').replace(/middle/gi,'center').toLowerCase();this.x=(corner.match(/left|right/i)||corner.match(/center/)||['inherit'])[0].toLowerCase();this.y=(corner.match(/top|bottom|center/i)||['inherit'])[0].toLowerCase();this.precedance=(corner.charAt(0).search(/^(t|b)/)>-1)?'y':'x';this.string=function(){return this.precedance==='y'?this.y+this.x:this.x+this.y;};this.abbreviation=function(){var x=this.x.substr(0,1),y=this.y.substr(0,1);return x===y?x:(x==='c'||(x!=='c'&&y!=='c'))?y+x:x+y;};},offset:function(elem,container,fixed){var pos=elem.offset(),parent=container,deep=0,docBody=document.body,coffset;function scroll(e,i){pos.left+=i*e.scrollLeft();pos.top+=i*e.scrollTop();}
if(parent){do{if(parent.css('position')!=='static'){coffset=parent[0]===docBody?{left:parseInt(parent.css('left'),10)||0,top:parseInt(parent.css('top'),10)||0}:parent.position();pos.left-=coffset.left+(parseInt(parent.css('borderLeftWidth'),10)||0);pos.top-=coffset.top+(parseInt(parent.css('borderTopWidth'),10)||0);deep++;}
if(parent[0]===docBody){break;}}
while(parent=parent.offsetParent());if(container[0]!==docBody&&deep>1){scroll(container,1);}
if((PLUGINS.iOS<4.1&&PLUGINS.iOS>3.1)||(!PLUGINS.iOS&&fixed)){scroll($(window),-1);}}
return pos;},iOS:parseFloat((''+(/CPU.*OS ([0-9_]{1,3})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,''])[1]).replace('undefined','3_2').replace('_','.'))||FALSE,fn:{attr:function(attr,val){if(!this.length){return;}
var self=this[0],title='title',api=$.data(self,'qtip');if(attr===title){if(arguments.length<2){return $.attr(self,oldtitle);}
else if(typeof api==='object'){if(api&&api.rendered&&api.options.content.attr===title&&api.cache.attr){api.set('content.text',val);}
$.fn['attr'+replaceSuffix].apply(this,arguments);$.attr(self,oldtitle,$.attr(self,title));return this.removeAttr(title);}}},clone:function(keepData){var titles=$([]),title='title',elem;elem=$.fn['clone'+replaceSuffix].apply(this,arguments).filter('[oldtitle]').each(function(){$.attr(this,title,$.attr(this,oldtitle));this.removeAttribute(oldtitle);}).end();return elem;},remove:$.ui?NULL:function(selector,keepData){$(this).each(function(){if(!keepData){if(!selector||$.filter(selector,[this]).length){$('*',this).add(this).each(function(){$(this).triggerHandler('remove');});}}});}}};$.each(PLUGINS.fn,function(name,func){if(!func){return TRUE;}
var old=$.fn[name+replaceSuffix]=$.fn[name];$.fn[name]=function(){return func.apply(this,arguments)||old.apply(this,arguments);};});QTIP.version='nightly';QTIP.nextid=0;QTIP.inactiveEvents='click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' ');QTIP.zindex=15000;QTIP.defaults={prerender:FALSE,id:FALSE,overwrite:TRUE,content:{text:TRUE,attr:'title',title:{text:FALSE,button:FALSE}},position:{my:'top left',at:'bottom right',target:FALSE,container:FALSE,viewport:FALSE,adjust:{x:0,y:0,mouse:TRUE,resize:TRUE,method:'flip flip'},effect:function(api,pos,viewport){$(this).animate(pos,{duration:200,queue:FALSE});}},show:{target:FALSE,event:'mouseenter',effect:TRUE,delay:90,solo:FALSE,ready:FALSE},hide:{target:FALSE,event:'mouseleave',effect:TRUE,delay:0,fixed:FALSE,inactive:FALSE,leave:'window',distance:FALSE},style:{classes:'',widget:FALSE,width:FALSE},events:{render:NULL,move:NULL,show:NULL,hide:NULL,toggle:NULL,focus:NULL,blur:NULL}};function calculateTip(corner,width,height)
{var width2=Math.ceil(width/2),height2=Math.ceil(height/2),tips={bottomright:[[0,0],[width,height],[width,0]],bottomleft:[[0,0],[width,0],[0,height]],topright:[[0,height],[width,0],[width,height]],topleft:[[0,0],[0,height],[width,height]],topcenter:[[0,height],[width2,0],[width,height]],bottomcenter:[[0,0],[width,0],[width2,height]],rightcenter:[[0,0],[width,height2],[0,height]],leftcenter:[[width,0],[width,height],[0,height2]]};tips.lefttop=tips.bottomright;tips.righttop=tips.bottomleft;tips.leftbottom=tips.topright;tips.rightbottom=tips.topleft;return tips[corner.string()];}
function Tip(qTip,command)
{var self=this,opts=qTip.options.style.tip,elems=qTip.elements,tooltip=elems.tooltip,cache={top:0,left:0,corner:''},size={width:opts.width,height:opts.height},color={},border=opts.border||0,namespace='.qtip-tip',hasCanvas=!!($('<canvas />')[0]||{}).getContext;self.corner=NULL;self.mimic=NULL;self.border=border;self.offset=opts.offset;self.size=size;qTip.checks.tip={'^position.my|style.tip.(corner|mimic|border)$':function(){if(!self.init()){self.destroy();}
qTip.reposition();},'^style.tip.(height|width)$':function(){size={width:opts.width,height:opts.height};self.create();self.update();qTip.reposition();},'^content.title.text|style.(classes|widget)$':function(){if(elems.tip){self.update();}}};function reposition(event,api,pos,viewport){if(!elems.tip){return;}
var newCorner=$.extend({},self.corner),adjust=pos.adjusted,method=qTip.options.position.adjust.method.split(' '),horizontal=method[0],vertical=method[1]||method[0],shift={left:FALSE,top:FALSE,x:0,y:0},offset,css={},props;if(self.corner.fixed!==TRUE){if(horizontal==='shift'&&newCorner.precedance==='x'&&adjust.left&&newCorner.y!=='center'){newCorner.precedance=newCorner.precedance==='x'?'y':'x';}
else if(horizontal==='flip'&&adjust.left){newCorner.x=newCorner.x==='center'?(adjust.left>0?'left':'right'):(newCorner.x==='left'?'right':'left');}
if(vertical==='shift'&&newCorner.precedance==='y'&&adjust.top&&newCorner.x!=='center'){newCorner.precedance=newCorner.precedance==='y'?'x':'y';}
else if(vertical==='flip'&&adjust.top){newCorner.y=newCorner.y==='center'?(adjust.top>0?'top':'bottom'):(newCorner.y==='top'?'bottom':'top');}
if(newCorner.string()!==cache.corner&&(cache.top!==adjust.top||cache.left!==adjust.left)){self.update(newCorner,FALSE);}}
offset=self.position(newCorner,adjust);if(offset.right!==undefined){offset.left=-offset.right;}
if(offset.bottom!==undefined){offset.top=-offset.bottom;}
offset.user=Math.max(0,opts.offset);if(shift.left=(horizontal==='shift'&&!!adjust.left)){if(newCorner.x==='center'){css['margin-left']=shift.x=offset['margin-left']-adjust.left;}
else{props=offset.right!==undefined?[adjust.left,-offset.left]:[-adjust.left,offset.left];if((shift.x=Math.max(props[0],props[1]))>props[0]){pos.left-=adjust.left;shift.left=FALSE;}
css[offset.right!==undefined?'right':'left']=shift.x;}}
if(shift.top=(vertical==='shift'&&!!adjust.top)){if(newCorner.y==='center'){css['margin-top']=shift.y=offset['margin-top']-adjust.top;}
else{props=offset.bottom!==undefined?[adjust.top,-offset.top]:[-adjust.top,offset.top];if((shift.y=Math.max(props[0],props[1]))>props[0]){pos.top-=adjust.top;shift.top=FALSE;}
css[offset.bottom!==undefined?'bottom':'top']=shift.y;}}
elems.tip.css(css).toggle(!((shift.x&&shift.y)||(newCorner.x==='center'&&shift.y)||(newCorner.y==='center'&&shift.x)));pos.left-=offset.left.charAt?offset.user:horizontal!=='shift'||shift.top||!shift.left&&!shift.top?offset.left:0;pos.top-=offset.top.charAt?offset.user:vertical!=='shift'||shift.left||!shift.left&&!shift.top?offset.top:0;cache.left=adjust.left;cache.top=adjust.top;cache.corner=newCorner.string();}
function borderWidth(corner,side,backup){side=!side?corner[corner.precedance]:side;var isFluid=tooltip.hasClass(fluidClass),isTitleTop=elems.titlebar&&corner.y==='top',elem=isTitleTop?elems.titlebar:elems.content,css='border-'+side+'-width',val;tooltip.addClass(fluidClass);val=parseInt(elem.css(css),10);val=(backup?val||parseInt(tooltip.css(css),10):val)||0;tooltip.toggleClass(fluidClass,isFluid);return val;}
function borderRadius(corner){var isTitleTop=elems.titlebar&&corner.y==='top',elem=isTitleTop?elems.titlebar:elems.content,moz=$.browser.mozilla,prefix=moz?'-moz-':$.browser.webkit?'-webkit-':'',side=corner.y+(moz?'':'-')+corner.x,css=prefix+(moz?'border-radius-'+side:'border-'+side+'-radius');return parseInt(elem.css(css),10)||parseInt(tooltip.css(css),10)||0;}
function calculateSize(corner){var y=corner.precedance==='y',width=size[y?'width':'height'],height=size[y?'height':'width'],isCenter=corner.string().indexOf('center')>-1,base=width*(isCenter?0.5:1),pow=Math.pow,round=Math.round,bigHyp,ratio,result,smallHyp=Math.sqrt(pow(base,2)+pow(height,2)),hyp=[(border/base)*smallHyp,(border/height)*smallHyp];hyp[2]=Math.sqrt(pow(hyp[0],2)-pow(border,2));hyp[3]=Math.sqrt(pow(hyp[1],2)-pow(border,2));bigHyp=smallHyp+hyp[2]+hyp[3]+(isCenter?0:hyp[0]);ratio=bigHyp/smallHyp;result=[round(ratio*height),round(ratio*width)];return{height:result[y?0:1],width:result[y?1:0]};}
$.extend(self,{init:function()
{var enabled=self.detectCorner()&&(hasCanvas||$.browser.msie);if(enabled){self.create();self.update();tooltip.unbind(namespace).bind('tooltipmove'+namespace,reposition);}
return enabled;},detectCorner:function()
{var corner=opts.corner,posOptions=qTip.options.position,at=posOptions.at,my=posOptions.my.string?posOptions.my.string():posOptions.my;if(corner===FALSE||(my===FALSE&&at===FALSE)){return FALSE;}
else{if(corner===TRUE){self.corner=new PLUGINS.Corner(my);}
else if(!corner.string){self.corner=new PLUGINS.Corner(corner);self.corner.fixed=TRUE;}}
return self.corner.string()!=='centercenter';},detectColours:function(){var i,fill,border,tip=elems.tip.css({backgroundColor:'',border:''}),corner=self.corner,precedance=corner[corner.precedance],borderSide='border-'+precedance+'-color',borderSideCamel='border'+precedance.charAt(0)+precedance.substr(1)+'Color',invalid=/rgba?\(0, 0, 0(, 0)?\)|transparent/i,backgroundColor='background-color',transparent='transparent',bodyBorder=$(document.body).css('color'),contentColour=qTip.elements.content.css('color'),useTitle=elems.titlebar&&(corner.y==='top'||(corner.y==='center'&&tip.position().top+(size.height/2)+opts.offset<elems.titlebar.outerHeight(1))),colorElem=useTitle?elems.titlebar:elems.content;tooltip.addClass(fluidClass);color.fill=fill=tip.css(backgroundColor);color.border=border=tip[0].style[borderSideCamel]||tooltip.css(borderSide);if(!fill||invalid.test(fill)){color.fill=colorElem.css(backgroundColor)||transparent;if(invalid.test(color.fill)){color.fill=tooltip.css(backgroundColor)||fill;}}
if(!border||invalid.test(border)||border===bodyBorder){color.border=colorElem.css(borderSide)||transparent;if(invalid.test(color.border)||color.border===contentColour){color.border=border;}}
$('*',tip).add(tip).css(backgroundColor,transparent).css('border','');tooltip.removeClass(fluidClass);},create:function()
{var width=size.width,height=size.height,vml;if(elems.tip){elems.tip.remove();}
elems.tip=$('<div />',{'class':'ui-tooltip-tip'}).css({width:width,height:height}).prependTo(tooltip);if(hasCanvas){$('<canvas />').appendTo(elems.tip)[0].getContext('2d').save();}
else{vml='<vml:shape coordorigin="0,0" style="display:inline-block; position:absolute; behavior:url(#default#VML);"></vml:shape>';elems.tip.html(vml+vml);}},update:function(corner,position)
{var tip=elems.tip,inner=tip.children(),width=size.width,height=size.height,regular='px solid ',transparent='px dashed transparent',mimic=opts.mimic,round=Math.round,precedance,context,coords,translate,newSize;if(!corner){corner=self.corner;}
if(mimic===FALSE){mimic=corner;}
else{mimic=new PLUGINS.Corner(mimic);mimic.precedance=corner.precedance;if(mimic.x==='inherit'){mimic.x=corner.x;}
else if(mimic.y==='inherit'){mimic.y=corner.y;}
else if(mimic.x===mimic.y){mimic[corner.precedance]=corner[corner.precedance];}}
precedance=mimic.precedance;self.detectColours();if(color.border!=='transparent'&&color.border!=='#123456'){border=borderWidth(corner,NULL,TRUE);if(opts.border===0&&border>0){color.fill=color.border;}
self.border=border=opts.border!==TRUE?opts.border:border;}
else{self.border=border=0;}
coords=calculateTip(mimic,width,height);self.size=newSize=calculateSize(corner);tip.css(newSize);if(corner.precedance==='y'){translate=[round(mimic.x==='left'?border:mimic.x==='right'?newSize.width-width-border:(newSize.width-width)/2),round(mimic.y==='top'?newSize.height-height:0)];}
else{translate=[round(mimic.x==='left'?newSize.width-width:0),round(mimic.y==='top'?border:mimic.y==='bottom'?newSize.height-height-border:(newSize.height-height)/2)];}
if(hasCanvas){inner.attr(newSize);context=inner[0].getContext('2d');context.restore();context.save();context.clearRect(0,0,3000,3000);context.translate(translate[0],translate[1]);context.beginPath();context.moveTo(coords[0][0],coords[0][1]);context.lineTo(coords[1][0],coords[1][1]);context.lineTo(coords[2][0],coords[2][1]);context.closePath();context.fillStyle=color.fill;context.strokeStyle=color.border;context.lineWidth=border*2;context.lineJoin='miter';context.miterLimit=100;if(border){context.stroke();}
context.fill();}
else{coords='m'+coords[0][0]+','+coords[0][1]+' l'+coords[1][0]+','+coords[1][1]+' '+coords[2][0]+','+coords[2][1]+' xe';translate[2]=border&&/^(r|b)/i.test(corner.string())?parseFloat($.browser.version,10)===8?2:1:0;inner.css({antialias:''+(mimic.string().indexOf('center')>-1),left:translate[0]-(translate[2]*Number(precedance==='x')),top:translate[1]-(translate[2]*Number(precedance==='y')),width:width+border,height:height+border}).each(function(i){var $this=$(this);$this[$this.prop?'prop':'attr']({coordsize:(width+border)+' '+(height+border),path:coords,fillcolor:color.fill,filled:!!i,stroked:!!!i}).css({display:border||i?'block':'none'});if(!i&&$this.html()===''){$this.html('<vml:stroke weight="'+(border*2)+'px" color="'+color.border+'" miterlimit="1000" joinstyle="miter" '+' style="behavior:url(#default#VML); display:inline-block;" />');}});}
if(position!==FALSE){self.position(corner);}},position:function(corner)
{var tip=elems.tip,position={},userOffset=Math.max(0,opts.offset),precedance,dimensions,corners;if(opts.corner===FALSE||!tip){return FALSE;}
corner=corner||self.corner;precedance=corner.precedance;dimensions=calculateSize(corner);corners=[corner.x,corner.y];if(precedance==='x'){corners.reverse();}
$.each(corners,function(i,side){var b,br;if(side==='center'){b=precedance==='y'?'left':'top';position[b]='50%';position['margin-'+b]=-Math.round(dimensions[precedance==='y'?'width':'height']/2)+userOffset;}
else{b=borderWidth(corner,side,TRUE);br=borderRadius(corner);position[side]=i?border?borderWidth(corner,side):0:userOffset+(br>b?br:0);}});position[corner[precedance]]-=dimensions[precedance==='x'?'width':'height'];tip.css({top:'',bottom:'',left:'',right:'',margin:''}).css(position);return position;},destroy:function()
{if(elems.tip){elems.tip.remove();}
tooltip.unbind(namespace);}});self.init();}
PLUGINS.tip=function(api)
{var self=api.plugins.tip;return'object'===typeof self?self:(api.plugins.tip=new Tip(api));};PLUGINS.tip.initialize='render';PLUGINS.tip.sanitize=function(options)
{var style=options.style,opts;if(style&&'tip'in style){opts=options.style.tip;if(typeof opts!=='object'){options.style.tip={corner:opts};}
if(!(/string|boolean/i).test(typeof opts.corner)){opts.corner=TRUE;}
if(typeof opts.width!=='number'){delete opts.width;}
if(typeof opts.height!=='number'){delete opts.height;}
if(typeof opts.border!=='number'&&opts.border!==TRUE){delete opts.border;}
if(typeof opts.offset!=='number'){delete opts.offset;}}};$.extend(TRUE,QTIP.defaults,{style:{tip:{corner:TRUE,mimic:FALSE,width:6,height:6,border:TRUE,offset:0}}});function BGIFrame(api)
{var self=this,elems=api.elements,tooltip=elems.tooltip,namespace='.bgiframe-'+api.id;$.extend(self,{init:function()
{elems.bgiframe=$('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" '+' style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); '+'-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>');elems.bgiframe.appendTo(tooltip);tooltip.bind('tooltipmove'+namespace,self.adjust);},adjust:function()
{var dimensions=api.get('dimensions'),plugin=api.plugins.tip,tip=elems.tip,tipAdjust,offset;offset=parseInt(tooltip.css('border-left-width'),10)||0;offset={left:-offset,top:-offset};if(plugin&&tip){tipAdjust=(plugin.corner.precedance==='x')?['width','left']:['height','top'];offset[tipAdjust[1]]-=tip[tipAdjust[0]]();}
elems.bgiframe.css(offset).css(dimensions);},destroy:function()
{elems.bgiframe.remove();tooltip.unbind(namespace);}});self.init();}
PLUGINS.bgiframe=function(api)
{var browser=$.browser,self=api.plugins.bgiframe;if($('select, object').length<1||!(browser.msie&&browser.version.charAt(0)==='6')){return FALSE;}
return'object'===typeof self?self:(api.plugins.bgiframe=new BGIFrame(api));};PLUGINS.bgiframe.initialize='render';}(jQuery,window));

//////////////////////////////////////////////////////////////////////////////////
// Cloud Zoom V1.0.2
// (c) 2010 by R Cecco. <http://www.professorcloud.com>
// MIT License
//
// Please retain this copyright header in all versions of the software
//////////////////////////////////////////////////////////////////////////////////
(function($){function format(str){for(var i=1;i<arguments.length;i++){str=str.replace('%'+(i-1),arguments[i]);}
return str;}
function CloudZoom(jWin,opts){var sImg=$('img',jWin);var img1;var img2;var zoomDiv=null;var $mouseTrap=null;var lens=null;var $tint=null;var softFocus=null;var $ie6Fix=null;var zoomImage;var controlTimer=0;var cw,ch;var destU=0;var destV=0;var currV=0;var currU=0;var filesLoaded=0;var mx,my;var ctx=this,zw;setTimeout(function(){if($mouseTrap===null){var w=jWin.width();jWin.parent().append(format('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >Loading...</div>',w/3,(w/2)-(w/6))).find(':last').css('opacity',0.5);}},200);var ie6FixRemove=function(){if($ie6Fix!==null){$ie6Fix.remove();$ie6Fix=null;}};this.removeBits=function(){if(lens){lens.remove();lens=null;}
if($tint){$tint.remove();$tint=null;}
if(softFocus){softFocus.remove();softFocus=null;}
ie6FixRemove();$('.cloud-zoom-loading',jWin.parent()).remove();};this.destroy=function(){jWin.data('zoom',null);if($mouseTrap){$mouseTrap.unbind();$mouseTrap.remove();$mouseTrap=null;}
this.removeBits();};this.fadedOut=function(){this.removeBits();};this.controlLoop=function(){if(lens){var x=(mx-sImg.offset().left-(cw*0.5))>>0;var y=(my-sImg.offset().top-(ch*0.5))>>0;if(x<0){x=0;}
else if(x>(sImg.outerWidth()-cw)){x=(sImg.outerWidth()-cw);}
if(y<0){y=0;}
else if(y>(sImg.outerHeight()-ch)){y=(sImg.outerHeight()-ch);}
lens.css({left:x,top:y});lens.css('background-position',(-x)+'px '+(-y)+'px');destU=(((x)/sImg.outerWidth())*zoomImage.width)>>0;destV=(((y)/sImg.outerHeight())*zoomImage.height)>>0;currU+=(destU-currU)/opts.smoothMove;currV+=(destV-currV)/opts.smoothMove;zoomDiv.css('background-position',(-(currU>>0)+'px ')+(-(currV>>0)+'px'));}
controlTimer=setTimeout(function(){ctx.controlLoop();},30);};this.init2=function(img,id){filesLoaded++;if(id===1){zoomImage=img;}
if(filesLoaded===2){this.init();}};this.init=function(){$('.cloud-zoom-loading',jWin.parent()).remove();$mouseTrap=jWin.parent().append(format("<div class='mousetrap' style='background-image:url(\".\");z-index:999;position:absolute;width:%0px;height:%1px;left:%2px;top:%3px;\'></div>",sImg.outerWidth(),sImg.outerHeight(),0,0)).find(':last');$mouseTrap.bind('mousemove',this,function(event){mx=event.pageX;my=event.pageY;});$mouseTrap.bind('mouseleave',this,function(event){clearTimeout(controlTimer);if(lens){lens.fadeOut(299);}
if($tint){$tint.fadeOut(299);}
if(softFocus){softFocus.fadeOut(299);}
return false;});$mouseTrap.bind('mouseenter',this,function(event){mx=event.pageX;my=event.pageY;zw=event.data;if(zoomDiv){zoomDiv.stop(true,false);}
var xPos=opts.adjustX,yPos=opts.adjustY;var siw=sImg.outerWidth();var sih=sImg.outerHeight();var w=opts.zoomWidth;var h=opts.zoomHeight;if(opts.zoomWidth=='auto'){w=siw;}
if(opts.zoomHeight=='auto'){h=sih;}
var appendTo=jWin.parent();switch(opts.position){case'top':yPos-=h;break;case'right':xPos+=siw;break;case'bottom':yPos+=sih;break;case'left':xPos-=w;break;case'inside':w=siw;h=sih;break;default:appendTo=$('#'+opts.position);if(!appendTo.length){appendTo=jWin;xPos+=siw;yPos+=sih;}else{w=appendTo.innerWidth();h=appendTo.innerHeight();}}
zoomDiv=$("#cloud-zoom-big");if($.browser.msie&&$.browser.version<7){$ie6Fix=$('<iframe frameborder="0" src="#"></iframe>').css({position:"absolute",left:xPos,top:yPos,zIndex:99,width:w,height:h}).insertBefore(zoomDiv);}
if(lens){lens.remove();lens=null;}
cw=(sImg.outerWidth()/zoomImage.width)*zoomDiv.width();ch=(sImg.outerHeight()/zoomImage.height)*zoomDiv.height();lens=jWin.append(format("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>",cw,ch)).find(':last');$mouseTrap.css('cursor',lens.css('cursor'));var noTrans=false;if(opts.tint){lens.css('background','url("'+sImg.attr('src')+'")');$tint=jWin.append(format('<div style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />',sImg.outerWidth(),sImg.outerHeight(),opts.tint)).find(':last');$tint.css('opacity',opts.tintOpacity);noTrans=true;$tint.fadeIn(500);}
if(opts.softFocus){lens.css('background','url("'+sImg.attr('src')+'")');softFocus=jWin.append(format('<div style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />',sImg.outerWidth()-2,sImg.outerHeight()-2,opts.tint)).find(':last');softFocus.css('background','url("'+sImg.attr('src')+'")');softFocus.css('opacity',0.5);noTrans=true;softFocus.fadeIn(500);}
if(!noTrans){lens.css('opacity',opts.lensOpacity);}
if(opts.position!=='inside'){lens.fadeIn(500);}
zw.controlLoop();return;});};img1=new Image();$(img1).load(function(){ctx.init2(this,0);});img1.src=sImg.attr('src');img2=new Image();$(img2).load(function(){ctx.init2(this,1);});img2.src=jWin.attr('href');}
$.fn.CloudZoom=function(options){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}
this.each(function(){var relOpts,opts;eval('var    a = {'+$(this).attr('rel')+'}');relOpts=a;if($(this).is('.cloud-zoom')){$(this).css({'position':'relative','display':'block'});$('img',$(this)).css({'display':'block'});if($(this).parent().attr('id')!='wrap'){$(this).wrap('<div id="wrap" style="top:0px;z-index:9999;position:relative;"></div>');}
opts=$.extend({},$.fn.CloudZoom.defaults,options);opts=$.extend({},opts,relOpts);$(this).data('zoom',new CloudZoom($(this),opts));}else if($(this).is('.cloud-zoom-gallery')){opts=$.extend({},relOpts,options);$(this).data('relOpts',opts);$(this).bind('click',$(this),function(event){var data=event.data.data('relOpts');$('#'+data.useZoom).data('zoom').destroy();$('#'+data.useZoom).attr('href',event.data.attr('href'));$('#'+data.useZoom+' img').attr('src',event.data.data('relOpts').smallImage);$('#'+event.data.data('relOpts').useZoom).CloudZoom();return false;});}});return this;};$.fn.CloudZoom.defaults={zoomWidth:'auto',zoomHeight:'auto',position:'right',tint:false,tintOpacity:0.5,lensOpacity:0.5,softFocus:false,smoothMove:3,showTitle:true,titleOpacity:0.5,adjustX:0,adjustY:0};})(jQuery);





/** FORMCHECKER **/
function myAlert(a){alert(a)}function chkFrm_isOneRadioButtonSelected(a){var b=false;for(k=0;k<a.length;k++){if(a[k].checked){b=true;break}}return b}function chkFrm_isOneCheckboxSelected(a){var b=false;for(k=0;k<a.length;k++){if(a[k].checked){b=true;break}}return b}function CheckDate(a,b){var c,d="";var e;switch(b.toLowerCase()){case"dd/mm/yyyy":var f=a.split("/");if(f.length==3){e=f[1]+"/"+f[0]+"/"+f[2]}else{e=""}break;case"mm/dd/yyyy":e=a;break}c=new Date(e);if(c.getMonth()+1<10){d+="0"}d+=c.getMonth()+1+"/";if(c.getDate()<10){d+="0"}d+=c.getDate()+"/";d+=c.getFullYear();if(d==e&&d.length==10){return true}else{return false}}function valForm_formatDate(a){a.value=a.value.replace(/[\. \-]/g,"/");var b=a.value.split("/");var c="";var d;if(b.length==3){for(d=0;d<b.length-1;d++){if(b[d].length<2){b[d]="0"+b[d]}}while(b[b.length-1].length<4){b[b.length-1]="x"+b[b.length-1]}for(d=0;d<b.length;d++){c+=b[d]+"/"}if(c.substr(c.length-1,1)=="/"){c=c.substr(0,c.length-1)}a.value=c}}function valForm_doRegularExpression(a,b){return a.test(b)==true}function valForm_formatDutchZip(a){a.value=a.value.replace(/ /g,"");a.value=a.value.toUpperCase()}function valForm_ShowErrorMessage(a){var b="";var c=a.getAttribute("data-errortype")?a.getAttribute("data-errortype"):"";var b=a.getAttribute("data-errordiv")?a.getAttribute("data-errordiv"):"";var d=b!=""?document.getElementById(b):null;if(strFormErrorMessage.length>0){switch(c.toLowerCase()){case"alertandinputboxes":myAlert(strFormErrorMessage);break;case"alert":myAlert(strFormErrorMessage);break;case"div":if(d!=null){d.innerHTML=strFormErrorMessage;d.style.display="inline"}else{myAlert('Please set the Form-attribute: "ERRORDIV" to hold the ID of the DIV that will display the errormessage!')}break;case"inputboxes":break;case"":myAlert('Please set the Form-attribute: "ERRORTYPE" to one of the following values: "alert", "div" or "inputboxes" ');break;default:break}}else{switch(c.toLowerCase()){case"div":d.innerHTML="";d.style.display="none";break;default:break}}}function valForm_SetError(a,b){var c=a.getAttribute("data-errortype")?a.getAttribute("data-errortype"):"";switch(c.toLowerCase()){case"alertandinputboxes":strFormErrorMessage+=b.getAttribute("data-required-errormsg")+"\n";if(b.getAttribute("data-normalclass")==null){b.setAttribute("data-normalclass",b.className,0);b.className=b.getAttribute("data-errorclass")}if(firstObj==null)firstObj=b;break;case"alert":strFormErrorMessage+=b.getAttribute("data-required-errormsg")+"\n";if(firstObj==null)firstObj=b;break;case"div":strFormErrorMessage+=b.getAttribute("data-required-errormsg")+"<BR>";break;case"inputboxes":strFormErrorMessage=" ";if(b.getAttribute("data-normalclass")==null){b.setAttribute("data-normalclass",b.className,0);b.className=b.getAttribute("data-errorclass")}break;case"":strFormErrorMessage=" ";break;default:break}}function valForm_SetOK(a,b){if(b.getAttribute("data-normalclass")!=null){b.className=b.getAttribute("data-normalclass");b.removeAttribute("data-normalclass",false)}}function ResetForm(a){for(var b=0;b<a.length;b++){if(a[b].getAttribute("data-required")!=null){valForm_SetOK(a,a[b])}}}function valForm_FixCheckBoxes(a){var b=null;for(var c=0;c<a.length;c++){if(a[c].tagName!="FIELDSET"&&a[c].type.toLowerCase()=="checkbox"){if(a[c].checked==false){b=document.createElement("INPUT");b.type="hidden";b.name=a[c].name;b.value=a[c].getAttribute("ALTERNATIVEVALUE");if(a[c].nextSibling){if(a[c].nextSibling.nodeName.toUpperCase()=="#TEXT"){a[c].parentNode.appendChild(b)}else{a[c].nextSibling.insertBefore(b)}}else{a[c].parentNode.appendChild(b)}}}}}function checkControl(a,b){var c="";var d=b.getAttribute("data-required-errormsg");var e=b.getAttribute("data-required");var f=b.getAttribute("data-required-type");var g="";if(e.toLowerCase()=="true"||e.toLowerCase()=="optional"){if(e.toLowerCase()=="optional"&&b.value==""){valForm_SetOK(a,b)}else{switch(f.toLowerCase()){case"text":if(b.value==""){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"dutchzip":valForm_formatDutchZip(b);c=b.value;g=/^[0-9]{4}\s{0,1}[a-zA-Z]{2}$/;if(valForm_doRegularExpression(g,c)==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"phonenumber":c=b.value;g=/^[\d\(\)\-\+\*\# ]+$/;if(valForm_doRegularExpression(g,c)==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"numeric":c=b.value;g=/^[0-9]+$/;if(valForm_doRegularExpression(g,c)==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"password":c=b.value;g=/(?=^.{8,30}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{"":;'?/>.<,]).*$/;if(valForm_doRegularExpression(g,c)==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"email":c=b.value;g=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/;if(valForm_doRegularExpression(g,c)==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"dd/mm/yyyy":valForm_formatDate(b);if(CheckDate(b.value,"dd/mm/yyyy")==false){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"select":if(b.value==""){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}break;case"check":var h=document.getElementsByName(b.name);if(chkFrm_isOneCheckboxSelected(h)){valForm_SetOK(a,b)}else{valForm_SetError(a,b)}break;case"radio":var i=document.getElementsByName(b.name);if(b.name!=strLastCheckedRadio){strLastCheckedRadio=b.name;if(!chkFrm_isOneRadioButtonSelected(i)){valForm_SetError(a,b)}else{valForm_SetOK(a,b)}}break;default:break}}}}function validateForm(a){var b="";var c="";var d;firstObj=null;checkedCheckboxes.clear();strFormErrorMessage="";for(var e=0;e<a.length;e++){if(a[e].getAttribute("data-required")!=null){b=a[e].getAttribute("data-required");c=a[e].getAttribute("data-required-type");strName=a[e].name;d=false;if(b!=null){if(b.toLowerCase()=="true"||b.toLowerCase()=="optional"){d=true}}if(checkedCheckboxes.contains(strName)==false){if(a[e].nodeName.toLowerCase()=="input"){checkedCheckboxes.push(strName)}}else{d=false}if(d==true){checkControl(a,a[e])}}}valForm_ShowErrorMessage(a);if(firstObj!=null){try{firstObj.focus()}catch(f){window.console("error")}}if(strFormErrorMessage.length==0){valForm_FixCheckBoxes(a)}return strFormErrorMessage.length>0?false:true}Array.prototype.clear=function(){this.length=0};Array.prototype.contains=function(a){for(var b=0;b<this.length;b++){if(this[b]==a){return true}}return false};var strFormErrorMessage="";var checkedCheckboxes=new Array;var strLastCheckedRadio="";var firstObj=null;
