/*
 * Inline Form Validation Engine 1.4, jQuery plugin
 *
 * Copyright(c) 2009, Cedric Dugas
 * http://www.position-relative.net
 *
 * Form validation engine which allow custom regex rules to be added.
 * Licenced under the MIT Licence
 */
(function($){$.fn.validationEngine=function(settings){if($.validationEngineLanguage){allRules=$.validationEngineLanguage.allRules}else{allRules={"required":{"regex":"none","alertText":"* This field is required","alertTextCheckboxMultiple":"* Please select an option","alertTextCheckboxe":"* This checkbox is required"},"length":{"regex":"none","alertText":"* Enter ","alertText2":" - ","alertText3":" characters"},"maxCheckbox":{"regex":"none","alertText":"* Checks allowed Exceeded"},"minCheckbox":{"regex":"none","alertText":"* Please select ","alertText2":" options"},"confirm":{"regex":"none","alertText":"* Your field is not matching"},"telephone":{"regex":"/^[0-9\-\(\)\ ]+$/","alertText":"* Invalid phone number"},"email":{"regex":"/^[a-zA-Z0-9_+\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/","alertText":"* Invalid email address"},"date":{"regex":"/^[0-9]{4}\-\[0-9]{1,2}\-\[0-9]{1,2}$/","alertText":"* Invalid date, must be in YYYY-MM-DD format"},"onlyNumber":{"regex":"/^[0-9\ ]+$/","alertText":"* Numbers only"},"noSpecialCaracters":{"regex":"/^[0-9a-zA-Z]+$/","alertText":"* No special caracters allowed"},"ajaxUser":{"file":"validateUser.php","alertTextOk":"* This user is available","alertTextLoad":"* Loading, please wait","alertText":"* This user is already taken"},"ajaxName":{"file":"validateUser.php","alertText":"* This name is already taken","alertTextOk":"* This name is available","alertTextLoad":"* Loading, please wait"},"onlyLetter":{"regex":"/^[a-zA-Z\ \']+$/","alertText":"* Letters only"}}}
settings=jQuery.extend({allrules:allRules,inlineValidation:true,ajaxSubmit:false,promptPosition:"bottomRight",success:false,failure:function(){}},settings);$.validationEngine.ajaxValidArray=new Array()
$(this).bind("submit",function(caller){$.validationEngine.onSubmitValid=true;if($.validationEngine.submitValidation(this,settings)==false){if($.validationEngine.submitForm(this,settings)==true){return false;}}else{settings.failure&&settings.failure();return false;}})
if(settings.inlineValidation==true){$(this).find("[class^=validate]").not("[type=checkbox]").bind("blur",function(caller){_inlinEvent(this)})
$(this).find("[class^=validate][type=checkbox]").bind("click",function(caller){_inlinEvent(this)})
function _inlinEvent(caller){if($.validationEngine.intercept==false||!$.validationEngine.intercept){$.validationEngine.onSubmitValid=false;$.validationEngine.loadValidation(caller,settings);}else{$.validationEngine.intercept=false;}}}};$.validationEngine={submitForm:function(caller){if($.validationEngine.settings.ajaxSubmit){$.ajax({type:"POST",url:$.validationEngine.settings.ajaxSubmitFile,async:true,data:$(caller).serialize(),beforeSend:function(){},success:function(data){if(data=="true"){$(caller).css("opacity",1)
$(caller).animate({opacity:0,height:0},function(){$(caller).css("display","none")
$(caller).before("<div class='ajaxSubmit'>"+$.validationEngine.settings.ajaxSubmitMessage+"</div>")
$.validationEngine.closePrompt(".formError",true)
$(".ajaxSubmit").show("slow")
if($.validationEngine.settings.success){$.validationEngine.settings.success&&$.validationEngine.settings.success();return false;}})}else{data=eval("("+data+")");errorNumber=data.jsonValidateReturn.length
for(index=0;index<errorNumber;index++){fieldId=data.jsonValidateReturn[index][0];promptError=data.jsonValidateReturn[index][1];type=data.jsonValidateReturn[index][2];$.validationEngine.buildPrompt(fieldId,promptError,type);}}}})
return true;}
if($.validationEngine.settings.success){$.validationEngine.settings.success&&$.validationEngine.settings.success();return true;}
return false;},buildPrompt:function(caller,promptText,type,ajaxed){var divFormError=document.createElement('div');var formErrorContent=document.createElement('div');linkTofield=$(caller).attr("id")+"formError";linkTofield=linkTofield.replace("[","");linkTofield=linkTofield.replace("]","");$(divFormError).addClass("formError")
if(type=="pass"){$(divFormError).addClass("greenPopup")}
if(type=="load"){$(divFormError).addClass("blackPopup")}
if(ajaxed){$(divFormError).addClass("ajaxed")}
$(divFormError).addClass(linkTofield)
$(formErrorContent).addClass("formErrorContent")
$("body").append(divFormError)
$(divFormError).append(formErrorContent)
if($.validationEngine.showTriangle!=false){var arrow=document.createElement('div')
$(arrow).addClass("formErrorArrow")
$(divFormError).append(arrow)
if($.validationEngine.settings.promptPosition=="bottomLeft"||$.validationEngine.settings.promptPosition=="bottomRight"){$(arrow).addClass("formErrorArrowBottom")
$(arrow).html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>');}
if($.validationEngine.settings.promptPosition=="topLeft"||$.validationEngine.settings.promptPosition=="topRight"){$(divFormError).append(arrow)
$(arrow).html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>');}}
$(formErrorContent).html(promptText)
callerTopPosition=$(caller).offset().top;callerleftPosition=$(caller).offset().left;callerWidth=$(caller).width()
inputHeight=$(divFormError).height()
if($.validationEngine.settings.promptPosition=="topRight"){callerleftPosition+=callerWidth-30;callerTopPosition+=-inputHeight-10;}
if($.validationEngine.settings.promptPosition=="topLeft"){callerTopPosition+=-inputHeight-10;}
if($.validationEngine.settings.promptPosition=="centerRight"){callerleftPosition+=callerWidth+13;}
if($.validationEngine.settings.promptPosition=="bottomLeft"){callerHeight=$(caller).height();callerleftPosition=callerleftPosition;callerTopPosition=callerTopPosition+callerHeight+15;}
if($.validationEngine.settings.promptPosition=="bottomRight"){callerHeight=$(caller).height();callerleftPosition+=callerWidth-190;callerTopPosition+=callerHeight+25;}
$(divFormError).css({top:callerTopPosition,left:callerleftPosition,opacity:0})
return $(divFormError).animate({"opacity":0.87},function(){return true;});},updatePromptText:function(caller,promptText,type,ajaxed){linkTofield=$(caller).attr("id")+"formError";linkTofield=linkTofield.replace("[","");linkTofield=linkTofield.replace("]","");updateThisPrompt="."+linkTofield
(type=="pass")?$(updateThisPrompt).addClass("greenPopup"):$(updateThisPrompt).removeClass("greenPopup");(type=="load")?$(updateThisPrompt).addClass("blackPopup"):$(updateThisPrompt).removeClass("blackPopup");(ajaxed)?$(updateThisPrompt).addClass("ajaxed"):$(updateThisPrompt).removeClass("ajaxed");$(updateThisPrompt).find(".formErrorContent").html(promptText)
callerTopPosition=$(caller).offset().top;inputHeight=$(updateThisPrompt).height()
if($.validationEngine.settings.promptPosition=="bottomLeft"||$.validationEngine.settings.promptPosition=="bottomRight"){callerHeight=$(caller).height()
callerTopPosition=callerTopPosition+callerHeight+15}
if($.validationEngine.settings.promptPosition=="centerRight"){callerleftPosition+=callerWidth+13;}
if($.validationEngine.settings.promptPosition=="topLeft"||$.validationEngine.settings.promptPosition=="topRight"){callerTopPosition=callerTopPosition-inputHeight-10}
$(updateThisPrompt).animate({top:callerTopPosition});},loadValidation:function(caller,settings){$.validationEngine.settings=settings
rulesParsing=$(caller).attr('class');rulesRegExp=/\[(.*)\]/;getRules=rulesRegExp.exec(rulesParsing);str=getRules[1]
pattern=/\W+/;result=str.split(pattern);var validateCalll=$.validationEngine.validateCall(caller,result)
return validateCalll},validateCall:function(caller,rules){var promptText=""
var prompt=$(caller).attr("id");var caller=caller;ajaxValidate=false
var callerName=$(caller).attr("name")
$.validationEngine.isError=false;$.validationEngine.showTriangle=true
callerType=$(caller).attr("type");for(i=0;i<rules.length;i++){switch(rules[i]){case"optional":if(!$(caller).val()){$.validationEngine.closePrompt(caller)
return $.validationEngine.isError}
break;case"required":_required(caller,rules);break;case"custom":_customRegex(caller,rules,i);break;case"ajax":if(!$.validationEngine.onSubmitValid){_ajax(caller,rules,i);}
break;case"length":_length(caller,rules,i);break;case"maxCheckbox":_maxCheckbox(caller,rules,i);groupname=$(caller).attr("name");caller=$("input[name='"+groupname+"']")
break;case"minCheckbox":_minCheckbox(caller,rules,i);groupname=$(caller).attr("name");caller=$("input[name='"+groupname+"']")
break;case"confirm":_confirm(caller,rules,i);break;default:;};};if($.validationEngine.isError==true){radioHackOpen();if($.validationEngine.isError==true){($("div."+prompt).size()==0)?$.validationEngine.buildPrompt(caller,promptText,"error"):$.validationEngine.updatePromptText(caller,promptText);}}else{radioHackClose();$.validationEngine.closePrompt(caller);}
function radioHackOpen(){if($("input[name="+callerName+"]").size()>1&&callerType=="radio"){caller=$("input[name="+callerName+"]:first");$.validationEngine.showTriangle=false;var callerId="."+$(caller).attr("id");if($(callerId).size()==0){$.validationEngine.isError=true;}else{$.validationEngine.isError=false;}}
if($("input[name="+callerName+"]").size()>1&&callerType=="checkbox"){caller=$("input[name="+callerName+"]:first");$.validationEngine.showTriangle=false;var callerId="div."+$(caller).attr("id");if($(callerId).size()==0){$.validationEngine.isError=true;}else{$.validationEngine.isError=false;}}}
function radioHackClose(){if($("input[name="+callerName+"]").size()>1&&callerType=="radio"){caller=$("input[name="+callerName+"]:first");}
if($("input[name="+callerName+"]").size()>1&&callerType=="checkbox"){caller=$("input[name="+callerName+"]:first");}}
function _required(caller,rules){callerType=$(caller).attr("type");if(callerType=="text"||callerType=="password"||callerType=="textarea"){if(!$(caller).val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}
if(callerType=="radio"||callerType=="checkbox"){callerName=$(caller).attr("name");if($("input[name="+callerName+"]:checked").size()==0){$.validationEngine.isError=true;if($("input[name="+callerName+"]").size()==1){promptText+=$.validationEngine.settings.allrules[rules[i]].alertTextCheckboxe+"<br />";}else{promptText+=$.validationEngine.settings.allrules[rules[i]].alertTextCheckboxMultiple+"<br />";}}}
if(callerType=="select-one"){callerName=$(caller).attr("id");if(!$("select[name="+callerName+"]").val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}
if(callerType=="select-multiple"){callerName=$(caller).attr("id");if(!$("#"+callerName).val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}}
function _customRegex(caller,rules,position){customRule=rules[position+1];pattern=eval($.validationEngine.settings.allrules[customRule].regex);if(!pattern.test($(caller).attr('value'))){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[customRule].alertText+"<br />";}}
function _ajax(caller,rules,position){customAjaxRule=rules[position+1];postfile=$.validationEngine.settings.allrules[customAjaxRule].file;fieldValue=$(caller).val();ajaxCaller=caller;fieldId=$(caller).attr("id");ajaxValidate=true;ajaxisError=$.validationEngine.isError;if(!ajaxisError){$.ajax({type:"POST",url:postfile,async:true,data:"validateValue="+fieldValue+"&validateId="+fieldId+"&validateError="+customAjaxRule,beforeSend:function(){if($.validationEngine.settings.allrules[customAjaxRule].alertTextLoad){if(!$("div."+fieldId)[0]){return $.validationEngine.buildPrompt(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load");}else{$.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load");}}},success:function(data){data=eval("("+data+")");ajaxisError=data.jsonValidateReturn[2];customAjaxRule=data.jsonValidateReturn[1];ajaxCaller=$("#"+data.jsonValidateReturn[0])[0];fieldId=ajaxCaller;ajaxErrorLength=$.validationEngine.ajaxValidArray.length
existInarray=false;if(ajaxisError=="false"){_checkInArray(false)
if(!existInarray){$.validationEngine.ajaxValidArray[ajaxErrorLength]=new Array(2)
$.validationEngine.ajaxValidArray[ajaxErrorLength][0]=fieldId
$.validationEngine.ajaxValidArray[ajaxErrorLength][1]=false
existInarray=false;}
$.validationEngine.ajaxValid=false;promptText+=$.validationEngine.settings.allrules[customAjaxRule].alertText+"<br />";$.validationEngine.updatePromptText(ajaxCaller,promptText,"",true);}else{_checkInArray(true)
$.validationEngine.ajaxValid=true;if($.validationEngine.settings.allrules[customAjaxRule].alertTextOk){$.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextOk,"pass",true);}else{ajaxValidate=false;$.validationEngine.closePrompt(ajaxCaller);}}
function _checkInArray(validate){for(x=0;x<ajaxErrorLength;x++){if($.validationEngine.ajaxValidArray[x][0]==fieldId){$.validationEngine.ajaxValidArray[x][1]=validate
existInarray=true;}}}}});}}
function _confirm(caller,rules,position){confirmField=rules[position+1];if($(caller).attr('value')!=$("#"+confirmField).attr('value')){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["confirm"].alertText+"<br />";}}
function _length(caller,rules,position){startLength=eval(rules[position+1]);endLength=eval(rules[position+2]);feildLength=$(caller).attr('value').length;if(feildLength<startLength||feildLength>endLength){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["length"].alertText+startLength+$.validationEngine.settings.allrules["length"].alertText2+endLength+$.validationEngine.settings.allrules["length"].alertText3+"<br />"}}
function _maxCheckbox(caller,rules,position){nbCheck=eval(rules[position+1]);groupname=$(caller).attr("name");groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize>nbCheck){$.validationEngine.showTriangle=false
$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["maxCheckbox"].alertText+"<br />";}}
function _minCheckbox(caller,rules,position){nbCheck=eval(rules[position+1]);groupname=$(caller).attr("name");groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize<nbCheck){$.validationEngine.isError=true;$.validationEngine.showTriangle=false;promptText+=$.validationEngine.settings.allrules["minCheckbox"].alertText+" "+nbCheck+" "+$.validationEngine.settings.allrules["minCheckbox"].alertText2+"<br />";}}
return($.validationEngine.isError)?$.validationEngine.isError:false;},closePrompt:function(caller,outside){if(outside){$(caller).fadeTo("fast",0,function(){$(caller).remove();});return false;}
if(!ajaxValidate){linkTofield=$(caller).attr("id")+"formError";linkTofield=linkTofield.replace("[","");linkTofield=linkTofield.replace("]","");closingPrompt="."+linkTofield;$(closingPrompt).fadeTo("fast",0,function(){$(closingPrompt).remove();});}},submitValidation:function(caller,settings){var stopForm=false;$.validationEngine.settings=settings
$.validationEngine.ajaxValid=true
$(caller).find(".formError").remove();var toValidateSize=$(caller).find("[class^=validate]").size();$(caller).find("[class^=validate]").each(function(){callerId=$(this).attr("id")
if(!$("."+callerId).hasClass("ajaxed")){var validationPass=$.validationEngine.loadValidation(this,settings);return(validationPass)?stopForm=true:"";}});ajaxErrorLength=$.validationEngine.ajaxValidArray.length
for(x=0;x<ajaxErrorLength;x++){if($.validationEngine.ajaxValidArray[x][1]==false){$.validationEngine.ajaxValid=false}}
if(stopForm||!$.validationEngine.ajaxValid){destination=$(".formError:not('.greenPopup'):first").offset().top;return true;}else{return false}}}})(jQuery);




/*
 * jQuery.ScrollTo
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * @author Ariel Flesler
 * @version 1.4.2
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(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);




/*
 *	Slimbox v2.04 - The ultimate lightweight Lightbox clone for jQuery
 *	(c) 2007-2010 Christophe Beyls <http://www.digitalia.be>
 *	MIT-style license.
 */
(function(w){var E=w(window),u,f,F=-1,n,x,D,v,y,L,r,m=!window.XMLHttpRequest,s=[],l=document.documentElement,k={},t=new Image(),J=new Image(),H,a,g,p,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));g=w('<div id="lbImage" />').appendTo(a).append(p=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+(E.height()/2);L=u.initialWidth;r=u.initialHeight;w(a).css({top:Math.max(0,y-(r/2)),width:L,height:r,marginLeft:-L/2}).show();v=m||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();j(1);f=O;u.loop=u.loop&&(f.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function j(M){if(M){w("object").add(m?"select":"embed").each(function(O,P){s[O]=[P,P.style.visibility];P.style.visibility="hidden"})}else{w.each(s,function(O,P){P[0].style.visibility=P[1]});s=[]}var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",o)}function o(O){var N=O.keyCode,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?e():(M(N,u.previousKeys)>=0)?B():false}function B(){return b(x)}function e(){return b(D)}function b(M){if(M>=0){F=M;n=f[F][0];x=(F||(u.loop?f.length:0))-1;D=((F+1)%f.length)||(u.loop?0:-1);q();a.className="lbLoading";k=new Image();k.onload=i;k.src=n}return false}function i(){a.className="";w(g).css({backgroundImage:"url("+n+")",visibility:"hidden",display:""});w(p).width(k.width);w([p,I,d]).height(k.height);w(A).html(f[F][1]||"");w(K).html((((f.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,f.length));if(x>=0){t.src=f[x][0]}if(D>=0){J.src=f[D][0]}L=g.offsetWidth;r=g.offsetHeight;var M=Math.max(0,y-(r/2));if(a.offsetHeight!=r){w(a).animate({height:r,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+r,marginLeft:-L/2,visibility:"hidden",display:""});w(g).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,h)})}function h(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function q(){k.onload=null;k.src=t.src=J.src=n;w([a,g,c]).stop(true);w([I,d,g,G]).hide()}function C(){if(F>=0){q();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,j)}return false}})(jQuery);

// AUTOLOAD SLIMBOX CODE BLOCK
if (!/android|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {jQuery(function($) {$("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) {return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));});});}





$(function() {
	// Header Background Position
	if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8
		var oldCurCSS = jQuery.curCSS;
		jQuery.curCSS = function(elem, name, force){
			if(name === 'background-position'){
				name = 'backgroundPosition';
			}
			if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
				return oldCurCSS.apply(this, arguments);
			}
			var style = elem.style;
			if ( !force && style && style[ name ] ){
				return style[ name ];
			}
			return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
		};
	}

	var oldAnim = $.fn.animate;
	$.fn.animate = function(prop){
		if('background-position' in prop){
			prop.backgroundPosition = prop['background-position'];
			delete prop['background-position'];
		}
		if('backgroundPosition' in prop){
			prop.backgroundPosition = '('+ prop.backgroundPosition;
		}
		return oldAnim.apply(this, arguments);
	};

	function toArray(strg){
		strg = strg.replace(/left|top/g,'0px');
		strg = strg.replace(/right|bottom/g,'100%');
		strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
		var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
		return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
	}

	$.fx.step. backgroundPosition = function(fx) {
		if (!fx.bgPosReady) {
			var start = $.curCSS(fx.elem,'backgroundPosition');
			if(!start){//FF2 no inline-style fallback
				start = '0px 0px';
			}
			start = toArray(start);
			fx.start = [start[0],start[2]];
			var end = toArray(fx.options.curAnim.backgroundPosition);
			fx.end = [end[0],end[2]];
			fx.unit = [end[1],end[3]];
			fx.bgPosReady = true;
		}
		var nowPosX = [];
		nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
		nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
		fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];
	};


// Disable Mobile Scroll
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	// Individual Link Scroll-Tos
    $('#nav a[href*="#"]').click(function(){
    	$.scrollTo( $(this.hash),800);
		return false;
    });
    $('#foot a[href*="#"]').click(function(){
    	$('#name').focus();
    	$.scrollTo( $('#contact'),800);
		return false;
    });
}


    // Nav Via Window Position
    $(window).scroll(function () {
		var offset = $(window).scrollTop();
		if(offset <= 99) {
			$('#head').stop().animate({backgroundPosition: "0 -43px"/*, opacity:1*/});
			$('#nav').stop().animate({marginTop: "32px", opacity: .4});
			$('#top-nav').stop().animate({marginTop: "-80px"});
		}
		if(offset >=100) {
			$('#head').stop().animate({backgroundPosition: "0 0"/*, opacity:.85*/});
			$('#nav').stop().animate({marginTop: "11px", opacity: .6});
			$('#top-nav').stop().animate({marginTop: "-8px"});
		}
		if(offset <= 690) {
			$('#contact-nav').removeClass('current');
			$('#about-nav').removeClass('current');
			$('#portfolio-nav').removeClass('current');
		}
		if(offset >=691 && offset <= 1550) {
			$('#contact-nav').removeClass('current');
			$('#about-nav').removeClass('current');
			$('#portfolio-nav').addClass('current');
		}
		if(offset >= 1551 && offset <= 2350) {
			$('#portfolio-nav').removeClass('current');
			$('#contact-nav').removeClass('current');
			$('#about-nav').addClass('current');
		}
		if(offset >= 2351) {
			$('#about-nav').removeClass('current');
			$('#portfolio-nav').removeClass('current');
			$('#contact-nav').addClass('current');
		}
	});
});


$(document).ready(function() {
	/mobile/i.test(navigator.userAgent) && !location.hash && setTimeout(function () {
	  window.scrollTo(0, 1);
	}, 1000);
	$('#nav').css({opacity: .4});
	$('#portfolio img').css({opacity: .8});
	$('#portfolio a img').hover(function() {
          $(this).animate({opacity:1},200);
    }, function() {
          $(this).animate({opacity:.8},200);
	});
	$("#contactForm").validationEngine({inlineValidation: false, ajaxSubmit: true, ajaxSubmitFile: "/index.php?t=a", ajaxSubmitMessage: "Thanks! Your message has been sent.", success : false, failure : function() {}})
});
