﻿var JS = {
	objSet : {
		'top' : {
			nr : 1,
			b : false,
			s : false,
			t : null,
			auto : 5 // sekund | 0 - wył
		},
		'scroll' : new Object()
	},
	objDane : new Object(),
	WLewo: function(nr) {
		if( this.objSet['scroll'][nr]['s'] - 1 < 1 ) return;
		
		var newX = this.objSet['scroll'][nr]['x'] + this.objSet['scroll'][nr]['v'] * this.objSet['scroll'][nr]['w'];
		
		$('#scroll-' + nr + ' ul').animate({
			marginLeft: newX + 'px'
		}, 1000 );
		
		this.objSet['scroll'][nr]['x'] = newX;
		this.objSet['scroll'][nr]['s']--;
		
		if( this.objSet['scroll'][nr]['s'] - 1 < 1 )
			$('#scroll-' + nr + '-l').fadeTo( 0, 0.5 );
		
		$('#scroll-' + nr + '-p').fadeTo( 0, 1 );
	},
	WPrawo: function(nr) {
		if( this.objSet['scroll'][nr]['s'] + 1 > this.objSet['scroll'][nr]['m'] ) return;
		
		var newX = this.objSet['scroll'][nr]['x'] - this.objSet['scroll'][nr]['v'] * this.objSet['scroll'][nr]['w'];
		
		$('#scroll-' + nr + ' ul').animate({
			marginLeft: newX + 'px'
		}, 1000 );
		
		this.objSet['scroll'][nr]['x'] = newX;
		this.objSet['scroll'][nr]['s']++;
		
		if( this.objSet['scroll'][nr]['s'] + 1 > this.objSet['scroll'][nr]['m'] )
			$('#scroll-' + nr + '-p').fadeTo( 0, 0.5 );
		
		$('#scroll-' + nr + '-l').fadeTo( 0, 1 );
	},
	ScrollInicjuj: function(nr) {
		this.objSet['scroll'][nr] = {
			s : 1,
			x : $('#scroll-' + nr + ' ul').css('margin-left') ? Number( $('#scroll-' + nr + ' ul').css('margin-left').replace('px', '') ) : 0,
			c : $('#scroll-' + nr + ' ul').parent().width(),
			w : $('#scroll-' + nr + ' ul li:first').width() + ( Number( $('#scroll-' + nr + ' ul li:first').css('margin-left').replace('px', '') ) ? Number( $('#scroll-' + nr + ' ul li:first').css('margin-left').replace('px', '') ) : 0 ) + ( Number( $('#scroll-' + nr + ' ul li:first').css('margin-right').replace('px', '') ) ? Number( $('#scroll-' + nr + ' ul li:first').css('margin-right').replace('px', '') ) : 0 ),
			i : $('#scroll-' + nr + ' ul li').length
		};
		this.objSet['scroll'][nr]['v'] = Math.ceil( this.objSet['scroll'][nr]['c'] / this.objSet['scroll'][nr]['w'] );
		this.objSet['scroll'][nr]['m'] = Math.ceil( $('#scroll-' + nr + ' ul li').length / this.objSet['scroll'][nr]['v'] );
		
		$('#scroll-' + nr + '-l').click(function(){
			JS.WLewo( JS.Num( $(this).attr('id') ) );
		});
		
		$('#scroll-' + nr + '-p').click(function(){
			JS.WPrawo( JS.Num( $(this).attr('id') ) );
		});
		
		if( this.objSet['scroll'][nr]['v'] >= this.objSet['scroll'][nr]['i'] )
			$('#scroll-' + nr + '-p').fadeTo( 0, 0.5 );
			
		$('#scroll-' + nr + '-l').fadeTo( 0, 0.5 );
	},
	ZmienTop: function(num) {
		if( this.objSet['top']['nr'] == num || this.objSet['top'].s == true ) return;
		
		var num	= num - 1;
		var nr 	= this.objSet['top'].b ? 0 : 1;
		
		this.objSet['top'].s = true;
			
		$('#G2Top-Right-Img-'+nr)
			.fadeOut(0)
			.load(function() {
				var newNr = nr ? 0 : 1;
				
				$('#G2Top-Right-Img-'+nr)
					.fadeIn('normal');
				$('#G2Top-Right-Img-'+newNr)
					.fadeOut('normal');
				$('#G2Top-Right-C-Info-C')
					.html( JS.objDane['top'][num]['txt'] );
				$('#G2Top-Right-C-P')
					.html( JS.objDane['top'][num]['v'] );
				
				if( !$.browser.msie )
					if( $('#G2Top-Right-C-L').is(':animated') )
						$('#G2Top-Right-C-L')
							.stop()
							.fadeTo('fast', 0);
					else
						$('#G2Top-Right-C-L')
							.fadeTo('fast', 0);
				
				JS.objSet['top'].b 	= !newNr ? true : false;
				JS.objSet['top'].nr	= num + 1;	
				
				JS.objSet['top'].s = false;
			})
			.error(function() {
				JS.objSet['top'].s = false;
				JS.ZmienTop( JS.objSet['top'].nr+2 > PHP.count( JS.objDane['top'] ) ? 1 : JS.objSet['top'].nr+2 );
			})
			.attr('src', this.objDane['top'][num]['img']);
		
		if( !$.browser.msie )
			$('#G2Top-Right-C-L')
				.fadeTo('fast', 0.5);
			
		this.ZmienTopInt(true);
	},
	ZmienTopInt: function(b) {
		if( b === true ) {
			clearInterval( this.objSet.t );
			
			this.objSet.t = setInterval( JS.ZmienTopInt, JS.objSet['top'].auto * 1000 );
			
			return;
		}
		
		var nr = JS.objSet['top'].nr;
		
		if( nr > PHP.count( JS.objDane['top'] ) - 1 )
			JS.ZmienTop(1);
		else
			JS.ZmienTop(nr+1);
	},
	Num: function( str ) {
		var num 	= '0123456789';
		var newStr	= '';
		
		for( var i = 0; i < str.length; i++ ) {
			if( num.indexOf( str.charAt( i ) ) > -1 ) 
				newStr += str.charAt( i );
		}
		
		return newStr.length ? Number( newStr ) : null;
	},
	Znajdz: function( obj, n, str ) {
		for( var i in obj ) {
			if( obj[i][n] == str )
				return true;
		}
		
		return false;
	},
	clone: function(o) {
		function c(o) {
			for( var i in o ) {
				this[i] = o[i];
			}
		}
		
		return new c(o);
	},
	Inicjuj: function() {
		/*---| Top |---*/
		if( $('.G2Top-Right-Img.js').attr('class') ) {
			// wczytaj pierwszy element jeśli nie istnieje
			if( this.Znajdz( this.objDane['top'], 'img', $('.G2Top-Right-Img img:first').attr('src') ) == false ) {
				var tmp = { 0: { 'img' : $('.G2Top-Right-Img img:first').attr('src'), 'txt' : $('#G2Top-Right-C-Info-C').html(), 'v' : $('#G2Top-Right-C-P').html() } };
				var j	= 1;
				for( var i in this.objDane['top'] ) {
					tmp[j] = this.objDane['top'][i];
					j++;
				}
				this.objDane['top'] = JS.clone(tmp);
				delete tmp;
			}
			
			$('.G2Top-Right-Img.js').append($('<img>').attr({'alt':'','id':'G2Top-Right-Img-1'}).fadeOut(0));
			$('#G2Top-Right-C-Num ul').html('');
			for( var i = 0; i < PHP.count( this.objDane['top'] ); i++ ) {
				$('#G2Top-Right-C-Num ul').append($('<li>').text(i+1).click(function() { JS.ZmienTopInt(true); JS.ZmienTop(JS.Num($(this).text())); }));
			}
			this.ZmienTopInt(true);
		}
		
		/*---| Scroll |---*/
		var i = 1;
		while( i <= 100 )
			if( $('#scroll-'+i).attr('id') ) {
				this.ScrollInicjuj(i);
				i++;
			} else
				break;
		
		/*---| Szukaj |---*/
		$('#input-szukaj')
			.focus(function(){
				if( $(this).val() == 'szukaj...' )
					$(this).val('');
			})
			.blur(function(){
				if( $(this).val() == '' )
					$(this).val('szukaj...');
			})
			.val('szukaj...');
			
		$('img[class="absmiddle"]').attr('align', 'absmiddle');
		$('#btn-szukaj').hover(function(){$(this).attr('src', 'img/szukaj-btn-hover.jpg');}, function(){$(this).attr('src', 'img/szukaj-btn.jpg');})
		
		/*---| SubMenu |---*/
		if( $.browser.msie && $.browser.version < 7 ) {
			var subMenu = $('.GMenu ul li');
			for( var i = 0; i < subMenu.length; i++ ) {
				var li = $(subMenu[i]);
				
				li.hover(
					function(){ $(this).css('background', '#E0E0E0'); },
					function(){ $(this).css('background', 'none'); }
				);
			}
			var subMenu = $('.GMenu ul li span');
			for( var i = 0; i < subMenu.length; i++ ) {
				var span = $(subMenu[i]);
				
				span.hover(
					function(){ $(this).attr('class','hover'); },
					function(){ $(this).attr('class',''); }
				);
			}
		}
		var subMenu = $('.GMenu ul li div');
		for( var i = 0; i < subMenu.length; i++ ) {
			var span = $(subMenu[i]);
			
			span.width( span.parent().width() + 2 * 18 + 1 );
			
			span.parent().hover(
				function() {
					$(this).children('div').fadeIn('fast');
				},
				function() {
					$(this).children('div').fadeOut('fast');
				}
			);
		}
	}
};

