/**
 * Dropdown menu
 */
var timeout    = 0;
var closetimer = 0;
var ddmenuitem = 0;
var ddlabel = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');
   ddlabel = $(this).find('a').addClass('selected');
}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
	if(ddlabel) ddlabel.removeClass('selected');
}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function () {
	$('#navmenu > li').bind('mouseover', jsddm_open)
	$('#navmenu > li').bind('mouseout',  jsddm_timer)
});

document.onclick = jsddm_close;

/**
 * Rouded corners
 */
$(document).ready(function () {
	$('#carousel li a').corner({
		tl: { radius: 7 }, 
		tr: { radius: 7 }, 
		bl: { radius: 0 }, 
		br: { radius: 0 }
	});

	$('#content').corner({
		tl: { radius: 26 }, 
		tr: { radius: 26 }, 
		bl: { radius: 0 }, 
		br: { radius: 0 }
	});

	// MSIE corners bug
	if ($.browser.msie) {
		$('#navmenu_container').css('padding', '2px 0');
		$('#introimage').css('padding', '7px 0');
		$('#news_pager').css('margin-top', '-2px');
		return;
	}

	$('a.bike_item').corner({
		tl: { radius: 7 }, 
		tr: { radius: 7 }, 
		bl: { radius: 0 }, 
		br: { radius: 0 }
	});

	$('#navmenu_container').corner({
		tl: { radius: 3 }, 
		tr: { radius: 3 }, 
		bl: { radius: 3 }, 
		br: { radius: 3 }
	});

	$('.rounded').corner({
		tl: { radius: 7 }, 
		tr: { radius: 7 }, 
		bl: { radius: 7 }, 
		br: { radius: 7 }
	});

});

/**
 * Bikes carousel
 */
function mycarousel_initCallback(carousel)
{
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });
 
    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });
 
    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};
$(document).ready(function () {
	var params = {
		scroll: 1,
		wrap: 'both',
		animation: 500,
		initCallback: mycarousel_initCallback,
		buttonNextHTML: '<div class="carousel-next"></div>',
		buttonPrevHTML: '<div class="carousel-previous"></div>'
	};

	// Autoscroll on home page
	if ($('#news_container').length > 0)
		$.extend(params, {auto: 3});

	// Make selected bike visible
	if ($('.selected_bike').length > 0)
		$.extend(params, {start: $('#carousel li').index($('.selected_bike')) + 1});
	
	$('#carousel').jcarousel(params);
});

/**
 * FancyZoom
 */
$(document).ready(function () {
    $('a.zoom').fancyzoom({
    	Speed: 0,
    	showoverlay: true,
    	overlay: 0.8
    });
});

/**
 * Product question box
 */
$(document).ready(function () {
	var box = $('#product_question');
	
	//box.css('top', '-' + box.height() + 'px');
	
	// Show form button
	$('#product_question_link').bind('click', function () {
		box.css('left', (($('body').width() - box.width()) / 2) + 'px');
		box.css('visibility', 'visible');
		box.animate({top: '0px'});
		
		return false;
	});
	
	// Close button
	$('#product_question .closebtn').bind('click', function () {
		box.animate({top: '-295px'});
		$('#sending_status').css('display', 'none');
		$('#success_status').css('display', 'none');
		$('#failed_status').css('display', 'none');
	});
	
	// Submit button
	$('#product_question a.button').bind('click', function () {
		$('#success_status').css('display', 'none');
		$('#failed_status').css('display', 'none');
		
		var fromElm = $("#product_question form input[name='from']");
		var subjectElm = $("#product_question form input[name='subject']");
		var textArea = $('#product_question form textarea');
		
		// Email format check
		var re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$/;
    	if (fromElm.attr('value').search(re) != 0) {
    		alert('Vaše emailová adresa je chybná!');
    		return false;
    	}
    	
    	$('#sending_status').fadeIn();
		
		// Send POST data
		$.post("sendmail.php",
		{
			from: fromElm.attr('value'),
			subject: subjectElm.attr('value'),
			msg: textArea.val()
		},
		// callback function
		function (data) {
			$('#sending_status').css('display', 'none');

			if (data == 'OK')
			{
				$('#success_status').fadeIn();
				fromElm.value = '';
				textArea.html('');
				setTimeout("$('#product_question .closebtn').click()", 3000);
			}
			else
				$('#failed_status').fadeIn();
			
		}, "text");

		return false;
	});
});

/**
 * Bike parameters loading
 */
$(document).ready(function() {
	// Does not work in MSIE
	if ($.browser.msie) {
		$('#params table tr').css('display', 'block');
		setTimeout("$('#buttonbar').fadeIn(1000)", time);
		return;
	}

	var time = 300;

	$('#params table tr').each(function (i) {
		setTimeout("$('#params table tr:nth-child("+i+")').fadeIn()", time);
		time += 100;
	});

	setTimeout("$('#buttonbar').fadeIn(1000)", time);
});

/**
 * Homepage News
 */
