if (typeof(localStorage) != "undefined" ) {
    if (!localStorage.getItem("firstVisit")) {
	localStorage.setItem("firstVisit", false);
	$("#gitara").hide();
	$(window).load(function() {
	    $("#gitara").fadeIn(5000);
	});
    }

}

if($.browser.msie && ($.browser.version < 8 || document.documentMode < 8)) {
    var hashChangeSupport = false;
} else if("onhashchange" in window) {
    var hashChangeSupport = true;
} else {
    var hashChangeSupport = false;
}

if (hashChangeSupport) {
    getHashOnLoad();
    window.onhashchange = hashChange;
    
    $("body").on("click.hashChange", "a.internal", function(event) {
	var thisObj = $(this);
	var thisUrl = thisObj.attr("href");
	window.location.hash = thisUrl;
	event.preventDefault();
    });
}

$("#content").on("click", "#editContent", function(event) {
    showEditor(event);
    event.preventDefault();
});

$("#content").on("click", "#saveContent", function(event) {
    var data = $("#tinycontent").html();
    var hash = location.hash;
    if (hash != "") {
	hash = hash.replace("#", "");
    } else {
	hash = location.pathname;
    }
    
    ajaxCall(hash, data);  
    event.preventDefault();
});

$("#content").on("click", "#cancelContent", function(event) {
    hashChange();
    event.preventDefault();
});

handleEditBtn();

$(".gal a").fancybox({
	    'titleShow'     : false,
	    'transitionIn'	: 'elastic',
	    'transitionOut'	: 'elastic',
	    'easingIn'      : 'easeOutBack',
	    'easingOut'     : 'easeInBack'
    });

function getHashOnLoad() {
    var hash = location.hash;
    if (hash != "") {
	hash = hash.replace("#", "");
	ajaxCall(hash);
    }
}

function hashChange() {
    var hash = location.hash;
    if (hash != "") {
	hash = hash.replace("#", "");
    } else {
	hash = location.pathname;
    }
    
    ajaxCall(hash);    
}

function ajaxCall(ajaxUrl, postData) {
    var bodyClass = ajaxUrl.split("/");
    bodyClass = bodyClass[1];
    if (bodyClass == "") {
	bodyClass = "home";
    }
    
    if (postData != undefined) {
	var requestType = "POST";
	postData = {"obsah": postData};
    } else {
	var requestType = "GET";
	postData = "";
    }
    
    var jqhxr = $.ajax({
	url: ajaxUrl,
	cache: false,
	data: postData,
	type: requestType,
	dataType: "json"
    })
    .success(function(data) {
	$("body").removeClass();
	$("body").addClass(bodyClass);
	$("#content").remove("editContent");
	
	$("title").text(data.title);
	$("#content").data("editable", data.editable);
	
	if (data.submenu != "") {
	    if ($("#content #left").length == 0) {
		$("#content").html('<div id="left"></div><div id="right"><ul></ul></div><div class="cleaner"></div>');
	    }
	    $("#content #left").html(data.view_data);
	    $("#content #right ul").html(data.submenu);
	} else {
	    $("#content").html(data.view_data);
	}
	
	if (data.homepage == true) {
	    if ($("#gitara").length == 0) {
		$("#container").prepend('<div id="gitara"></div>');
	    }
	} else {
	    $("#gitara").remove();
	}
	
	$("#menu li").removeClass("active");
	mainMenuUrl = ajaxUrl.split("/");
	if (mainMenuUrl.length > 1 && mainMenuUrl[1] != "") {
	    mainMenuUrl = mainMenuUrl[1];
	} else {
	    mainMenuUrl = "home";
	}
	
	$("#menu #mm"+mainMenuUrl).addClass("active");
	handleEditBtn();
	$(".gal a").fancybox({
		'titleShow'     : false,
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'easingIn'      : 'easeOutBack',
		'easingOut'     : 'easeInBack'
	});
    })
    .error(function(data) {/*console.log(data);*/})
}

function handleEditBtn() {
    var isEditable = $("#content").data("editable");

    if (isEditable != undefined && isEditable == true) {
	if ($("#editContent").length == 0) {
	    $("#content").append('<a href="#" id="editContent">Upraviť obsah</a>');
	}
    } else {
	$("#editContent").remove();
    }
}

function showEditor(ev) {

    $("#editContent").hide();
    
    var editableContentDiv = $("#content .ice");
    if (editableContentDiv.length > 0) {
	var editableContent = editableContentDiv.html();
	var bodyId = $("body").attr("id");
	
	if ($("#left").length > 0) {
	    var selector = $("#content #left");
	} else {
	    var selector = $("#content");
	}
	
	if (bodyId == "grey") {
	    selector.append('<textarea class="tinymcegrey" id="tinycontent"></textarea>');
	    var tinyselector = $(".tinymcegrey");
	} else {
	    selector.append('<textarea class="tinymce" id="tinycontent"></textarea>');
	    var tinyselector = $(".tinymce");
	}
	editableContentDiv.hide();	
	tinyselector.text(editableContent);
	tinyselector.after('<div class="editorBtns"><a href="#" id="saveContent">Uložiť</a><a href="#" id="cancelContent">Zrušiť</a></div>');
	$(ev.target).remove();
    }
    
    if(typeof tinyMCE == "undefined") {
	$.getScript("/js/tiny_mce/jquery.tinymce.js", function() {
	    $.getScript("/js/tinymce-init.js");
	});
    } else {
	$.getScript("/js/tinymce-init.js");
    }
}

function transit() {
    var thisBody = document.body || document.documentElement;
    var thisStyle = thisBody.style;
    var support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined;
    alert(support);
}

function grayscale(src){
    var canvas = document.createElement('canvas');
    var ctx = canvas.getContext('2d');
    var imgObj = new Image();
    imgObj.src = src;
    canvas.width = imgObj.width;
    canvas.height = imgObj.height; 
    ctx.drawImage(imgObj, 0, 0); 
    var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
    for(var y = 0; y < imgPixels.height; y++){
	    for(var x = 0; x < imgPixels.width; x++){
		    var i = (y * 4) * imgPixels.width + x * 4;
		    var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
		    imgPixels.data[i] = avg; 
		    imgPixels.data[i + 1] = avg; 
		    imgPixels.data[i + 2] = avg;
	    }
    }
    ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
    return canvas.toDataURL();
}