var JAK = {
	Info: function() {
		return [$(window).width(), $(window).height()];
	},
	Ustaw: function() {
		var info 	= this.Info();
		var el		= $('#jak-dziala-sklep-kontener');
		
		el.css({
			'left':info[0]/2-el.width()/2,
			'top':info[1]/2-el.height()/2
		});
		
		$('#jds-kc-zamknij').css({
			'left':(el.width()-80)+'px'
		});
	},
	Otworz: function() {
		if( $.browser.msie ) {
			$('#jak-dziala-sklep-bg,#jak-dziala-sklep-kontener').show();
			
			if( $.browser.version < 7 )
				$('#jak-dziala-sklep-bg').height($(document).height());
		} else
			$('#jak-dziala-sklep-bg,#jak-dziala-sklep-kontener').fadeIn('normal');
	},
	Zamknij: function() {
		if( $.browser.msie )
			$('#jak-dziala-sklep-bg,#jak-dziala-sklep-kontener').hide();
		else
			$('#jak-dziala-sklep-bg,#jak-dziala-sklep-kontener').fadeOut('normal');
	},
	sprawdzEmail: function(n) {
		var d = /^([\w-+]+(?:\.[\w-+]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (d.test(n))
			return true;
		return false;
	},
	Inicjuj: function(arr, dane) {
		if( $('.jak-dziala-sklep-bg').length < 1 ) {
			var str = '';
			
			str += '<div id="jak-dziala-sklep-bg"></div>';
			str += '<div id="jak-dziala-sklep-kontener">';
			str += '<div class="jds-k-bg-top"></div>';
			str += '<div class="jds-k-content">';
			str += '<div id="jds-kc-zamknij"></div>';
			str += '<div class="jds-kc-lewa"></div>';
			str += '<div class="jds-kc-prawa">';
			str += '<div class="jds-kc-p-top"></div>';
			str += '<ul id="jds-lista-dat"></ul>';
			str += '<div class="jds-kc-p-top-2"></div>';
			str += '<div id="jds-kc-p-kom"></div>';
			str += '<div id="jds-kc-p-form">';
			str += '<form method="post" action="' + arr['form']['a'] + '" id="jds-form-wyslij">';
			for( var i = 0; i < 5; i++ ) {
				if( i == 1 ) {
					str += '<select name="' + arr['form']['p'][i] + '" id="jds-pole-' + i + '">';
					str += '<option value="">Wybierz</option>';
					for( var j in dane )
						for( var k in dane[j]['dane'] )
							if( typeof dane[j]['dane'][k]['s'] == 'undefined' && dane[j]['dane'][k]['s'] != false )
								str += '<option value="' + JS.Num( dane[j]['dane'][k]['d'] ) + ' ' + dane[j]['ns'] + '">' + JS.Num( dane[j]['dane'][k]['d'] ) + ' ' + dane[j]['ns'] + '</option>';
					str += '</select>';
				} else
					str += '<input name="' + arr['form']['p'][i] + '" id="jds-pole-' + i + '" />';
			}
			str += '<input type="image" class="jds-pole-btn" src="http://lodzcyclechic.com/wp-content/themes/lodzcyclechic/img/btn-form.png" />';
			str += '</form>';
			str += '</div>';
			str += '</div>';
			str += '</div>';
			str += '<div class="jds-k-bg-bottom"></div>';
			str += '</div>';
			
			$(str)
				.appendTo('body');
			
			var arrTmp = ['Imię, nazwisko, nick', null, 'Godzina', 'Twój email', 'Twój numer telefonu'];
			var arrTmpKom = ['Podaj imię', 'Wybierz datę', 'Podaj godzinę', 'Podany e-mail nie jest prawidłowy', null];
			for( var i = 0; i < 5; i++ ) {
				if( arrTmp[i] === null ) continue;
				
				$('#jds-pole-'+i)
					.blur(function(){ var v=$(this).val(); var n=JS.Num($(this).attr('id')); if(v=='') $(this).val(arrTmp[n]); })
					.focus(function(){ var v=$(this).val(); var n=JS.Num($(this).attr('id')); if(v==arrTmp[n]) $(this).val(''); })
					.val(arrTmp[i]);					
			}
				
			$(window)
				.bind('resize', function(){
					JAK.Ustaw();
				});
			
			JAK.Ustaw();
			
			$('#jds-kc-zamknij').click(function(){
				JAK.Zamknij();
			});
			$(arr['id']).click(function(){
				JAK.Otworz();
				
				return false;
			});
			
			var li,el;
			for( var i in dane ) {
				li = $('<li>');
				li.append('<p>'+dane[i]['nazwa']+'</p>');
				for( var j in dane[i]['dane'] ) {
					el = $('<div>');
					el.append('<span class="d">'+dane[i]['dane'][j]['d']+'</span>');
					el.append('<span class="o">'+dane[i]['dane'][j]['o']+'</span>');
					li.append(el);
				}
				$('#jds-lista-dat').append(li);
			}
			
			$('#jds-form-wyslij')
				.submit(function(){
					$('#jds-kc-p-form').fadeOut('normal',function(){
						$('#jds-kc-p-kom')
							.fadeIn('normal', function(){
								for( var i = 0; i < 5; i++ )
									if( ( ( arrTmp[i] != null && $('#jds-pole-'+i).val() == arrTmp[i] ) || $('#jds-pole-'+i).val() == '' || ( i == 3 && JAK.sprawdzEmail($('#jds-pole-'+i).val()) != true ) ) && arrTmpKom[i] != null ) {
										$('#jds-kc-p-kom')
											.html(arrTmpKom[i])
											.oneTime(3*1000, function() {
												$(this).fadeOut('normal',function(){
													$('#jds-kc-p-form').fadeIn('normal');
												});
											});
											
										return false;
									} else if( arrTmp[i] != null && $('#jds-pole-'+i).val() == arrTmp[i] )
										$('#jds-pole-'+i).val('')
										
								$('#jds-form-wyslij').ajaxSubmit({
									success:function(){
										$('#jds-kc-p-kom')
											.html('Wiadomość została wysłana.')
											.oneTime(5*1000, function() {
												$(this).fadeOut('normal',function(){
													$('#jds-kc-p-form').fadeIn('normal');
													for( var i = 0; i < 5; i++ )
														if( arrTmp[i] != null )
															$('#jds-pole-'+i).val(arrTmp[i]);
												});
											});
									},
									error:function(){
										$('#jds-kc-p-kom')
											.html('Nie można wysłać wiadomości.<br />Spróbuj później')
											.oneTime(5*1000, function() {
												$(this).fadeOut('normal',function(){
													$('#jds-kc-p-form').fadeIn('normal');
												});
											});
									},
									resetForm: true
								});
							})
							.html('Wysyłanie...');
					});
					
					return false;
				});
		}
	}
};

var PHP = {
	count: function( mixed_var, mode ) {
	   var key, cnt = 0;
	
		if( mode == 'COUNT_RECURSIVE' ) mode = 1;
		if( mode != 1 ) mode = 0;
	
		for (key in mixed_var){
			cnt++;
			if( mode==1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object) ){
				cnt += count(mixed_var[key], 1);
			}
		}
	
		return cnt;
	}
}