// JavaScript Document
$(function() {
    $('#slideshow').cycle({
        speed:   500,
        timeout: 3000,
        pager: '#nav',		
		fx:    'scrollHorz',
		pauseOnPagerHover: true
    });
	

	// assign a click event to the exposed element, using normal jQuery coding
	$(".test").click(function() {
		// perform exposing for the clicked element
		$(this).parent().expose();
		
	});


	// smooth scrolling
	function filterPath(string) {
			return string
			.replace(/^\//,'')
			.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
			.replace(/\/$/,'');
	}

	var locationPath = filterPath(location.pathname);
	var scrollElem = scrollableElement('html', 'body');

	// Any links with hash tags in them (can't do ^= because of fully qualified URL potential)
	$('a[href*=#]').each(function() {

			// Ensure it's a same-page link
			var thisPath = filterPath(this.pathname) || locationPath;
			if (  locationPath == thisPath
					&& (location.hostname == this.hostname || !this.hostname)
					&& this.hash.replace(/#/,'') ) {

							// Ensure target exists
							var $target = $(this.hash), target = this.hash;
							if (target) {

									// Find location of target
									var targetOffset = $target.offset().top;
									$(this).click(function(event) {

											// Prevent jump-down
											event.preventDefault();

											// Animate to target
											$(scrollElem).animate({scrollTop: targetOffset}, 400, function() {

													// Set hash in URL after animation successful
													location.hash = target;

											});
									});
							}
			}

	});

	// Use the first element that is "scrollable"  (cross-browser fix?)
	function scrollableElement(els) {
			for (var i = 0, argLength = arguments.length; i <argLength; i++) {
					var el = arguments[i],
					$scrollElement = $(el);
					if ($scrollElement.scrollTop()> 0) {
							return el;
					} else {
							$scrollElement.scrollTop(1);
							var isScrollable = $scrollElement.scrollTop()> 0;
							$scrollElement.scrollTop(0);
							if (isScrollable) {
									return el;
							}
					}
			}
			return [];
	}

});

$(document).ready(function() { 
	var options = { 
	target:	'#alert'
	}; 
$('#contactForm').ajaxForm(options); 

	// 	Input focus
	$('input[type="text"]').addClass("idleField");
	$('input[type="text"]').focus(function() {
		$(this).removeClass("idleField").addClass("focusField");
		if (this.value == this.defaultValue){ 
			this.value = '';
		}
		if(this.value != this.defaultValue){
			this.select();
		}
	});
	$('input[type="text"]').blur(function() {
		$(this).removeClass("focusField").addClass("idleField");
		if ($.trim(this.value) == ''){
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
	}); 
	
}); 

$.fn.clearForm = function() {
  return this.each(function() {
	var type = this.type, tag = this.tagName.toLowerCase();
	if (tag == 'form')
	  return $(':input',this).clearForm();
	if (type == 'text' || type == 'password' || tag == 'textarea')
	  this.value = '';
	else if (type == 'checkbox' || type == 'radio')
	  this.checked = false;
	else if (tag == 'select')
	  this.selectedIndex = -1;
  });
};
