// preload images
$(function() {
	$('img[rel=js_img_load[]]').each(function(index) {
		var src=$(this).attr('src');
		var loader='<span id="loader'+index+'" class="loader_img loading_img '+$(this).attr('class')+'" style="width: '+$(this).attr('width')+'px; height: '+$(this).attr('height')+'px;"></span>';
		$(this).hide().before(loader).remove();
		//$(this).remove();
	  var img=new Image();
		$(img).load(function () {
			$(this).hide();
			$('#loader'+index).removeClass('loading_img').empty().append(this);
			$(this).fadeIn();
			}).error(function () {
			// image not loaded
			}).attr('src',src);
	});
});

//tiny_mce
function initTiny() {
  tinyMCE.init({ 
    mode : "textareas",
		height : "100%",
		width : "100%",
    theme : "advanced", 
    language : "cs",
    plugins : "style,layer,save,contextmenu,paste,visualchars,nonbreaking,xhtmlxtras,table",
    theme_advanced_buttons1 : "bold,italic,bullist,numlist,indent,outdent,formatselect,|,undo,redo,link,unlink,sub,sup,|,cut,copy,paste,pasteword,|,code,|,charmap,fullscreen",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_buttons4 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "",
    theme_advanced_resizing : true,
    entity_encoding : "raw",
    fix_table_elements : true,
    fix_list_elements : true,
    cleanup_on_startup : true,
    cleanup : true,
    valid_elements : "" +
    "+a[id|name|href|title|class|]," + 
    "-strong/-b[class]," + 
    "-em/-i[class]," + 
    "-u[class]," + 
    "#p[id|class]," + 
    "-ol[class]," + 
    "-ul[class]," + 
    "-li[class]," + 
    "-cite[class]," + 
    "br," + 
    "-sub[class]," + 
    "-sup[class]," + 
    "-table[cellspacing=0|cellpadding=0|width|height|class|id]," + 
    "-tr[id|class|rowspan|width|height]," + 
    "tbody[id|class]," + 
    "thead[id|class]," + 
    "tfoot[id|class]," + 
    "-td[id|class|colspan|rowspan|width|height]," + 
    "-th[id|class|colspan|rowspan|width|height]," + 
    "-div[id|class]," + 
    "-span[style|span]," + 
    "-pre[class]," + 
    "address[class]," + 
    "-h3[id|class|align]," + 
    "-h4[id|class|align]," + 
    "-h5[id|class|align]," + 
    "-h6[id|class|align],"
  });
}

// send form
function sendForm(form_id,form_type,sid) {
	$('#'+form_id).ajaxSubmit({
		beforeSubmit:function(formData,jqForm,options) {
			formData[formData.length]={ "name": "sid", "value": sid };
			formData[formData.length]={ "name": "form_id", "value": form_id };
		},
		success:loadResultsSendForm,
		url:'modelina2/urw/form/form_'+form_type+'.json.php'
  });
	return false;
}

function showRequestSendForm(formData,jqForm,options) {
	var queryString = $.param(formData); 
	window.alert('submit: \n\n' + queryString);
	return false;
}
function loadResultsSendForm(responseText,statusText) {
  if(statusText=='success') {
    var response=responseText.split('#@#');
		var sid=response[0];
		var title=response[1];
		var close_text=response[2];
		var html=response[3];
		modalCreate(title,close_text,html,sid);
	}
}

