var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		}
	],
	dataOS : [
		
	]

};
BrowserDetect.init();

var notIE6 = true;

if ((BrowserDetect.browser=="Explorer") && (BrowserDetect.version<7)) {
	notIE6 = false;
}


jQuery(document).ready(function($) {
	$("a.popup").colorbox({transition:"fade"});

	function selectNav() {
	  $(this)
	    .parents('ul:first')
	      .find('a')
	        .removeClass('selected')
	      .end()
	    .end()
	    .addClass('selected');
	}

	function trigger(data) {
	  var el = $('#gallery-nav .navigation').find('a[href$="' + data.id + '"]').get(0);	
	  selectNav.call(el);
	}
	
	function triggerProfile(data) {
	  var el = $('#profile-nav .navigation').find('a[href$="' + data.id + '"]').get(0);	
	  selectNav.call(el);
	}
	
	//******* following is for the projects gallery slider *********
	if (notIE6) {
		var $panels = $('#slider .scrollContainer > div');
		var $container = $('#slider .scrollContainer');
		var horizontal = true;
	
		if (horizontal) {
		  $panels.css({
		    'float' : 'left',
		    'position' : 'relative', // IE fix to ensure overflow is hidden
			'width' : 720 //after scroll bar is hidden need to make panels wider
		  });
		  $container.css('width', $panels[0].offsetWidth * $panels.length);
		}

		var $scroll = $('#slider .scroll').css('overflow', 'hidden'); //remove scroll bar
		$scroll //add left/right navigation
		  .before('<img class="scrollButtons left" src="images/scroll_left.png" />')
		  .after('<img class="scrollButtons right" src="images/scroll_right.png" />');

		$('#gallery-nav .navigation').find('a').click(selectNav);
	
		var offset = parseInt((horizontal ? 
		  $container.css('paddingTop') : 
		  $container.css('paddingLeft')) 
		  || 0) * -1;

		var scrollOptions = {
		  target: $scroll, // the element that has the overflow	  
		  items: $panels,// can be a selector which will be relative to the target
		  navigation: '#gallery-nav > .navigation a',
		  // selectors are NOT relative to document, i.e. make sure they're unique
		  onAfter: trigger,
		  prev: 'img.left', 
		  next: 'img.right',
		  axis: 'xy',  // allow the scroll effect to run both directions
		  offset: offset,	  
		  duration: 500,// duration of the sliding effect
		  easing: 'swing'
		};
		
		$('#slider').serialScroll(scrollOptions);
		$('#gallery-nav').localScroll(scrollOptions);
		$('#gallery-nav > ul.navigation a:first').click();
	}
	
	
	
	
	//******* following is for the profile slider *********
	if (notIE6) {
		$panels = $('#profile-slider .scrollContainer > div');
		$container = $('#profile-slider .scrollContainer');
		horizontal = true;
	
		if (horizontal) {
		  $panels.css({
		    'float' : 'left',
		    'position' : 'relative', // IE fix to ensure overflow is hidden
			'width' : 700 //after scroll bar is hidden need to make panels wider
		  });
		  $container.css('width', $panels[0].offsetWidth * $panels.length);
		}
	
		$scroll = $('#profile-slider .scroll').css('overflow', 'hidden'); //remove scroll bar
		$scroll //add left/right navigation
		  .before('<img class="scrollButtons left2" src="images/scroll_left.png" />')
		  .after('<img class="scrollButtons right2" src="images/scroll_right.png" />');
	
		$('#profile-nav .navigation').find('a').click(selectNav);
	
		offset = parseInt((horizontal ? 
		  $container.css('paddingTop') : 
		  $container.css('paddingLeft')) 
		  || 0) * -1;
	
		var scrollOptions2 = {
		  target: $scroll,  
		  items: $panels,
		  navigation: '#profile-nav > .navigation a',
		  onAfter: triggerProfile,
		  prev: 'img.left2', 
		  next: 'img.right2',
		  axis: 'xy', 
		  offset: offset,	  
		  duration: 500,
		  easing: 'swing'
		};	
			
		$('#profile-slider').serialScroll(scrollOptions2);
		$('#profile-nav').localScroll(scrollOptions2);
		$('#profile-nav > ul.navigation a:first').click();
	}	
	
	//******** for scrolling the page with main nav ******
	var scrollOptions3 = {
		hash: true,
		duration: 500,
		easing: 'swing'
	};	
	$('.navbar').localScroll(scrollOptions3);	
	$.localScroll.hash({duration:1});
	
	
	//******** Form validation and ajax for contact form ********
	$("#myForm").submit(function() {
        var str = $(this).serialize();
		$('#loading').slideDown();
        $.ajax({
	   		type: "POST",
		    url: "contact.php",
		    data: str,
		    success: function(msg) {
		        $("#note").ajaxComplete(function(event, request, settings) {
					$('#loading').slideUp();
		            if (msg == 'Mail sent successfully!')
		            // Message Sent? Show the 'Thank You' message and hide the form
		            {
		                result = '<div class="notification_ok">Your message has been sent. <br />Thank you!</div>';
						$('input:text').val("");
						$('textarea').val("");
		            }
		            else
		            {
		                result = msg;
		            }

		            $(this).html(result);
					$(this).slideDown("slow");
		        });
		    }
		});
		
        return false;
    });
});