var news_autoswitch = true;
function next_new () {
	if (!news_autoswitch) return;
	
	var count = $('#news_pager div').length;
	var old_id = Number($('#news_pager div.selected').html());
	var new_id = (old_id % count) + 1;
	
	$('#news_pager div.selected').removeClass('selected');
	$('#news_pager div:nth-child('+(count - new_id + 1)+')').addClass('selected');
	
	$('#news_container .new:nth-child('+old_id+')').fadeOut(1000);
	$('#news_container .new:nth-child('+new_id+')').fadeIn(1000);
	
	setTimeout("next_new()", 6000);
}

$(document).ready(function() {
	$('#news_pager div').bind('click', function () {
		news_autoswitch = false;
		var old_id = $('#news_pager div.selected').html();
		var new_id = $(this).html();
		
		$('#news_pager div.selected').removeClass('selected');
		$(this).addClass('selected');
		
		$('#news_container .new:nth-child('+old_id+')').fadeOut(500);
		$('#news_container .new:nth-child('+new_id+')').fadeIn(500);
	});
	
	if ($('#news_pager div').length > 0)
		setTimeout("next_new()", 5000);
});

/**
 * Delete button confirmation
 */
$(document).ready(function() {
	$('a.button.red').bind('click', function () {
		return confirm("Chcete opravdu smazat zvolenou položku?");
	});
});

/**
 * Delete image in admin section
 */
function deleteImage(imgId) {
	if (!confirm("Chcete opravdu smazat zvolenou položku?"))
		return true;

	$("#bike_img_"+imgId+" + img").hide();
	$("#bike_img_"+imgId).hide();
	$.ajax({url:"admin.php?action=delete_img&img_id="+imgId});
}

/**
 * Convert title to url
 */
function str2url(str)
{
	str = str.toUpperCase();
	str = str.toLowerCase();

	str = str.replace(/[ěĚ]/g,'e');
	str = str.replace(/[čČ]/g,'c');
	str = str.replace(/[úůÚŮ]/g,'u');
	str = str.replace(/[\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/g,'a');
	str = str.replace(/[\u00E8\u00E9\u00EA\u00EB]/g,'e');
	str = str.replace(/[\u00EC\u00ED\u00EE\u00EF]/g,'i');
	str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8]/g,'o');
	str = str.replace(/[\u00F9\u00FA\u00FB\u00FC]/g,'u');
	str = str.replace(/[\u00FD\u00FF]/g,'y');
	str = str.replace(/[\u00F1]/g,'n');
	str = str.replace(/[\u0153]/g,'oe');
	str = str.replace(/[\u00E6]/g,'ae');
	str = str.replace(/[\u00DF]/g,'ss');
	str = str.replace(/[\u0161]/g,'s');
	str = str.replace(/[\u0159]/g,'r');
	str = str.replace(/[\u017E]/g,'z');
	str = str.replace(/[\u0148]/g,'n');
	str = str.replace(/[\u010F]/g,'d');
	str = str.replace(/[\u0165]/g,'t'); 

	str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
	str = str.replace(/[\s\'\:\/\[\]-]+/g,' ');
	str = str.replace(/[ ]/g,'-');

	return str;
}

/**
 * Generate URL after each keypress
 */
$(document).ready(function() {
	$('.admintable input[name=title]').bind('keyup', function () {
		var title = $('.admintable input[name=title]').attr('value');
		$('.admintable input[name=url]').attr('value', str2url(title));
	});
});

/**
 * Show interactive map to choose store position
 */
function create_store_minimap()
{
	var m = new SMap(JAK.gel("store_minimap"), null, 5);
	m.addControl(new SMap.Control.Sync()); /* Aby mapa reagovala na změnu velikosti průhledu */
	m.addDefaultLayer(SMap.DEF_BASE).enable(); 
	
	var mouse = new SMap.Control.Mouse(SMap.MOUSE_PAN | SMap.MOUSE_WHEEL | SMap.MOUSE_ZOOM); /* Ovládání myší */
	m.addControl(mouse); 

	var layer = new SMap.Layer.Marker();
	m.addLayer(layer);
	layer.enable();

	var lon = $("input[name=longitude]").val();
	var lat = $("input[name=latitude]").val();
	if (lon != "" && lat != "") {
		var marker = new SMap.Marker(SMap.Coords.fromWGS84(lon, lat));
		layer.addMarker(marker);
	}

	/* Došlo ke kliknutí, spočítáme kde */
	m.getSignals().addListener(window, "map-click", function (e, elm) { 
		var coords = SMap.Coords.fromEvent(e.data.event, m);
		var lon = coords.toWGS84()[0];
		var lat = coords.toWGS84()[1];

		var marker = new SMap.Marker(coords);
		layer.removeAll();
		layer.addMarker(marker);

		$("input[name=longitude]").val(lon);
		$("input[name=latitude]").val(lat);
	});
}

/**
 * Init file uploads
 */
$(document).ready(function() {
	var uploader = new qq.FileUploader({
	    // pass the dom node (ex. $(selector)[0] for jQuery users)
	    element: document.getElementById('file-uploader'),
	    // path to server-side upload script
	    action: '../upload.php',
	    // after uploading finish
	    onComplete: function(id, fileName, response) {
	    	$("#file-uploader-filename").val(response.filename);
	    },
	    sizeLimit: 15728640, // 15MB
	    debug: true
	});
});
