jQuery.noConflict();
jQuery(document).ready( function()
{
   PEPS.rollover.init();
});

PEPS = {};

PEPS.rollover =
{
   init: function()
   {
      this.preload();
     
      jQuery(".ro").hover(
         function () { jQuery(this).attr( 'src', PEPS.rollover.newimage(jQuery(this).attr('src')) ); },
         function () { jQuery(this).attr( 'src', PEPS.rollover.oldimage(jQuery(this).attr('src')) ); }
      );
   },

   preload: function()
   {
      jQuery(window).bind('load', function() {
         jQuery('.ro').each( function( key, elm ) { jQuery('<img>').attr( 'src', PEPS.rollover.newimage( jQuery(this).attr('src') ) ); });
      });
   },
   
   newimage: function( src )
   {
      return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '_o' + src.match(/(\.[a-z]+)$/)[0];
   },

   oldimage: function( src )
   {
      return src.replace(/_o\./, '.');
   }
};


function noscript(){
	jQuery(".jshide").css({visibility:"visible"});
	
	if(jQuery(".next").length > 1){
		jQuery(".next").css({visibility:"visible"});
	}
}

function kriesi_sleekslide(){
	modifyIE = 1;
	
	if(jQuery.browser.msie && jQuery.browser.version < 7){// IE6  Fix
		modifyIE = -1;
	}
	
	/*-----------------------------*/
	var currentSlide = 1;
	/*-----------------------------*/
	
	var animation_stopped = true;
	var viewport = (jQuery(window).width() * 2);	
	
	jQuery(".slider_container:not(.slide1)").each(function(i){
		var currentPos_container = jQuery(this).position();
		var newpos_container = (currentPos_container.left + viewport) * modifyIE;
		jQuery(this).css({left:newpos_container}).removeClass("notactive");
	});
	
	function autoSlide(type, i) {
//		console.log('autoSlide animation_stopped: ' + animation_stopped);
		if(!animation_stopped) return;
		
		animation_stopped = false;
		
		viewport = (jQuery(window).width() * 2);	
		
		if (type == 'next') {
			var number = currentSlide;
			var next = currentSlide + 1;
			currentSlide++;
			
			if(currentSlide > jQuery(".slider_container").length){
				currentSlide = 1;
			}
			
			if(next > jQuery(".slider_container").length){
				next = 1;
			}
		}
		else if (type == 'tab') {
			var number = currentTab;
			var next = i + 1;
			currentSlide = next;
			
			if(jQuery(".slider_container").length < next){
				next = 1;
			}
		}
		else {
			if (currentSlide <= 1) {
				var number = currentSlide;
				var next = jQuery(".slider_container").length;
				currentSlide = jQuery(".slider_container").length;
			}
			else {
				var number = currentSlide;
				var next = currentSlide - 1;
				currentSlide--;
			}
		}

		animation(number, next);
		if(typeof(currentTab)!='undefined') setTab(currentTab, next);
//		animation_stopped = true;
	}
	
	function animation(number, next) {
//		console.log('animation animation_stopped: ' + animation_stopped);
//		if(!animation_stopped) return;
//		animation_stopped = false;
		jQuery('.slide'+ number).animate({left:-viewport},1000,"easeInQuint",function(){
			var css_set = viewport * modifyIE;
			jQuery('.slide'+ number).css({left:css_set});															
			jQuery('.slide'+ next).animate({left:0},1000,"easeOutBack", function(){
//				console.log('animation\'s over!');
				animation_stopped = true;
			});
		});
				
		jQuery('.slide'+ number+ ' .slideme').each(function(i){
			var speed = 1000;
			var this_css_left = jQuery(this).css("left");
			var pos_left = parseInt(this_css_left.replace(/px/g, ""));
			var adjust_left = pos_left + ((i+1) * 35);				
			jQuery(this).animate({left:adjust_left},speed,"linear").animate({left:pos_left},2000);
		});
//		animation_stopped = true;
	}
	
	var startAuto = 0;
	startAuto = setInterval(function(){ autoSlide('next', 0); }, 10000);
	
	jQuery(".buttonlinks .next").each(function(i){
			jQuery(this).bind("click",function(){
			    
				if(animation_stopped){
					animation_stopped = false;

					
					viewport = (jQuery(window).width() * 2);	
					
					var number = i + 1;
					var next = i + 2;
					
					if(jQuery(".slider_container").length < next){
						next = 1;
					}

					jQuery('.slide'+ number).animate({left:-viewport},600,"easeInQuint",function(){
						var css_set = viewport * modifyIE;																	 
						jQuery('.slide'+ number).css({left:css_set});															
						jQuery('.slide'+ next).animate({left:0},600,"easeOutBack");
						animation_stopped = true;
					});
							
					jQuery('.slide'+ number+ ' .slideme').each(function(i){
						var speed = 450;
						var this_css_left = jQuery(this).css("left");
						var pos_left = parseInt(this_css_left.replace(/px/g, ""));
						var adjust_left = pos_left + ((i+1) * 35);
						jQuery(this).animate({left:adjust_left},speed,"linear").animate({left:pos_left},300);
					});
							
					setTab(currentTab, next);

				}
				return false;
			 });
		});
	
	jQuery(".nextslide").each(function(i){
		 jQuery(this).bind("click",function(){
//			console.log('nextslide animation_stopped: ' + animation_stopped);
			if(animation_stopped){
				clearInterval(startAuto);
				startAuto = 0;
				autoSlide('next', 0);
				startAuto = setInterval(function(){ autoSlide('next', 0); }, 8000);
			}
			return false;
		 });
	 });
	
	jQuery(".prevslide").each(function(i){
		 jQuery(this).bind("click",function(){
			if(animation_stopped){
				clearInterval(startAuto);
				startAuto = 0;
				autoSlide('prev', 0);					
				startAuto = setInterval(function(){ autoSlide('next', 0); }, 8000);
			}
			return false;
		 });
	 });
			
	jQuery(".tab").each(function(i){
		jQuery(this).bind("click",function(){
//			console.log(animation_stopped);
			if(animation_stopped){
//				console.log(i);
				clearInterval(startAuto);
				startAuto = 0;				
				autoSlide('tab', i);
				startAuto = setInterval(function(){ autoSlide('next', 0); }, 8000);
			}
			return false;
		 });
	});
	
	// Trying to get an internal link to move the sliders
	jQuery(".slideto6").each(function(i){
			jQuery(this).bind("click",function(){
			
				
				if(animation_stopped){
					animation_stopped = false;
					
					viewport = (jQuery(window).width() * 2);	
					var number = currentTab;
					var next = 6;
		
					jQuery('.slide'+ number).animate({left:-viewport},600,"easeInQuint",function(){
							var css_set = viewport * modifyIE;																	 
							jQuery('.slide'+ number).css({left:css_set});															
							jQuery('.slide'+ next).animate({left:0},600,"easeOutBack");
													animation_stopped = true;

							});
							
					jQuery('.slide'+ number+ ' .slideme').each(function(i){
							var speed = 450;
							var this_css_left = jQuery(this).css("left");
							var pos_left = parseInt(this_css_left.replace(/px/g, ""));
							
							var adjust_left = pos_left + ((i+1) * 35);
							
							//alert(this_css_left + ":" + pos_left + ":" + adjust_left);
							
							jQuery(this).animate({left:adjust_left},speed,"linear").animate({left:pos_left},300);

							});
							
					setTab(currentTab, next);

				}
				return false;
			 });
		});
}
  
jQuery(document).ready(function(){
	kriesi_sleekslide();
 	setTab(1,1);
 	noscript();
});

/*jQuery(function() {
  
	// qTip tooltips for help icons  
	jQuery.fn.qtip.styles.smallblack = { 
        fontSize: '10px',
        padding: '0 5px',
        background: '#222',
        color: '#fff',
        fontSize: '11px',
        lineHeight: '14px',
        textAlign: 'center',
        border: {
          width: 1,
          radius: 5,
          color: '#222'
        },
        tip: { // Now an object instead of a string
          corner: 'bottomMiddle', // We declare our corner within the object using the corner sub-option
          color: '#222',
          top: 10,
          size: {
            x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
            y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
          }
        }
        // name: 'dark' // Inherit the rest of the attributes from the preset dark style
     };
     
      
      // Generic Tooltip
      jQuery('.tooltip').qtip({
          position: {
              corner: {
                  target: 'topMiddle',
                  tooltip: 'bottomMiddle'
              }
          },
          style: 'smallblack'                   
      });
      
  
});*/

/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 0.6;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 0.6;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */

