/************************************************************/
// Class StickyScroller
// Purpose: Create a fixed scroller
// Parameters:
//  obj: The object that will be scrolling
//  start: What distance from the top (in px) the effect starts
//  end: What distance from the top (in px) the effect ends
//  interval: What scroll distance triggers the callback
//  range: How many pixels after the
//  margin: Margin from the top of the browser
//  distance: How far the obj will move
/************************************************************/

function StickyScroller(c,d){var e=this;var top=$(c).css('top');var f=$(c).css('left');var g=$(c).css('right');var scroll=0;var h=0;var i={start:0,end:1000,interval:400,margin:parseInt(top,10),range:400},j=jQuery.extend(i,d);c=$(c);j.index=0;j.oldIndex=0;GetSet.getters({scope:e,obj:j});var k={};k.newIndex=function(){};k.limbo=function(){};k.scroll=function(){};GetSet.setters({scope:this,prefix:"on",obj:k});this.distanceFrom=function(n){h=$(window).scrollTop();var top=n*j.interval;var o=n*j.interval+j.range;var p=Math.abs(h-top);var q=Math.abs(h-o);if(p<q){return p;}else{return q;}};this.closestIndex=function(){if(j.index===0){return 1;}var n=this.distanceFrom(j.index-1);var o=this.distanceFrom(j.index+1);if(n<=o){return j.index-1;}else{return j.index+1;}};var l=function(){h=$(window).scrollTop()+j.margin;if(h>j.start&&h<j.end){tempIndex=Math.floor((h-j.start)/j.interval);if(tempIndex!==j.index){j.oldIndex=j.index;j.index=tempIndex;}}else if(h>=j.end){j.oldIndex=j.index;j.index=Math.floor((j.end-j.start)/j.interval);}else{j.oldIndex=j.index;j.index=0;}};this.firstIndex=function(){return 0;};this.lastIndex=function(){return Math.floor((j.end-j.start)/j.interval);};this.inRange=function(){var scroll=$(window).scrollTop()-j.start+j.margin;var n=(scroll>=j.index*j.interval)&&(scroll<=(j.index*j.interval+j.range));return n;};var m=$('<div id="scrollcontainer">').css({width:c.width(),height:c.height(),position:"absolute"});c.wrap(m);$(window).scroll(function(){scroll=$(window).scrollTop()+j.margin;l();if(scroll<j.start){$(c).css({position:'absolute',top:0,left:0,right:0});$("#scrollcontainer").css({position:'absolute',top:j.start,left:f,right:g});}else if(scroll>j.end){$(c).css({position:'absolute',top:0,left:0,right:0});$("#scrollcontainer").css({position:'absolute',top:j.end,left:f,right:g});}else{$(c).css({position:'fixed',top:j.margin,left:f,right:g});}if(j.oldIndex!==j.index){k.newIndex(j.index);}if(!e.inRange()&&scroll>j.start&&scroll<j.end){k.limbo(j.index);}k.scroll(j.index);});}

//-----------------------------------------------------------------------------
// Vert Studios Function Library
// Date: December 22, 2010
// File: vertlib.min.js
// Author: Joseph McCullough , @Joe_Query, http://www.vertstudios.com
// Purpose: Contains all the small plugins/functions used throughout our
//          larger plugins.
// Feel free to use this library for commercial purposes!
// Check http://www.vertstudios.com/vertlib.js for un-minified version.
// WARNING: Do NOT obfuscate defined global variables
//-----------------------------------------------------------------------------

