jQuery(document).ready(function() {  
	priraditJs(null, true);
});

function reloadPage($target)
{
	if($target == undefined){
		window.location.href = window.location.href;
	}else{
		window.location.href = $target;
	}
}

function setLocation($location)
{
    window.location = $location;
}

function pridatMinimalizaci($objekt)
{
	var $titleBar = $objekt.children('.ui-dialog-titlebar');
	var $title = $titleBar.children('.ui-dialog-title');
	var $content = $objekt.children('.ui-dialog-content');
	var $zmenseni = jQuery('<a class="ui-dialog-titlebar-collapsible ui-corner-all" href="#"></a>');
	var $zmenseniSpan = jQuery('<span class="ui-icon"></span>');
	
	$zmenseni.html($zmenseniSpan);
	$title.after($zmenseni);
	
	var $funkce = function(event){
		event.preventDefault();
		$objekt.css('height', 'auto');
		$objekt.toggleClass('collapsed');
	};
		
	$titleBar.dblclick($funkce);
	$zmenseni.click($funkce);
	
	$zmenseni.hover(function(){
		$zmenseni.addClass('ui-state-hover');
	},function(){
		$zmenseni.removeClass('ui-state-hover');
	});
}

function priraditJs($target, $init)
{
	if($init == undefined){
		$init = false;
	}
	
	if($target == undefined){
		$target = jQuery(document);
	}
	
	$target.find(".hmcButton, input.submit").each(function(){
		var $item = jQuery(this);
		$item.button({
	            icons: {
	                primary: 'hmc'
	            }
        });
	});
	
	$target.find(".hmcCollapsible").each(function(){
		pridatMinimalizaci(jQuery(this));
	});
	
	if(typeof window.dynamickeScripty == 'function'){
		dynamickeScripty($target);
	}

	var $zdroj = $target.find("[rel]");
	// vyhleda na prvcich rel tagy a podle hodnoty spusti prislusne akce
    $zdroj.each(function(i){
    	var $string = trim(jQuery(this).attr('rel'));
    	if($string != '' 
    	    && $string != 'stylesheet' 
    		&& -1 == $string.search('shadowbox')
    		&& -1 == $string.search('prettyPhoto')
    		){
	    	try{
	    		eval('var $rel=' + $string);
	    		if($rel.yesno){
	    			jQuery(this).bind('click', function($event){
	    				$event.preventDefault();
	    				var $element = jQuery(this);
	    				var $data = $rel.yesno;
	    				jQuery.yesNo($data.text, $data.title, function(){
	    					var $type = $event.type;
						    if ($type == 'click'){
			                    if($element.is("a")){
			                        setLocation($element.attr('href'));
			                    }
			                }
	    					
	    				}, undefined, $data);
	    			});
	    		}
	    	}catch(e){
	    		alert('chybny rel tag = ' + $string);
	    		alert('chyba = ' + e);
	    	}
    	}
    });	
}

function trim (str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

function ajaxItemSearch($url, $searchLabel, $data)
{
    if($data == undefined){
        $data = {};
    }
    $data.searchLabel = $searchLabel;
    $data.searchUrl = $url;
    jQuery.hmcWindowPage($url, $data,{
        title: $searchLabel,
        width: 600,
        minHeight: 450
    }, false);
}

function ajaxItemRemove($item, $idName)
{
    jQuery($item).parent().hide();
    jQuery("#" + $idName).val("");
    jQuery($item).parent().parent().parent().find(".title").html("");
}

function itemSearchSelect($params)
{
    $radek = jQuery("#" + $params.sourcePlaceName);
    $radek.find(".selectButton").remove();
    $radek.find(".searchButton").show();
    $radek.find(".removeButton").show();
    jQuery("#" + $params.targetPlaceName).replaceWith($radek);
    jQuery("#" + $params.idInputName).val($params.itemId);
    jQuery("#" + $params.dialogId).hmcDialog().destroy();
}

function itemSearchSelectList($params)
{
    $radek = jQuery("#" + $params.sourcePlaceName);
    $radek.find(".selectButton").remove();
    $radek.find(".removeButton").show();
    jQuery("#" + $params.targetPlaceName).append($radek);
}

function ajaxItemRemoveList($item)
{
    jQuery($item).parent().parent().parent().remove();
}

function tinyMceSelectItem($data, $src, $name, $dialog, $editor)
{
    var $rel = new Array;
    jQuery.forIn($data, function($index, $value){
        $rel[$rel.length] = "\'" + $index + "\': \'" + $value + "\'";
    });
	$rel = $rel.join(",");
	var $str = '<img rel="{' + $rel + '}" title="' + $name + '" alt="' + $name + '" src="' + $src + '" />';
	$editor.tinymce().execCommand("mceInsertContent", false, $str);
    $dialog.remove();
}

