var baseUrl = '';
var lan = '';
var guardScroll = 0;
var dict = new Array;
var imgCache = new Array;

function addFavorite(event) {
	event.preventDefault();
	var parts = $(event.target).andSelf().parents('a').attr('href').split('=');
	var addFav = null;

	if(parts.length == 2) {
		addFav = parts[1];
	}

	if(addFav) {
		$.get(baseUrl+lan+'/ajax/', {type: 'favoriteAdd', 'id': addFav}, function(data){
			//alert(data);

			if($('div#favorites a').length) {
				if(data[1] > 0) {
					$('div#favorites a').html(dict['my_favorites']+': '+data[1]);
				} else {
					$('div#favorites a').html('&nbsp;');
				}
			}

			if(data[0] == 1) {
				$(event.target).andSelf().parents('a').find('span').html(dict['remove_from_favorites']);
				alert(dict['favorite_add']);
			} else if(data[0] == -1) {
				$(event.target).andSelf().parents('a').find('span').html(dict['add_to_favorites']);
				alert(dict['favorite_remove']);
			}
		}, 'json');
	}
}

function removeFavorite(event) {
	event.preventDefault();
	var parts = $('a#delFavLink').attr('href').split('=');
	var remFav = null;

	if(parts.length == 2) {
		//mame parametr
		remFav = parts[1];
	}

	if(remFav) {
		$.get(baseUrl+lan+'/ajax/', {type: 'favoriteRemove', id: remFav}, function(data){
			var cont = $('a#addToFavorites').html();
			var p = cont.split(' (');
			$('a#addToFavorites').html(p[0]+' '+data);

			if($('a#delFavLink').length) {
				$('a#delFavLink').hide();
			}

			if($('div#flatBody div.detailPriceTab').length) {
				$('div#flatBody div.detailPriceTab').removeClass('favorite');
			}

			alert(dict['favorite_del']);
		})
	}
}