window.vertstudios=true;function isset(c){if((typeof c=='undefined')||(c===null)||(c==="")){return false;}else{return true;}}var Regex={};Regex.pattern=function(){return{int:"\\d+",float:"\\d*\\.\\d+",mailstrings:"(content\\-type|mime\\-version|multipart\\/mixed|Content\\-Transfer\\-Encoding|bcc|cc|to|headers):",email:"[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,4}",html:"<([a-zA-Z][a-zA-Z0-9]*)\\b[^>]*>.*?<\\/\\1>",url:"([-a-z0-9+.]*(:|:\\/\\/))?([\\w_-]+\\.)+[a-zA-Z]{2,}[-%\\$_.+!*'(),;\\/?:@=&\\w#]*",zip:"^((\\d{5}-\\d{4})|(\\d{5})|([A-Z]\\d[A-Z]\\s\\d[A-Z]\\d))",alpha:"[a-zA-Z]+",num:"\\d+",bbcode:"\\[([a-zA-Z][a-zA-Z0-9]*)\\b[^\\]]*\\].*?\\[\\/\\1\\]",usphone:"(1\\s*[-\\/\\.]?)?(\\((\\d{3})\\)|(\\d{3}))\\s*[-\\/\\.]?\\s*(\\d{3})\\s*[-\\/\\.]?\\s*(\\d{4})\\s*(([xX]|[eE][xX][tT])[-.:]?\\s*(\\d+))*",usaddress:"\\d+\\s[-\\w.,\\s#:]+",fullname:"[a-zA-Z]+\\s+([-a-zA-Z.'\\s]|[0-9](nd|rd|th))+",name:"[-a-zA-Z.'\\s]+",lastname:"([-a-zA-Z.'\\s]|[0-9](nd|rd|th))+"};};Regex.description=function(){return{int:"Integer",float:"Float",mailstrings:"Mail Strings",email:"Email",html:"HTML",url:"URL",zip:"Zip Code",alpha:"Alphabetic Character",num:"Number",bbcode:"BB Code",usphone:"Phone",usaddress:"Address",name:"Name",fullname:"Name",lastname:"Last Name",message:"Message"};};Regex.example=function(){return {name: "John Doe",usphone: "903-555-5555",email: "myemail@gmail.com",html: "<b>HTML</b>",url: "www.vertstudios.com",zip: "75701",alpha: "abcdefg",num: "99095",bbcode: "[B]BBCODE[/B]",usaddress: "1800 East Barbara Street",fullname: "John Doe",lastname: "Doe 2nd",int: "111",float: "111.50",mailstrings: "to:bcc:",message: "No HTML or BB Code."};};Regex.is=function(c,d){c=Regex.getType(c);pattern=Regex.pattern()[c];var e=new RegExp("\x5e"+pattern+"\x24");return e.test(d);};Regex.isNot=function(c,d){return!Regex.is(c,d);};Regex.has=function(c,d){c=Regex.getType(c);pattern=Regex.pattern()[c];var e=new RegExp(pattern);return e.test(d);};Regex.hasNot=function(c,d){return!Regex.has(c,d);};Regex.hasAny=function(c,d){c=Regex.getArray(c);var e=false;for(var i=0;i<c.length;i++){type=Regex.getType(c[i]);if(Regex.has(type,d)){e=true;}}return e;};Regex.hasNone=function(c,d){return!Regex.hasAny(c,d);};Regex.getDescription=function(c){c=Regex.getType(c);return Regex.description()[c];};Regex.getExample=function(c){c=Regex.getType(c);return Regex.example()[c];};Regex.getArray=function(c){c=c.replace("\x20","");return c.split("\x2c");};Regex.getType=function(c){return c.toLowerCase().replace(/[^a-z]+/,"");};var GetSet={};GetSet.override=function(c,d){var e=c;for(var i in d){if(!(e[i])){e[i]=d[i];}}};GetSet.getters=function(c){var d={prefix:"get",camel:true};GetSet.override(c,d);c.prefix=(c.prefix==="none")?"":c.prefix;var e;for(var i in c.obj){if(c.camel&&c.prefix!==""){e=i.charAt(0).toUpperCase()+i.substr(1);}else{e=i;}(function(i){c.scope[c.prefix+e]=function(){return c.obj[i];};})(i);}};GetSet.setters=function(c){var d={prefix:"set",camel:true};GetSet.override(c,d);c.prefix=(c.prefix==="none")?"":c.prefix;var e;for(var i in c.obj){if(c.camel&&c.prefix!==""){e=i.charAt(0).toUpperCase()+i.substr(1);}else{e=i;}(function(i){c.scope[c.prefix+e]=function(f){c.obj[i]=f;};})(i);}};function POST(c,d){var e="";this.set=function(f,g){var h=new RegExp(f+"=[a-zA-Z0-9%]*");var k=h.exec(e);if(k){e=e.replace(k,f+"\x3d"+g);}else{if((e.length>0)&&(e.substr(-1)!="\x26")){e+="\x26";}e+=(f+"\x3d"+g);}};this.callback=function(f){d=f;};this.serialize=function(f){e+=($(f).serialize());};this.getResponse=function(){if(isset(c)&&isset(e)&&isset(d)){jQuery.ajax({type:"POST",url:c,data:e,success:function(f){d(f);},error:function(f){d(f);}});}};}function Form(c,d){c=(typeof c==='undefined')?$("form"):c;var e=this;var f={id:$(c),URL:$(c).attr("action"),hasAny:null,hasNone:null,invalidClass:"invalid",requiredClass:"required",inputs:$(c).find('input[type="text"], textarea')};settings=jQuery.extend(f,d);GetSet.getters({obj:settings,scope:e,prefix:"none"});GetSet.setters({obj:settings,scope:e});var g=false;e.addAJAX=function(){g=true;};var h=false;this.forceInvalid=function(){h=true;};e.valid=function(m){var n=$(m).val();var name=$(m).attr('name');var o;var p=$(m).hasClass(settings.requiredClass);if(h){h=false;return false;}if(typeof m==='undefined'){var q=0;$(settings.inputs).each(function(){if(e.invalid($(this))){q++;}});return!q;}else{if(!n){if(p){return false;}else{return true;}}var r=false;if(isset(settings.hasAny)){for(var i=0;i<settings.hasAny.length;i++){if($(m).equalTo($(settings.hasAny[i].id))){r=settings.hasAny[i].types;}}}var s=false;if(isset(settings.hasNone)){for(var i=0;i<settings.hasNone.length;i++){if($(m).equalTo($(settings.hasNone[i].id))){s=settings.hasNone[i].types;}}}if(r){o=Regex.hasAny(r,n);}else if(s){o=Regex.hasNone(s,n);}else{o=Regex.is(name,n);}return o;}};e.validate=e.valid;e.invalid=function(m){if(typeof m==='undefined'){var n=$();$(settings.inputs).each(function(){if(e.invalid($(this))){n=$(n).add($(this));}});return n;}else{return!e.validate(m);}};e.clear=function(){jQuery(settings.id).find(':input').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected').removeClass(settings.invalidClass);jQuery(settings.id).find('textarea').val('');};var k={};k.successResponse="thanks";k.invalidResponse="invalid";k.errorResponse="error";GetSet.getters({obj:k,scope:e});GetSet.setters({obj:k,scope:e});var l={};l.success=function(){$("#confirmation").html("<h4>Your message was sent successfully.</h4>");e.clear();};l.serverInvalid=function(){$("#confirmation").html("<h4>Message not sent. Please verify your information.</h4>");};l.clientInvalid=function(m){$("#confirmation").html("<h4>Please verify your information.</h4>");$(m).addClass(settings.invalidClass);};l.error=function(m){$("#confirmation").html("<h4>Server Error. Please try again.</h4>");};l.send=function(){$("#confirmation").html("<h4>Sending...</h4>");};l.doCallback=function(m){if(m==k.successResponse){l.success();}else if(m==k.invalidResponse){l.serverInvalid();}else{l.error(m);}};GetSet.setters({obj:l,scope:e,prefix:"on"});e.mail=function(){var m=new POST(settings.URL,function(n){l.doCallback(n);});m.serialize(settings.id);if(g){m.set("AJAX","true");}m.getResponse();};e.quickform=function(){$(settings.inputs).focusout(function(){if(e.invalid($(this))||(!$(this).val()&&$(this).hasClass(settings.requiredClass))){$(this).addClass(settings.invalidClass);}else{$(this).removeClass(settings.invalidClass);}});$(settings.inputs).keyup(function(){if($(this).hasClass(settings.invalidClass)){if(e.valid($(this))){$(this).removeClass(settings.invalidClass);}}});$(settings.id).submit(function(){if(e.valid()){l.send();e.addAJAX();e.mail();}else{l.clientInvalid($(e.invalid()));}return false;});};}

(function(c){c.fn.arrayShift=function(d,e,f){var g=c.makeArray(c(this));for(var i=0;i<arguments.length;i++){if(isNaN(arguments[i])){if(arguments[i]=="first"){arguments[i]=0;}else if(arguments[i]=="last"){arguments[i]=g.length-1;}}else{arguments[i]=parseInt(arguments[i],10);}}var h=g[d];if(d>e){for(i=d;i>e;i--){g[i]=g[i-1];}g[e]=h;}else if(d<e){for(i=d;i<e;i++){g[i]=g[i+1];}g[e]=h;}if(typeof f=='function'){f.call(this);}return c(g);};c.fn.getIndexOf=function(d){var e=false;var f=c(this);var i=0;c(d).each(function(){if(c(this).equalTo(c(f))){e=i;}i++;});return e;};c.fn.equalTo=function(d){isEqual=!c(this).not(c(d)).length;return isEqual;};c.fn.fakeFloat=function(d){var e={direction:"left",margin:0,offset:0,speed:0},f=c.extend(e,c.fn.fakeFloat.defaults,d);var i=0;var g=0;c(this).each(function(){g=c(this).width();if(f.direction=="left"){c(this).animate({"left":((f.margin)+g)*i+(f.offset)+'px'},f.speed);}else{c(this).animate({"right":((f.margin)+g)*i+(f.offset)+'px'},f.speed);}i++;});return this;};c.fn.frontpush=function(d){var e=c(this).length;var f=c.makeArray(c(this));for(var i=0;i<e;i++){d.push("");}for(i=(d.length),j=0;i>e;i--){j=i-1;d[j]=d[j-e];}for(i=0;i<e;i++){d[i]=f[i];}return c(d);};c.fn.swap=function(d,e){var f=c.makeArray(c(this));var g=f[d];f[d]=f[e];f[e]=g;return c(f);};})(jQuery);

$(window).load(function()
    {
        var scroller = new StickyScroller("#nW",
        {
           start: 98,
            end: 19000000000,
            interval: 99999999999999999999999,
            range: 000,
            margin: 0
        });
                
        var opacity = .25;
        var fadeTime = 300;
        var current;
                
        //Apply opacity to all but first item.
        $(".block").slice(1).css('opacity', opacity);
        
        
        scroller.onNewIndex(function(index)
        {
            $("#scrollbox").html("Index " + index);
        });
        
        scroller.onScroll(function(index)
        {                        
            if(scroller.inRange())
            {
                $(".block").eq(index).stop(true).animate({"opacity": 1}, fadeTime);
                if(!(
                (index === 0 || index === scroller.lastIndex()) &&
                (scroller.getOldIndex() === 0 || scroller.getOldIndex() === scroller.lastIndex())
                    ))
                {
                    $(".block").eq(scroller.getOldIndex()).stop(true).animate({"opacity": opacity}, fadeTime);
                }
            }
        });
        

    });

$(function(){  
			  $('.thumbW').showFeatureText();    
			})

		$(function(){  
			  $('.thumbW02').showFeatureText();    
			})
			
			$.fn.showFeatureText = function() {
			  return this.each(function(){    
				var box = $(this);
				var text = $('p',this);    
			
				text.css({ position: 'absolute', bottom: '0' }).hide();
			
				box.hover(function(){
				  text.slideDown("fast");
				},function(){
				  text.slideUp("fast");
				});
			
			  });
			}