// modal window
function modalToggle(id) {
	$('#modal_bcg').toggle();
	$('#'+id).toggle();
}
function modalCreate(title,close_text,html,sid) {
	var neklikej='<label for="modal_form_cloveku_nevyplnuj" class="cloveku_nevyplnuj">cloveku_nevyplnuj</label><input id="modal_form_cloveku_nevyplnuj" name="modal_form_cloveku_nevyplnuj" class="cloveku_nevyplnuj" value="" type="text" />';
	$('<div class="modal_bcg" id="modal_bcg"></div><div class="modal" id="modal_main"><form method="post" action=""><div class="modal_form_bottom"><div class="modal_form_top"><div class="modal_form">'+neklikej+'<span class="close" onclick="modalClose();"><span>'+close_text+'</span></span><h3>'+title+'</h3>'+html+'</div></div></div></form></div>').appendTo(document.body);
	$('#modal_main').show();
	$('#modal_bcg').show();
	cartRefresh(sid);
}
function reDiscussionPost(template,sid,pid,tit) {
	modalFormCreate(template,sid);
	$('#'+template+'_parent_id_input').val(pid);
	$('#'+template+'_post_title_input').val(tit+' '+$('#discussion_title_'+pid).html());
}
function voteDiscussionPost(sid,cid,type) {
	$.ajax({
		url: "modelina2/urw/discussion/discussion_vote.json.php",
		global: false,
		type: "POST",
		data: ({cid : cid , sid : sid, type : type}),
		dataType: "json",
		async: false,
		success: function(data) {
	  }
	});
}
function modalFormGet(template,sid) {
	$.ajax({
		url: "modelina2/urw/form/form.json.php",
		global: false,
		type: "POST",
		data: ({tpl : template , sid : sid}),
		dataType: "json",
		async: false,
		success: function(data) {
			$('<div class="modal_bcg" id="modal_bcg"></div><div class="modal_left" id="modal_main"><div class="modal_right"><div class="modal_bottom"><div class="modal_bottom_right"><div class="modal_bottom_left"><div class="modal_top"><div class="modal_top_right"><div class="modal_top_left"><span class="close" onclick="modalClose();"><span>'+data['close_text']+'</span></span>'+data['html']+'</div></div></div></div></div></div></div></div>').appendTo(document.body);
			initTiny();
	  }
	});
}
function modalFormCreate(template,sid) {
	modalFormGet(template,sid);
	$('#modal_bcg').show();
	$('#modal_main').show()
}
function modalFormSend(form_id,sid,btn) {
	tinyMCE.triggerSave();
	$('#'+form_id).ajaxSubmit({
		url:'modelina2/urw/form/form.json.php',
		dataType:'json',
		beforeSubmit:function(formData,jqForm,options) {
			formData[formData.length]={ "name": "sid", "value": sid };
			formData[formData.length]={ "name": "tpl", "value": form_id };
			formData[formData.length]={ "name": $(btn).attr('id')+'_x', "value": "1" };
		},
		success:function(responseText,statusText) {
			if(statusText=='success') {
				$(responseText['html']).replaceAll('#'+form_id);
				initTiny();
			}
		}
  });
	return false;
}
function modalClose() {
	if($('#modal_main').find('form').attr('id')=='discussion_post') window.open($(location).attr('href'),'_self');
	$('#modal_main').hide();
	$('#modal_main').remove();
	$('#modal_bcg').hide();
	$('#modal_bcg').remove();
}

// cart
function cartShow(url) {
	window.open(url,'_self');
}
function cartRefresh(sid) {
	$.ajax({
		url: "modelina2/urw/shop/cart.json.php",
		global: false,
		type: "GET",
		data: ({sid : sid}),
		dataType: "json",
		async: true,
		success: function(data) {
			$('#cart_total_price').html(data['total_price']+' '+data['currency']);
	  }
	});
}

// order

// combobox
function comboShow(item_obj) {
	if($('#combobox_list_'+item_obj).css('display')=='none') {
		$('.combobox_bcg').show();
		$('#combobox_list_'+item_obj).show();
	} else {
		$('.combobox_bcg').hide();
		$('#combobox_list_'+item_obj).hide();
	}
}

function comboSelect(item_obj,item_id) {
	var key=$('#combobox_list_'+item_obj+' ul:first li:eq('+item_id+') span:eq(0)').html();
	var value=$('#combobox_list_'+item_obj+' ul:first li:eq('+item_id+') span:eq(1)').html();
	$('#combobox_value_'+item_obj+' span:first').html(value);
	$('.combobox_bcg').hide();
	$('#combobox_list_'+item_obj).hide();
}

//jquery urw functions
(function($) {
	$.fn.urwMenuTree=function(settings) {
		$('li',this).hover(
			function() {
				var $$=$(this).children().find('div[class*=hitarea]:first');
				//if(!$(this).hasClass('active')) {
				if($$.hasClass('expandable')) {
					if($$.length>0) {
						$$.show();
					}
				}
			},
			function() {
				var $$=$(this).children().find('div[class*=hitarea]:first');
				//if(!$(this).hasClass('active')) {
				if($$.hasClass('expandable')) {
					if($$.length>0) {
						$$.hide();
					}
				}
			}
		);
	};
	$.fn.urwMenuTabs=function(settings) {
		var ulMain=$(this);
		$(this).find('#tabs\\[\\]:eq(0)').parents('li').find('div[class*=hitarea]:first').removeClass('expandable').addClass('collapsable');
		$(this).find('#tabs\\[\\]:eq(0)').parents('li').addClass('active');
		$(this).find('#tabs\\[\\]').click(function() {
			ulMain.children().find('div[class*=hitarea]').removeClass('collapsable').addClass('expandable');
			ulMain.find('>li').removeClass('active');
			var $$=$(this).parents('li').find('div[class*=hitarea]:first');
			if($$.length>0) {
				if($$.hasClass('expandable')) {
					$$.removeClass('expandable');
					$$.addClass('collapsable');
					$(this).parents('li').addClass('active');
				}
			}
			return false;
		});
	};
})(jQuery);