(function($){
	$.fn.clientsSlider = function(options) {
		var defaults = {
			FadeTransition: 500,
			timer: 6000
		};
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			var obj = $(this);
			obj.html('<div class="clientContents"><div class="country"></div><div class="image"></div><div class="text"></div><div class="leftButton"></div><div class="rightButton"></div></div>');
			
			var image = obj.find('.image');
			var comment = obj.find('.text');
			var countryDiv = obj.find('.country');
			var leftButton = obj.find('.leftButton');
			var rightButton = obj.find('.rightButton');
			
			var counter = 0;
			var counterLength = 1;
			
			var country = new Array();
			var logo = new Array();
			var text = new Array();
			var person = new Array();
			
			readXml();
			
			leftButton.click(function(){
				timerStop();
				decCounter();
				changeClient()
			})
			
			rightButton.click(function(){
				timerStop();
				incCounter();
				changeClient()
			})
			
			obj.hover(
				function(){
					timerStop();
				},
				function(){
					timerStart();
				}
			)
			
			function readXml() {
				$.ajax({
					type: "GET",
					url: "clients/clientsdata_homepage.xml",
					dataType: "xml",
					success: function(xml) {
						$(xml).find('clients').each(function(){
							$(this).find('client').each(function(){
								country.push( $(this).find('country').text() );
								logo.push( $(this).find('logo').text() );
								text.push( $(this).find('text').text() );
								person.push( $(this).find('person').text() );
							});
						});
					},
					complete: function() {
						counterLength = country.length;
						incCounter();
						changeClient();
						timerStart();
					}
				});
			};
			
			function incCounter(){
				counter = counter + 1;
				if (counter > counterLength) {
					counter = 1;
				};
			}
			
			function decCounter() {
				counter = counter - 1;
				if (counter < 1) {
					counter = counterLength;
				};
			}
			
			function timerStart() {
				obj.everyTime(options.timer, function(i){
					incCounter();
					changeClient();
				});
			}
			
			function timerStop() {
				obj.stopTime();
			}
			
			function changeClient() {
				value = counter-1;
				image.html('<img src="'+logo[value]+'" />');
				countryDiv.html(country[value]);
				comment.html('<p>'+text[value]+'</p><p>'+person[value]+'</p>');
			}
		});
	};
})(jQuery);