$(document).ready(function(){
	//load app data
	var appData = $.getAppData();
	baseUrl = appData.baseUrl;
	lan = appData.lan;
	dict = appData.dict;
	guardScroll = appData.guardScroll;

	//cache images
	/*
	for(x = 0; x < appData.preloadImages.length; ++x) {
		imgCache.push($.cacheImage(appData.preloadImages[x]));
	}
	*/

	//menu
	if($('ul#menu').length) { // && $('div#subMenu').length
		$('ul#menu a').bind('mouseenter', function(){
			$(this).css({
				'color': '#fdb813',
				'background-color': '#252159',
				'background-image': 'url("'+baseUrl+'img/main_menu_bcg.png")',
				'background-position': 'top left',
				'background-repeat': 'repeat-x'
			});

			if(this.className != 'lastMenuItem') {
				var prevId = $(this).attr('id').substr($(this).attr('id').length - 1, 1);
				if(prevId) {
					$('a#mainMenu'+(prevId - 1)).css({
						'background-image': 'none'
					});
				}
			}
		});

		$('ul#menu a').bind('mouseleave', function(){
			$(this).css({
				'color': '#1a1347',
				'background-position': 'right center',
				'background-repeat': 'no-repeat',
				'background-color': '#fdc02e'
			});

			if(this.className == 'lastMenuItem' || this.id == 'mainMenu5') {
				$(this).css({
					'background-image': 'none'
				});
			} else {
				$(this).css({
					'background-image': 'url("'+baseUrl+'img/menu_spacer.png")'
				});
			}

			if(this.className != 'lastMenuItem') {
				var prevId = $(this).attr('id').substr($(this).attr('id').length - 1, 1);
				if(prevId) {
					$('a#mainMenu'+(prevId - 1)).css({
						'background-image': 'url("'+baseUrl+'img/menu_spacer.png")'
					});
				}
			}
		});

		//submenu
		if($('ul#menu').length && $('div#subMenu').length) {
			//centrovani
			var headPos = $('div#head').offset();

			$('div#subMenu div').each(function(){
				var idSubmenu = $(this).attr('id').substr($(this).attr('id').length - 1, 1);
				var mainMenu = $('ul#menu li a[rel="submenu-root-'+idSubmenu+'"] span');

				var subPos = $(this).offset();
				var subWidth = $(this).width();

				var mainPos = $(mainMenu).offset();
				var mainWidth = $(mainMenu).width();

				var left = (mainPos.left - headPos.left) + Math.floor(mainWidth / 2) - Math.floor(subWidth / 2) - 23;
				if(left < 0)left = 0;

				$(this).css({
					'position': 'relative',
					'left': left
				});
			});

			//over and out
			$('ul#menu').get(0).over = false;
			$('ul#menu').get(0).tRef = null;

			function hideSubmenu(showDef) {
				$('div#subMenu div').each(function(){
					$(this).css('display', 'none');
				})

				if(showDef) {
					if($('div.activeSubMenuTab').length) {
						$('div.activeSubMenuTab').css('display', 'block');
					}
				}
			}

			function condHideSubmenu() {
				if($('ul#menu').get(0).over == false) {
					hideSubmenu(true);
				}
			}

			$('ul#menu a[rel]').each(function(){
				$(this).bind('mouseenter', function(){
					hideSubmenu(false);
					$('ul#menu').get(0).over = true;

					var ex = $(this).attr('rel').split('-');
					if($('div#submenu-'+ex[2]).length) {
						$('div#submenu-'+ex[2]).css('display', 'block');
					}
				});

				$(this).bind('mouseleave', function(){
					$('ul#menu').get(0).over = false;
					$('ul#menu').get(0).ref = window.setTimeout(condHideSubmenu, 1000);
				});
			});

			$('div#subMenu').bind('mouseenter', function(){
				$('ul#menu').get(0).over = true;
			});

			$('div#subMenu').bind('mouseleave', function(){
				$('ul#menu').get(0).over = false;
				$('ul#menu').get(0).ref = window.setTimeout(condHideSubmenu, 1000);
			});
		}
	}

	//balici filtry
	if($('div.colapsibleFilter').length) {
		$('div.colapsibleFilter div').css('display', 'none');

		$('div.colapsibleFilter div').each(function(){
			$(this).get(0).initalHeight = $(this).height();
		});

		$('div.colapsibleFilter').each(function(){
			$($(this).find('a').get(0)).click(function(event) {
				event.preventDefault();
				var parentCol = $(this).parents('div.colapsibleFilter');
				var mDiv = parentCol.find('div');

				if(mDiv.css('display') == 'none') {
					$(this).css('background-image', 'url('+baseUrl+'img/minus.png)');

					mDiv.css({
						'display': 'block',
						'height': 0
					});

					mDiv.animate({'height': mDiv.get(0).initalHeight}, 'fast');
				} else {
					$(this).css('background-image', 'url('+baseUrl+'img/plus.png)');

					mDiv.animate({'height': 0}, 'fast', function(){
						$(this).css('display', 'none');
					});
				}
			});
		});
	}

	//advanced filters
	var aHide = true;
	if($('div#advancedFilters a.activeFilter').length) {
		var aHide = false;
	}

	if($('strong#colH1').length && $('div#advancedFilters').length) {
		$('div#advancedFilters').get(0).initalHeight = $('div#advancedFilters').height();
		if(aHide) {
			$('div#advancedFilters').css('display', 'none');
		} else {
			$('strong#colH1').css('background-image', 'url('+baseUrl+'img/minus.png)');
		}

		$('strong#colH1').click(function(event){
			var mDiv = $('div#advancedFilters');

			if(mDiv.css('display') == 'none') {
				$(this).css('background-image', 'url('+baseUrl+'img/minus.png)');

				mDiv.css({
					'display': 'block',
					'height': 0
				});

				mDiv.animate({'height': mDiv.get(0).initalHeight}, 'fast');
			} else {
				$(this).css('background-image', 'url('+baseUrl+'img/plus.png)');

				mDiv.animate({'height': 0}, 'fast', function(){
					$(this).css('display', 'none');
				});
			}
		});
	}

	//schovavani neaktivnich filtru
	if($('div.filters a.activeFilter').length) {
		$('div.filters a.activeFilter').each(function(){
			if($(this).parents('div.colapsibleFilter').length == 0) {
				/*
				$(this).parents('div.filter').find('a:not(.activeFilter)').css('display', 'none');
				$(this).parents('div.filter').find('h2').css('margin-bottom', 0);
				$(this).parents('div.filter').css('padding-bottom', 0);
				*/
			} else {
				$(this).parents('div.colapsibleFilter div').css({
					'display': 'block',
					'height': $(this).parents('div.colapsibleFilter div').get(0).initalHeight
				});

				$(this).parents('div.colapsibleFilter').find('a:first').css('background-image', 'url('+baseUrl+'img/minus.png)');
			}

			$(this).hover(
				function(){
					$(this).toggleClass('activeFilterClose');
					$(this).find('span').html(dict['cancel'])
				},
				function(){
					$(this).toggleClass('activeFilterClose');
					$(this).find('span').html(dict['selected'])
				}
			);
		});
	}

	//hlidani scrollu
	if(guardScroll) {
		var filterAs = $('div#filters a');
		if(filterAs.length) {
			filterAs.click(function name(event) {
				$.setCookie('rdpagepos', $(window).scrollTop(), {
					duration : 1,
					path : '/'
				});
			});
		}

		var scTo = $.readCookie('rdpagepos');
		if(scTo != null && window.location.search != '') {
			$(window).scrollTop(scTo);
		}
	}
	$.delCookie('rdpagepos');

	//kontakt jina osoba
	if($('div#otherPerson').length && $('input#offeruniform_jina_osoba').length) {
		$('input#offeruniform_jina_osoba').toggle(
			function(){
				$('div#otherPerson').css('display', 'block');
			},
			function(){
				$('div#otherPerson').css('display', 'none');
			}
		);
	}

	//oblibene
	if($('a.toFavorites').length) {
		$('a.toFavorites').click(function(event){
			addFavorite(event);
		})
	}

	//listTools form
	if($('form#listTools').length) {
		$('form#listTools select, form#listTools input').change(function(){
			$('form#listTools').submit();
		});

		$('form#listTools input').click(function(){
			$(this).select();
		})
	}

	//index
	if($('div.indexType').length) {
		$('div.indexType').bind('mouseenter', function(){
			$(this).css('background-color', '#ffe5b3');
		});

		$('div.indexType').bind('mouseleave', function(){
			$(this).css('background-color', '#d9dfe4');
		});

		$('div.indexType').click(function(){
			document.location.href = $(this).find('h1 a').attr('href');
		});
	}

	//strankovani
	if($('div.pagination a').length) {
		$('div.pagination a').each(function(){
			if($(this).attr('href') == '#') {
				if($(this).hasClass('previousPage'))$(this).addClass('inactivePrev');
				else if($(this).hasClass('nextPage'))$(this).addClass('inactiveNext');
				$(this).blankHref();
			}
		});
	}

	//tipy
	if($('a.tip').length) {
		$('a.tip span').css('opacity', 0.8);

		$('a.tip').bind('mouseenter', function(){
			$(this).find('span').css('display', 'block');
		});

		$('a.tip').bind('mouseleave', function(){
			$(this).find('span').css('display', 'none');
		});
	}

	//popisek fulltextu
	//'text_here'

	var st = $('input#search_searchterm');

	if(st.length) {
		if(st.val() == '') {
			st.val(dict['text_here']);
		}

		st.focus(function(){
			if($(this).val() == dict['text_here'])$(this).val('');
		});

		st.blur(function(){
			if($(this).val() == '')$(this).val(dict['text_here']);
		});
	}
});

