// JavaScript Document
$(document).ready(function() {
	//--------------------------------------------------------------
	$.fn.y = function(n) {
	var result = null;
	this.each(function() {
	var o = this;
	if (n === undefined) {
	var y = 0;
	if (o.offsetParent) {
	while (o.offsetParent) {
	y += o.offsetTop;
	o = o.offsetParent;
	}
	}
	if (result === null) {
	result = y;
	} else {
	result = Math.min(result, y);
	}
	} else {
	o.style.top = n + 'px';
	}
	});
	return result;
	};	
	//--------------------------------------------------------------
    var getPriceErrors = function() {

			var nmbr = $('input[name=nmbr]').val();
			
			var korak = $('input[name=korak]').val();

			if(korak == 1) {

				var tipvozila_id = $('select[name=tipvozila_id]').find(':selected').val();
	
				var datum_pickup = $('input[name=datum_pickup]').val();
				var datum_dropoff = $('input[name=datum_dropoff]').val();
	
				var vrijeme_pickup = $('select[name=vrijeme_pickup]').find(':selected').val();
				var vrijeme_dropoff = $('select[name=vrijeme_dropoff]').find(':selected').val();
	
				var oprema = $('input[name="oprema[]"]:checked').map(function(){ return $(this).val(); }).get().join(",");


				$.ajax({ 
						url: 'http://www.lulic.hr/reservation_price.php', 
						type: 'post', 
						data: {nmbr:nmbr,korak:korak,tipvozila_id:tipvozila_id,datum_pickup:datum_pickup,
								datum_dropoff:datum_dropoff,
							   vrijeme_pickup:vrijeme_pickup,vrijeme_dropoff:vrijeme_dropoff,oprema:oprema}, 
						async: false, 
						success: function(data) { 
								reservationVarResult = data; 
						} 
				});
			}

			if(korak == 2) {
				
				var ime = $('input[name=ime]').val();
				var prezime = $('input[name=prezime]').val();
				var e_mail = $('input[name=e_mail]').val();
				var telefon = $('input[name=telefon]').val();
				
				var placanje = $('input[name="placanje"]:checked').val();
				
				var uvjeti = $('input[name="uvjeti"]:checked').val();
				$.ajax({ 
						url: 'http://www.lulic.hr/reservation_check.php', 
						type: 'post', 
						data: {nmbr:nmbr,korak:korak,e_mail:e_mail,ime:ime,prezime:prezime,
								telefon:telefon,placanje:placanje,uvjeti:uvjeti}, 
						async: false, 
						success: function(data) { 
								reservationVarResult = data; 
						} 
				});
			}


			if(reservationVarResult!="") {
				$("div.rezervacija_info").html(reservationVarResult);
				$("div.rezervacija_info").show('slow'); 
					//$("div.rezervacija_info").attr('style','display: block'); 
			}
						
		return false;
     };
	//--------------------------------------------------------------
    var createVoziloDiv = function(idbroj) {

			$.ajax({ 
					url: 'http://www.lulic.hr/vozilo_info.php', 
					type: 'post', 
					data: {id:idbroj}, 
					async: false, 
					success: function(data) { 
							voziloTekst = data; 
					} 
			});

			$("div.vozilo-opsirnije").remove();
	
			$("a#" + idbroj).parent().append('<div class="vozilo-opsirnije">' + voziloTekst + '</div>');

			var pozicija = $("a#" + idbroj).y();
			
			$("div.lista_vozila").scrollTop((pozicija - 160));

		return false;
     };
	//----------------------------------------------------------------
	

	   $('#rezmenu li a').click(function(){	
			if($('#rezmenu li a').hasClass('link')) {
				return true;
			} else {
				return false;
			}
	   });

	   $('a.closeBox').click(function(){
			$('div.resultBox ul').hide('slow');						  
			$('div.resultBox').hide('slow');
			return false;	
	   });

		$("a.selectcarlink").click(function() {

			$('select[name=tipvozila_id]').val($(this).attr('id'));
			
			var z = createVoziloDiv($(this).attr('id'));	
			
			return false;

			
		});

		$('select[name=tipvozila_id]').change(function() {
													   
			var tipVozila = $(this).find(':selected').val();
			
			return createVoziloDiv(tipVozila);
			
			return getPriceErrors();

		});

		$("form[name=temp_rezervacija1]").click(function() {
			var t =  getPriceErrors();
		});

		$("input[name=datum_pickup]").change(function() {
			var t =  getPriceErrors();
		});
		
		$("input[name=datum_dropoff]").change(function() {
			var t = getPriceErrors();
		});		
		
		$("input[name=vrijeme_pickup]").change(function() {
			var t =  getPriceErrors();
		});	
		
		$("input[name=vrijeme_dropoff]").change(function() {
			var t =  getPriceErrors();
		});		
		
		
		//----------------------------------------------------------------
		// banner 484
		//----------------------------------------------------------------
		
			setTimeout("animation()",300);
			
			$(".banner484link").hover(
				function() {
					$(".banner484 span").animate({opacity:"0.9"},50).animate({bottom: '0px' }, {queue:false, duration:1200, easing:'easeOutBounce'});
					//$(".banner484discount").animate({opacity:"0"},600);
				},
				function() {
					$(".banner484 span").animate({bottom: '-60px' }, {queue:false, duration:1200, easing:'easeOutBounce'});
					//$(".banner484discount").animate({opacity:"1"},800);
				}	
			);

});

		// banner 484
		
		function animation(){
			special();
			signal();
			$(".banner484car").animate({right: '214px' }, {queue:false, duration:600, easing:'easeOutBounce'});
			$(".banner484signal").hide();
	
		}
		
		function special(){
			$(".banner484discount").animate({right: '20px' }, {queue:false, duration:1200, easing:'easeOutBounce'});
			$(".banner484discount").animate({right:"-=15px"},100).animate({right:"+=15px"}, 100).animate({right:"+=15px"},100).animate({right:"-=15px"}, 100).animate({right:"-=10px"},100).animate({right:"+=10px"}, 100).animate({right:"+=10px"},100).animate({right:"-=10px"}, 100);
			setTimeout("special()",5000);
		}
		
		function signal(){
			$(".banner484signal").show().animate({opacity:"1"},250).animate({opacity:"0"},250).animate({opacity:"1"},250).animate({opacity:"0"},250).animate({opacity:"1"},250).animate({opacity:"0"},250);
			setTimeout("signal()",4230);
		}

	/*
	 * 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 = 1.70158;
			return c*(t/=d)*t*((s+1)*t - s) + b;
		},
		easeOutBack: function (x, t, b, c, d, s) {
			if (s == undefined) s = 1.70158;
			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;
		}
	});
