	/************************************
	mindshelf Framework
	========
	http://www.mindshelf.com
	Copyright (C) mindshelf - Matt Hallam. All rights reserved.
	The software, this file and its contents are subject to the mindshelf Framework License.
	Please read the license.txt file before using, installing, copying, modifying or distribute this file or part of its contents.
	The contents of this file is part of the Source Code of mindshelf Framework.
************************************/
(function(){
	try{
		//window.console=false;
	}catch(e){};
	if(typeof mJS=='undefined')
		mJS={};
	mJS.business='Andrew Blake';
	mJS.id=mJS.business.replace(/[^a-zA-z0-9]/gi,'').toLowerCase();
	mJS.wwwroot='http://'+document.location.hostname+((document.location.hostname=='localhost'||document.location.hostname=='172.168.1.18'||document.location.hostname=='82.19.98.210')?'/andrewblake2010':'')+'/';
	mJS.imgroot=mJS.wwwroot+'_img/';
	mJS.processing=false;
	mJS.monitor=true;
	mJS.doctypes=new Array('doc','docx','txt','rtf','pdf');
	mJS.debug=function(a){
		if(mJS.monitor)//&&a.toLowerCase().indexOf('ckeditor')<0)
			alert(a);
	};
	mJS.error=function(m,u,l){
		mJS.debug(m+' '+u+' '+l);
		//return true;
	};
	mJS.process=function(a){
		if(a){
			$('body, body *').addClass('processing').attr('disabled','disabled');
		}else{
			$('body,body *').removeClass('processing').removeAttr('disabled');
		};
		mJS.processing=$('body').hasClass('processing');
	};
	mJS.check={
		type:function(a){
			if(!a)
				return false;
			return eval("typeof(a)").toLowerCase();
		},
		exists:function(a){
			if(!a)
				return false;
			try{
				return((this.type(a)!='undefined')?true:false);
			}catch(e){return false;}
		},
		obj:function(a){
			return((this.type(a)=='object')?true:false);
		},
		fn:function(a){
			return((this.type(a)=='function')?true:false);
		},
		arr:function(a){
			return((this.type(a)=='object')?true:false);
		},
		int:function(a){
			return((this.type(a)=='number')?true:false);
		},
		str:function(a){
			return((this.type(a)=='string')?true:false);
		},
		bool:function(a){
			return((this.type(a)=='boolean')?true:false);
		}
	};
	mJS.int2d=function(i){
		return((i<10)?'0'+i:i);
	};
	mJS.datetime=function(){
		d=new Date;
		$('.datetime').html(mJS.int2d(d.getHours())+':'+mJS.int2d(d.getMinutes())+':'+mJS.int2d(d.getSeconds())+' '+mJS.int2d(d.getDate())+'/'+mJS.int2d(d.getMonth()+1)+'/'+d.getFullYear());
		setTimeout(mJS.datetime,1000);
	};
	mJS.array={
		push:function(a,b){
			a[a.length]=b;
		},
		in_array:function(a,b){
			var c=a.length;
			for(var i=0;i<c;i++)
				if(a[i]==b)
					return true;
			return false;
		}
	};
	mJS.string={
		ajax:function(a){
			if(a){
				return './javascript/library/'+a+'.mJS';
			}
		},
		verify:{
			email:function(a){
				return((a.match(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/))?true:false);
			},
			doc:function(a){
				return mJS.array.in_array(mJS.doctypes,mJS.string.fileextension(a));
			}
		},
		classsafe:function(a){
			return a.replace(/[^\d\w]/gi,'').toLowerCase();
		},
		filesafe:function(a){
			return 'mJS'+a.replace(/[^\d\w]/gi,'');
		},
		fileextension:function(a){
			return a.substr(a.lastIndexOf('.')+1,a.length);
		},
		jsondo:function(a){
			return JSON.stringify(a);
		},
		jsonend:function(a){
			try{
				a=JSON.parse(a);
			}catch(e){
				mJS.debug(e);
				delete a;
				return false;
			}
			return a;
		},
		jsonattr:function(a){
			return mJS.string.jsondo(a).replace(/"/gi,'\'');
		},
		jsonrttr:function(a){
			return mJS.string.jsonend(a.replace(/'/gi,'"'));
		}
	};
	mJS.js=mJS.ext=mJS.css={};
	mJS.reg=function(a,b){
		eval('mJS.'+a+'.'+b+'="'+b+'";');
	};
	mJS.__load=function(s,f){
		if(s==''){
			return false;
		};
		var a=mJS.string.fileextension(s);
		if(a=='js'){
			var a=document.createElement('script');
			var b=mJS.string.filesafe(s);
			a.src=s;
			a.type='text/javascript';
			a.id=b;
			a.onreadystatechange=function(){
				if((this.readyState=='loaded'||this.readyState=='complete')){
					if(mJS.check.fn(f))
						f();
				}
			};
			a.onload=function(){
				$(this).removeAttr('onload').removeAttr('onreadystatechange');
				if(mJS.check.fn(f))
					f();
			}
			document.getElementsByTagName('head')[0].appendChild(a);
			mJS.reg('js',b);
			if($)
				return $('#'+b);
			else
				return document.getElementById(b);
		}else if(a=='css'){
			$.get(s,function(d){
				var a=mJS.string.fileextension(s);
				var b=new String();
				var c=mJS.string.filesafe(s);
				if(a=='js')
					var b='<scr'+'ipt type="text/javascript" id="'+c+'" src="'+s+'"></scr'+'ipt>';
				else if(a=='css')
					var b='<sty'+'le type="text/css" rel="stylesheet" id="'+c+'">'+d+'</sty'+'le>';
				if(typeof b!='undefined'){
					$('head').append(b);
					mJS.reg(a,c);
					if(mJS.check&&mJS.check.fn(f))
						f();
					return $('#'+c);
				}
			});
		};
	};
	mJS.preload=function(a){
		var b=new Image;
		b.onload=function(){
			try{
				delete this;
			}catch(e){};
		};
		b.src=a;
	};
	if(typeof $=='undefined'){
		$=false;
		mJS.__load('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js',function(){
			mJS.__load('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js',function(){
				$(document).ready(function(){
					$('.datepicker').datepicker({dateFormat:'yy-mm-dd'});
				});
			});
			$(document).ready(function(){
				mJS.process(1);
				$('link').each(function(){
					var a=mJS.string.filesafe($(this).attr('href'));
					$(this).attr('id',a);
					mJS.reg('css',a);
					delete a;
				});
				$('script').each(function(){
					if(!$(this).attr('src')||$(this).attr('src')!='')
						return false;
					var a=mJS.string.filesafe($(this).attr('src'));
					$(this).attr('id',a);
					mJS.reg('js',a);
					delete a;
				});
				window.onerror=mJS.error;
				mJS.process();
				mJS.ini();
			});
		});
	};
	mJS.ini=function(){
		;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
		;(function(b){b.fn.dragsort=function(o){var e=b.extend({},b.fn.dragsort.defaults,o),j=[],a=null,l=null;this.selector&&b("head").append("<style type='text/css'>"+(this.selector.split(",").join(" "+e.dragSelector+",")+" "+e.dragSelector)+" { cursor: pointer; }</style>");this.each(function(p,k){if(b(k).is("table")&&b(k).children().size()==1&&b(k).children().is("tbody"))k=b(k).children().get(0);var n={draggedItem:null,placeHolderItem:null,pos:null,offset:null,offsetLimit:null,scroll:null,container:k,init:function(){b(this.container).attr("data-listIdx", p).mousedown(this.grabItem).find(e.dragSelector).css("cursor","pointer");b(this.container).children(e.itemSelector).each(function(d){b(this).attr("data-itemIdx",d)})},grabItem:function(d){if(!(d.which!=1||b(d.target).is(e.dragSelectorExclude))){for(var c=d.target;!b(c).is("[data-listIdx='"+b(this).attr("data-listIdx")+"'] "+e.dragSelector);){if(c==this)return;c=c.parentNode}a!=null&&a.draggedItem!=null&&a.dropItem();b(d.target).css("cursor","move");a=j[b(this).attr("data-listIdx")];a.draggedItem= b(c).closest(e.itemSelector);c=parseInt(a.draggedItem.css("marginTop"));var f=parseInt(a.draggedItem.css("marginLeft"));a.offset=a.draggedItem.offset();a.offset.top=d.pageY-a.offset.top+(isNaN(c)?0:c)-1;a.offset.left=d.pageX-a.offset.left+(isNaN(f)?0:f)-1;if(!e.dragBetween){c=b(a.container).outerHeight()==0?Math.max(1,Math.round(0.5+b(a.container).children(e.itemSelector).size()*a.draggedItem.outerWidth()/b(a.container).outerWidth()))*a.draggedItem.outerHeight():b(a.container).outerHeight();a.offsetLimit= b(a.container).offset();a.offsetLimit.right=a.offsetLimit.left+b(a.container).outerWidth()-a.draggedItem.outerWidth();a.offsetLimit.bottom=a.offsetLimit.top+c-a.draggedItem.outerHeight()}c=a.draggedItem.height();f=a.draggedItem.width();var h=a.draggedItem.attr("style");a.draggedItem.attr("data-origStyle",h?h:"");if(e.itemSelector=="tr"){a.draggedItem.children().each(function(){b(this).width(b(this).width())});a.placeHolderItem=a.draggedItem.clone().attr("data-placeHolder",true);a.draggedItem.after(a.placeHolderItem); a.placeHolderItem.children().each(function(){b(this).css({borderWidth:0,width:b(this).width()+1,height:b(this).height()+1}).html("&nbsp;")})}else{a.draggedItem.after(e.placeHolderTemplate);a.placeHolderItem=a.draggedItem.next().css({height:c,width:f}).attr("data-placeHolder",true)}a.draggedItem.css({position:"absolute",opacity:0.8,"z-index":999,height:c,width:f});b(j).each(function(g,i){i.createDropTargets();i.buildPositionTable()});a.scroll={moveX:0,moveY:0,maxX:b(document).width()-b(window).width(), maxY:b(document).height()-b(window).height()};a.scroll.scrollY=window.setInterval(function(){if(e.scrollContainer!=window)b(e.scrollContainer).scrollTop(b(e.scrollContainer).scrollTop()+a.scroll.moveY);else{var g=b(e.scrollContainer).scrollTop();if(a.scroll.moveY>0&&g<a.scroll.maxY||a.scroll.moveY<0&&g>0){b(e.scrollContainer).scrollTop(g+a.scroll.moveY);a.draggedItem.css("top",a.draggedItem.offset().top+a.scroll.moveY+1)}}},10);a.scroll.scrollX=window.setInterval(function(){if(e.scrollContainer!= window)b(e.scrollContainer).scrollLeft(b(e.scrollContainer).scrollLeft()+a.scroll.moveX);else{var g=b(e.scrollContainer).scrollLeft();if(a.scroll.moveX>0&&g<a.scroll.maxX||a.scroll.moveX<0&&g>0){b(e.scrollContainer).scrollLeft(g+a.scroll.moveX);a.draggedItem.css("left",a.draggedItem.offset().left+a.scroll.moveX+1)}}},10);a.setPos(d.pageX,d.pageY);b(document).bind("selectstart",a.stopBubble);b(document).bind("mousemove",a.swapItems);b(document).bind("mouseup",a.dropItem);e.scrollContainer!=window&& b(window).bind("DOMMouseScroll mousewheel",a.wheel);return false}},setPos:function(d,c){var f=c-this.offset.top,h=d-this.offset.left;if(!e.dragBetween){f=Math.min(this.offsetLimit.bottom,Math.max(f,this.offsetLimit.top));h=Math.min(this.offsetLimit.right,Math.max(h,this.offsetLimit.left))}this.draggedItem.parents().each(function(){if(b(this).css("position")!="static"&&(!b.browser.mozilla||b(this).css("display")!="table")){var m=b(this).offset();f-=m.top;h-=m.left;return false}});if(e.scrollContainer== window){c-=b(window).scrollTop();d-=b(window).scrollLeft();c=Math.max(0,c-b(window).height()+5)+Math.min(0,c-5);d=Math.max(0,d-b(window).width()+5)+Math.min(0,d-5)}else{var g=b(e.scrollContainer),i=g.offset();c=Math.max(0,c-g.height()-i.top)+Math.min(0,c-i.top);d=Math.max(0,d-g.width()-i.left)+Math.min(0,d-i.left)}a.scroll.moveX=d==0?0:d*e.scrollSpeed/Math.abs(d);a.scroll.moveY=c==0?0:c*e.scrollSpeed/Math.abs(c);this.draggedItem.css({top:f,left:h})},wheel:function(d){if((b.browser.safari||b.browser.mozilla)&& a&&e.scrollContainer!=window){var c=b(e.scrollContainer),f=c.offset();if(d.pageX>f.left&&d.pageX<f.left+c.width()&&d.pageY>f.top&&d.pageY<f.top+c.height()){f=d.detail?d.detail*5:d.wheelDelta/-2;c.scrollTop(c.scrollTop()+f);d.preventDefault()}}},buildPositionTable:function(){var d=this.draggedItem==null?null:this.draggedItem.get(0),c=[];b(this.container).children(e.itemSelector).each(function(f,h){if(h!=d){var g=b(h).offset();g.right=g.left+b(h).width();g.bottom=g.top+b(h).height();g.elm=h;c.push(g)}}); this.pos=c},dropItem:function(){if(a.draggedItem!=null){b(a.container).find(e.dragSelector).css("cursor","pointer");a.placeHolderItem.before(a.draggedItem);var d=a.draggedItem.attr("data-origStyle");/*if(d=="")*/a.draggedItem.removeAttr("style");/*else{a.draggedItem.attr("style",d);a.removeAttr("data-origStyle")}*/a.placeHolderItem.remove();b("[data-dropTarget]").remove();window.clearInterval(a.scroll.scrollY);window.clearInterval(a.scroll.scrollX);var c=false;b(j).each(function(){b(this.container).children(e.itemSelector).each(function(f){if(parseInt(b(this).attr("data-itemIdx"))!= f){c=true;b(this).attr("data-itemIdx",f)}})});c&&e.dragEnd.apply(a.draggedItem);a.draggedItem=null;b(document).unbind("selectstart",a.stopBubble);b(document).unbind("mousemove",a.swapItems);b(document).unbind("mouseup",a.dropItem);e.scrollContainer!=window&&b(window).unbind("DOMMouseScroll mousewheel",a.wheel);return false}},stopBubble:function(){return false},swapItems:function(d){if(a.draggedItem==null)return false;a.setPos(d.pageX,d.pageY);for(var c=a.findPos(d.pageX,d.pageY),f=a,h=0;c==-1&&e.dragBetween&& h<j.length;h++){c=j[h].findPos(d.pageX,d.pageY);f=j[h]}if(c==-1||b(f.pos[c].elm).attr("data-placeHolder"))return false;l==null||l.top>a.draggedItem.offset().top||l.left>a.draggedItem.offset().left?b(f.pos[c].elm).before(a.placeHolderItem):b(f.pos[c].elm).after(a.placeHolderItem);b(j).each(function(g,i){i.createDropTargets();i.buildPositionTable()});l=a.draggedItem.offset();return false},findPos:function(d,c){for(var f=0;f<this.pos.length;f++)if(this.pos[f].left<d&&this.pos[f].right>d&&this.pos[f].top< c&&this.pos[f].bottom>c)return f;return-1},createDropTargets:function(){e.dragBetween&&b(j).each(function(){var d=b(this.container).find("[data-placeHolder]"),c=b(this.container).find("[data-dropTarget]");if(d.size()>0&&c.size()>0)c.remove();else d.size()==0&&c.size()==0&&b(this.container).append(a.placeHolderItem.clone().removeAttr("data-placeHolder").attr("data-dropTarget",true))})}};n.init();j.push(n)});return this};b.fn.dragsort.defaults={itemSelector:"li",dragSelector:"li",dragSelectorExclude:"input, textarea, a[href]", dragEnd:function(){},dragBetween:false,placeHolderTemplate:"<li>&nbsp;</li>",scrollContainer:window,scrollSpeed:5}})(jQuery);
		$.fn.extend({
			scrollingtables:function(settings){
				settings=$.extend({
					width:false,
					height:'200px'
				},settings);
				var j=0,header=tablecontent='';
				return this.each(function(){
					obj=$(this);
					if(obj.find('th').length>0){
						header=obj.find('th').closest('tr');
						tablecontent='<div style="'+((settings.width)?'width:'+settings.width+';':'')+'height:'+settings.height+';" class="scrollingtables_container"><table class="scrollingtables_table"><tbody>'+obj.html().split(header.html()).join('').replace(/\>([\s\r\n]+)\</gi,'><').replace(/\<tr\>\<\/tr\>/gi,'')+'</tbody></table></div>';
					}else{
						header=false;
						tablecontent=obj.html();
					};
					var a=((header)?'<table class="scrollingtables_header"><thead><tr>'+header.html()+'</tr></thead></table>':'')+tablecontent.toLowerCase().replace(/\<tbody\>\<tbody\>/gi,'<tbody>').replace(/\<\/tbody\>\<\/tbody\>/gi,'<tbody>');
					obj.after(a);
					if(header){
						obj.next('.scrollingtables_header').find('th').each(function(i,val){
							w=obj.next('.scrollingtables_header').next('.scrollingtables_container').find('.scrollingtables_table tr:eq(0) td:eq('+i+')').width();
							obj.next('.scrollingtables_header').find('th:eq('+i+')').width(w);
							obj.next('.scrollingtables_header').next('.scrollingtables_container').find('.scrollingtables_table tr:eq(0) td:eq('+i+')').width(w);
						});
					};
					if(!settings.width){
						w=obj.next('.scrollingtables_header').next('.scrollingtables_container').find('.scrollingtables_table').width();
						obj.next('.scrollingtables_header').next('.scrollingtables_container').width(obj.next('.scrollingtables_header').next('.scrollingtables_container').find('.scrollingtables_table').width()+20);
					}else{
						obj.next('.scrollingtables_header').next('.scrollingtables_container').css({overflowX:'hidden'}).find('.scrollingtables_table').width(settings.width);
						obj.next('.scrollingtables_header').width(settings.width);
					}
					if(j==0){
						obj.next('.scrollingtables_header').next('.scrollingtables_container').find('.scrollingtables_table tr:odd').addClass('alternate');
						j=1;
					}
					obj.remove();
				});
			}
		});
		$(document).ready(function(){
			$('iframe').each(function(i,val){
				$('iframe:eq('+i+')').bind('load',function(){
					try{
						$(this).removeAttr('height').css('height','').height($(this).contents().height());
					}catch(e){}
					$('.location_strip').css({height:$(document).height()+'px'});
					$(this).contents().find('a[href]').click(function(){
						document.location.hash='#top';
					});
				}).bind('ready',function(){
					$(this).load();
					$(this).attr('onload','$(this).load();');
				}).load();
				$(document,$('iframe:eq('+i+')')).live('ready',function(){
					$(this).load();
				});
			});
		});
		if(mJS.check.fn(mindshelf))
			mindshelf();
		if(typeof(modular)!=='undefined'&&mJS.check.fn(modular))
			modular();
		if(typeof(mJS.modular)!=='undefined'&&mJS.check.fn(mJS.modular))
			mJS.modular();
	};
})();