$(window).load(function () {
	//init shadowbox
	Shadowbox.init();

	/* MAPA */
	if(
	$('div#contactMap').length
	&& $('span#gaAddress').length
	&& $('span#gaCity').length
	&& GBrowserIsCompatible()
	) {

		var map = new GMap2(document.getElementById('contactMap'));
		map.addControl(new GSmallMapControl());

		geocoder = new GClientGeocoder();

		if (geocoder) {
			geocoder.getLatLng(
				$('span#gaAddress').html()+', '+$('span#gaCity').html(),
				function(point) {
					if (point) {
						map.setCenter(point, 15);
						var marker = new GMarker(point);
						map.addOverlay(marker);
					}
				}
			);
		}
	}

	//$.bannerController.setupBanners('banner');

	//scroll na karte fotogalerie
	if(
		$('div#galleryScroller a.scrollLeft').length
		&& $('div#galleryScroller a.scrollRight').length
		&& $('div#galleryScroller div.scCover').length
		&& $('img#mainImage').length
	) {

		var scrl = $('div#galleryScroller div.scCover').get(0);
		$(scrl).sideScroll(6);
		$(scrl).pGal();

		$('div#galleryScroller a.scrollLeft').click(function(event){
			event.preventDefault();
		});

		$('div#galleryScroller a.scrollLeft').mouseover(function(){
			scrl.scroller.scrollRight();
		});

		$('div#galleryScroller a.scrollLeft').mouseout(function(){
			scrl.scroller.scrollStop();
		});

		$('div#galleryScroller a.scrollRight').click(function(event){
			event.preventDefault();
		});

		$('div#galleryScroller a.scrollRight').mouseover(function(){
			scrl.scroller.scrollLeft();
		});

		$('div#galleryScroller a.scrollRight').mouseout(function(){
			scrl.scroller.scrollStop();
		});

		$('img#mainImage').click(function(){
			$(scrl).openPGal();
		});

		$('div#galleryScroller div.scCover div a').live('click', function(event){
			event.preventDefault();
			event.stopPropagation();
			event.stopImmediatePropagation();

			var bigImg = $(this).attr('href');
			var origImt = bigImg;
			bigImg = bigImg.replace('detailorig', 'detailbig');

			$('img#mainImage').attr('src', bigImg);

			$('img#mainImage').unbind('click');
			$('img#mainImage').click(function(){
				$(scrl).openPGal(origImt);
			});
		});

		/*
		$('div#galleryScroller div.scCover div img').live('click', function(event){
			alert('boom2');

			event.preventDefault();
			event.stopPropagation();
			event.stopImmediatePropagation();


		});
		*/
	}
});
