var root = 'http://www.kalgul.eu/';
var admin_add_news = 'administrace/pridat-novinku/';
var width = Math.min($(window).width()-20,400);
var height = Math.min($(window).height()-20,150);

function getCheckedAccountTypes() {
	var a = '';
	$('input[name^="reg_acc_type"]:checked').each(function(){ a = a + $(this).val()+','; });
	if(a == '') {
		$('.reg_acc_status').html('<img src="'+window.root+'images/question-mark.png" title="Nemáte vybrán realm" alt="" width="16px" height="16px" />');
		$('input[name="submit_register"]').attr('disabled','disabled');
	}
	return a;
}

function isAccountAvailable($val) {
	$('input[name="submit_register"]').removeAttr('disabled');
	$('label[for="reg_acc_type[1]"]').css('color','#EFC9A0');
	$('label[for="reg_acc_type[2]"]').css('color','#EFC9A0');
	var a = getCheckedAccountTypes();
	
	if(a != '') {
		$.ajax({
			url: root+'ajax/loaders.php?t=22&a='+$('input[name="reg_account"]').val()+'&check='+a,
			dataType: 'json',
			type: 'get',
			success: function(d) {
				if(d.existc == '1') {
					$('label[for="reg_acc_type[1]"]').css('color','red');
					$('.reg_acc_status').html('<img src="'+root+'images/deny.png" title="Tento účet již existuje" alt="" width="16px" height="16px" />');
					$('input[name="submit_register"]').attr('disabled','disabled');
				} else {
					$('label[for="reg_acc_type[1]"]').css('color','#EFC9A0');
				}
				if(d.existw == '1') {
					$('label[for="reg_acc_type[2]"]').css('color','red');
					$('.reg_acc_status').html('<img src="'+root+'images/deny.png" title="Tento účet již existuje" alt="" width="16px" height="16px" />');
					$('input[name="submit_register"]').attr('disabled','disabled');
				} else {
					$('label[for="reg_acc_type[2]"]').css('color','#EFC9A0');
				}
				if(d.existw == '0' && d.existc == '0') { $('.reg_acc_status').html('<img src="'+root+'images/accept.gif" alt="" width="16px" height="16px" />'); }
				
				getCheckedAccountTypes();
			
			}
		});
	}
}

$(document).ready(function(){
	
	// $(".datepicker").datepicker({ dateFormat: 'dd. mm. yy' });
	$('.datepicker').live('click', function() {
        $(this).datepicker({showOn:'focus', dateFormat: 'd. m. yy'}).focus().css("z-index", "1003");
    });
	
	$('input[name^="reg_acc_type"]').click(function(){
		isAccountAvailable($('input[name="reg_account"]').val());
	});
	
	var timer;
	$('input[name="reg_account"]').keypress(function(){
		clearTimeout(timer);
		timer = setTimeout(function(){
			isAccountAvailable($('input[name="reg_account"]').val());
		},2000);
	});
	
	$('input[name="vip-active-sms-payment"]').live('click',function(){
		var id_payment = $(this).attr('rel');
		var payment_date = $('tr[rel="dialog-'+id_payment+'"]>td[rel]').attr('rel');
		$.ajax({
			url: root+'ajax/loaders.php?t=21&id_payment='+id_payment+'&date='+payment_date,
			dataType: 'html',
			type: 'get',
			success: function(){
				$('div#vip-admin-payments').dialog('destroy');
				$('div#vip-admin-payments').remove();	
			}
		});
	});
	
	$('input#form-vip-add-submit').live('click',function(e){
		e.preventDefault();
		var jmeno = $('input#form-vip-add-name').val();
		var prijmeni = $('input#form-vip-add-surname').val();
		var email = $('input#form-vip-add-email').val();
		if(jmeno!='' && prijmeni!='' && email!='') {
			$('tr#new-row-loader').html('<img src="'+root+'images/canvas-loader.gif" alt="" />');
			$.post(
				root+'ajax/loaders.php?t=18',
				{'name':jmeno, 'surname':prijmeni, 'email':email},
				function(d){
					if(d.result!='false') $('tr#new-row-loader').html(d.data);
				},
				'json'
			);
			$('div#vip-add-row').dialog('destroy');
        	$('div#vip-add-row').remove();
		} else { alert('chyba vyplnění dat'); }
	});
	
	$('input[name="submit-add-vip-row"]').click(function(e){
		e.preventDefault();
		var d = $('<div id="vip-add-row"><img src="'+root+'images/canvas-loader.gif" alt="" /></div>');
		$('body').append(d);
		d.dialog({
			title: 'VIP - přidání záznamu',
			autoOpen: true,
			width: 250,
			height: 250,
	        modal:true,
		});
		$.ajax({
			url: root+'ajax/loaders.php?t=17',
			type: 'get',
			dataType: 'html',
			success: function(e){
				$('div#vip-add-row').html(e);
			}
		});
	});
	
	$('input[name="vip-admin-add-acc-input"]').live('blur',function(){
		var id = $(this).attr('rel');
		var data = $(this).val();
		$.ajax({
			url: root+'ajax/loaders.php?t=16&id='+id+'&data='+data,
			type: 'get',
			dataType: 'json',
			success: function(d) {
				if(d.error != null) { alert('účet nenalezen'); }
				if(d.isGM != null) { alert('na účtě je aktivováno GM'); }
				if(d.isActive != null) { alert('tento účet je již přiřazen jinému uživateli'); }
				$('div#vip-accounts-'+id).html(d.ok);
			}
		});
	});
	
	$('option.vip-admin-add-acc-trigger').live('click',function(e){
		e.preventDefault();
		var id = $(this).val();
		$('div#vip-accounts-'+id).html('<input rel="'+id+'" type="text" name="vip-admin-add-acc-input" value="c;" style="width: 80px;"/>');
		$('input[name="vip-admin-add-acc-input"]').focus();
	});
	
	$('a.vip-admin-payments-trigger').live('click',function(e){
		e.preventDefault();
		var id_vips = $(this).attr('rel');
		var d = $('<div id="vip-admin-payments"><img src="'+root+'images/loader.gif" alt="" /></div>');
		$('body').append(d);
		d.dialog({
			title: 'všechny platby uživatele',
			autoOpen: true,
	        width: 382,  
	        modal:false,
	        autoResize: true,
	        position: [10,10],
		});
		$.ajax({
			url: root+'ajax/loaders.php?t=19&id_vips='+id_vips,
			type: 'get',
			dataType: 'html',
			success: function(e){
				$('div#vip-admin-payments').html(e);
			}
		});
	});
	
	$('input#submit-add-payment').live('click',function(e){
		e.preventDefault();
		var payments_date = $('input#vip-payment-date').val();
		var months = $('input#vip-payment-months').val();
		var type = $('select#select-add-payment').val();
		var id_vips = $(this).attr('rel');
		$.post(
			root+'ajax/loaders.php?t=20',
			{'payments_date':payments_date,'months':months,'type':type,'id_vips':id_vips},
			function(d){
				if(d=='1'){
					$('div#vip-admin-payments').dialog('destroy');
			    	$('div#vip-admin-payments').remove();
				} else { alert('chyba při ukládání'); }
			}
		);
	});
	
	$('input[name="submit-vip-admin-edit"]').live('click',function(e){
		e.preventDefault();
		var id = $(this).attr('rel');
		var arr = new Array();
		$('input[rel="'+id+'"]input.vip-admin-edit').each(function(i){
			arr[i] = $(this).val();			
		});
		$.post(
			root+'ajax/loaders.php?t=14',
			{'id': id, 'name': arr[0],'surname': arr[1],'email': arr[2],'change_date': arr[3]},
			function(d) {
				$('select[name="vip-accounts"]').each(function(){
					$(this).css('display','block');
				});
				if(d.result) {
					$.ajax({
						url: root+'ajax/loaders.php?t=15&id='+id,
						type: 'get',
						dataType: 'json',
						success: function(d) {
							$('tr[rel='+id+']').html(d);
						}
					});
				} else {
					$('td.name-'+id).html($('input[rel="'+id+'"]input[name="name"]').val());
					$('td.surname-'+id).html($('input[rel="'+id+'"]input[name="surname"]').val());
					$('td.change_date-'+id).html($('input[rel="'+id+'"]input[name="change_date"]').val());
					$('td.email-'+id).html($('input[rel="'+id+'"]input[name="email"]').val());
					$('td#action-'+id).html('');
				}
				$('tr[rel="'+id+'"]tr.vip-admin-edit-trigger').removeClass('edit-stop');
			},
			'json'
		);
	});
	
	$('tr.vip-admin-edit-trigger:not(tr.edit-stop)').live('dblclick',function(){
		var id = $(this).attr('rel');
		$(this).addClass('edit-stop');
		var name = $('td.name-'+id).html();
		var surname = $('td.surname-'+id).html();
		var email = $('td.email-'+id).html();
		var change = $('td.change_date-'+id).html();
		change = change.replace('<span style="color:red;">','');
		change = change.replace('<span style="color:green;">','');
		change = change.replace('</span>','');
		(change=='-- není --'?change = '':''); 
		var i1 = $('<input />');
		var i2 = $('<input />');
		var i3 = $('<input />');
		var i4 = $('<input />');
		i1.attr('class','vip-admin-edit').attr('rel',id).attr('type','text').attr('name','name').attr('value',name);
		i2.attr('class','vip-admin-edit').attr('rel',id).attr('type','text').attr('name','surname').attr('value',surname);
		i3.attr('class','vip-admin-edit').attr('rel',id).attr('type','text').attr('name','email').attr('value',email);
		i4.attr('class','vip-admin-edit').attr('rel',id).attr('type','text').attr('name','change_date').attr('value',change).addClass('datepicker');
		$('td.name-'+id).html(i1);
		$('td.surname-'+id).html(i2);
		$('td.email-'+id).html(i3);
		$('td.change_date-'+id).html(i4);		
		$('td#action-'+id).html('<input type="submit" name="submit-vip-admin-edit" rel="'+id+'" value="ulož" />');
		$('select[name="vip-accounts"]').each(function(){
			$(this).css('display','none');
		});
	});
	
	// vip zadost o zmenu
	$('input[name="submit-vip-change"]').click(function(e){
		e.preventDefault();
		$('input#char').css('background','');
		if($('input#char').val()=='') {
			$('input#char').css('background','red');
		} else {
			$("div#vip-zmena-process").html('<img src="'+root+'images/canvas-loader.gif" alt="" />');	
			$.post(
				root+'ajax/loaders.php?t=13',
				{ char: $('input#char"').val(),
				  sex: $('select#sex"').val(), 
				  race: $('select#race"').val(),
				  clas: $('select#class"').val(), 
				  items: $('textarea#items').val() },
				function(d) {
					$("div#vip-zmena-process").html(d.result);
					$('input[name="submit-vip-change"]').attr('disabled',true);
				},
				'json'
			);
		}
	});
	
	// vip zadost
	$('select[name="platbaforma"]').change(function(){
		if($('select[name="platbaforma"]').val()=='posta'||$('select[name="platbaforma"]').val()=='sms') {
			$('select[name="platbatyp"]').attr("disabled",true);
		} else {
			$('select[name="platbatyp"]').attr("disabled",false);
		}
	});
	$('input[name="zazadatovip"]').click(function(e){
		e.preventDefault();
		// kontrola udaju
		$('input').css('background','');
		var error = 0;
		$("input:text").each(function(){
			if($(this).val()=='' && !($(this).attr('name','login-name'))) { $(this).css('background','red'); error = 1; }
		});
		if($("input#email").val()=='@') { $("input#email").css('background','red'); error = 1; }
		if(error == 0) {
			$("div#vip-zadost-process").html('<img src="'+root+'images/canvas-loader.gif" alt="" />');		
			$.post(
				root+'ajax/loaders.php?t=12',
				{ accg: $('input#accg').val(), 
					acct: $('select[name="accounttype"]').val(),
					accf: $('input#accf').val(), 
					nam: $('input#nam').val(),
					prijmeni: $('input[name="prijmeni"]').val(), 
					months: $('input#months').val(), 
					forma: $('select#forma').val(), 
					typ: $('select#typ').val(), 
					datum: $('input#datum').val(),
					credity: $('input#credity').val() },
				function(d) {
					$("div#vip-zadost-process").html(d.result);
					$('input[name="zazadatovip"]').attr('disabled',true);
				}, "json"
			);
		}
	});

	// alert(jQuery.browser.language);
	
	$(".tablesorter").tablesorter({
		 textExtraction:function(s){
	            if($(s).find('img').length == 0) return $(s).text();
	            return $(s).find('img').attr('alt');
	      }
	});
	
	// tinyMCE
	$(function() {
        $('textarea.text-input').tinymce({
        	
                script_url : root+'js/tiny_mce/tiny_mce.js',

                theme : "advanced",
                plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

                theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",
                theme_advanced_buttons2 : "bullist,numlist,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
                theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,media",
                theme_advanced_toolbar_location : "top",
                theme_advanced_toolbar_align : "left",
                theme_advanced_statusbar_location : "bottom",
                theme_advanced_resizing : false,
        });
	});	
	
	$("div.news-edit-trigger").dblclick(function(){
		var id = $(this).attr('rel');
		url = root+admin_add_news+'&edit='+id;
		$(location).attr('href',url);
	});
	
	$("a.ban-check").click(function(){
		var acc = prompt("zadejte název účtu");
		if(acc) {
			var width = Math.min($(window).width()-20,400);
			var height = Math.min($(window).height()-20,150);
			var d = $('<div id="ban-check"><img src="'+root+'images/loader.gif" alt="" /></div>');
			$('body').append(d);
			d.dialog({
				title: 'kontrola platnosti banu',
				autoOpen: true,
		        width: width,
		        height: height,    
		        modal:false,
		        //position: [10,10],
			});
			$.ajax({
				url: root+'ajax/loaders.php?t=9&a='+acc,
				type: 'get',
				dataType: 'json',
				success: function(d) {
					if(d == '') {
						$('div#ban-check').html("Na tento účet nebyl uvalen doposud žádný ban.");
					} else {
						$('div#ban-check').html('zabanován: '+d['bandate']+'<br />konec banu: '+d['unbandate']+'<br />autor: '+d['bannedby']+'<br />důvod: '+d['banreason']+'<br />aktivní: '+d['active']);
					}
				}
			});	
		}
		return false;
	});
	
	$('input[name="password-recovery"]').click(function(){
		$("p#password-recovery").html('<img src="'+root+'images/canvas-loader.gif" alt="" />');
		$.ajax({
        	url: root+'ajax/loaders.php?t=10&acc='+$('input[name="password-recovery-account"]').val(),
        	type: 'get',
        	dataType: 'json',
        	success: function(d) {
        		if(d.ok) {
        			$("p#password-recovery").html(d.ok);	
        			$('input[name="password-recovery"]').attr('disabled',true);
        		} else {
        			$("p#password-recovery").html(d.error);	
        		}
        	}
        });
		return false;
	});
	
	$('input[name="password-change"]').click(function(){
		var opass = $('input[name="password-old"]').val();
		var pass = $('input[name="password-new"]').val();
		var passVerify = $('input[name="password-new-v"]').val();
		if(pass=='' || opass=='' || passVerify=='') { alert('nevyplněny všechny pole formuláře'); return false; }
		if(pass!=passVerify) { alert('hesla se neshodují'); return false; }
		if(pass.length<5) { alert('heslo je příliš krátké'); return false; }
		$("p#password-change").html('<img src="'+root+'images/canvas-loader.gif" alt="" />');
		$.ajax({
        	url: root+'ajax/loaders.php?t=11&p='+pass+'&o='+opass,
        	type: 'get',
        	dataType: 'json',
        	success: function(d) {
        		if(d.ok) {
        			$("p#password-change").html(d.ok);	
        			$('input[name="password-change"]').attr('disabled',true);
        		} else {
        			$("p#password-change").html(d.error);	
        		}
        	}
        });
		return false;
	});
	
	// welcome switch
	var welcome = 1;
	function switch_welcome(){
	    if (welcome == 1) {
	        $("div#welcome-switch-1").hide();
	        $("div#welcome-switch-2").fadeIn("slow");
	        welcome = 2;
	    } else {
	        $("div#welcome-switch-2").hide();
	        $("div#welcome-switch-1").fadeIn("slow");
	        /*$.ajax({
	        	url: 'ajax/loaders.php?t=8',
	        	type: 'get',
	        	dataType: 'json',
	        	success: function(d) {
	        		$("div#welcome-switch-2").html(d.data);
	        	}
	        }); */
	        welcome = 1;
	    }
	}
	setInterval(switch_welcome, 5000);
	
	
	function refreshAdminQuick() {
        $.ajax({
	    	url: root+'ajax/loaders.php?t=23',
	    	type: 'get',
	    	dataType: 'json',
	    	success: function(d) {
	    		$("div#admin-quick-info").html(d.data);
	    	}
        });
	}
	
	$("div#admin-quick-info").each(function(){
		// setInterval(refreshAdminQuick,10000);
	});
	
	// admin feature - waiting and new
	$("a#admin-news-trigger").hover(function(){  
		var width = Math.min($(window).width()-20,400);
		var height = Math.min($(window).height()-20,150);
		var d = $('<div id="admin-info-panel"><img src="'+root+'images/loader.gif" alt="" /></div>');
		$('body').append(d);
		d.dialog({
			title: 'admin quick-info panel',
			autoOpen: true,
	        width: width,
	        height: height,    
	        modal:false,
	        position: [10,10],
		});
		$.ajax({
			url: root+'ajax/loaders.php?t=7',
			type: 'get',
			dataType: 'json',
			success: function(d) {
				$('div#admin-info-panel').html(d.data);
			}
		});
	}, function() {
		$('div#admin-info-panel').dialog('destroy');
        $('div#admin-info-panel').remove();
	});
	
	
	// jazyky a login
	$("a#lang-trigger").click(function(){ $("div#global-info-login").slideUp('slow'); $("div#global-info-lang").slideDown('slow'); return false; });
	$("a#login-trigger").click(function(){ $("div#global-info-lang").slideUp('slow'); $("div#global-info-login").slideDown('slow'); return false; });
	$(".lang-flag").click(function(){ $("div#global-info-lang").slideDown('slow'); });
	
	$("img.lang-flag").stop().fadeTo(0,0.4);
	$("img.lang-flag").hover(function(){
		
		$(this).stop().fadeTo(200,1);
		
	}, function(){
		$(this).stop().fadeTo(200,0.4);
	});
	
	if(navigator.appName=='Microsoft Internet Explorer') {
		$("div.menu-item").hover(function() {
			$(this).toggleClass('menu-item-bg',0);
			$(this).toggleClass('menu-item-hbg',1)
		});
	}

});

function checkNewsletter() {
	$("div#add-newsletter-div").html('<img src="images/canvas-loader.gif" alt="" />');
	var c = $("input#add-newsletter-cata").is(':checked'); 
	var w = $("input#add-newsletter-wrath").is(':checked'); 
	var o = $("input#add-newsletter-wow").is(':checked'); 
	$.ajax({
		url: root+'ajax/loaders.php?t=6&c='+c+'&w='+w+'&o='+o,
		type: 'get',
		success: function(data) {
			$("div#add-newsletter-div").html(data);
		}
	})
}

function getPohlavi(g) {
	switch(g) {
	case '0': g = 'muž'; break;
	case '1': g = 'žena'; break;
	default: g = 'undefined'; break;
	}
	return g;
}

/**
 * @param c cataclysm account
 * @param w wrath account
 * @param e email
 */
function showInfoTransferDialog(ca,w,e,r,c,l,g){
	var d = $('<div>cataclysm account: '+ca+'<br />wotlk account: '+w+'<br />email: '+e+'<br /><br />race: '+r+'<br />class: '+c+'<br />level: '+l+'<br />pohlaví: '+getPohlavi(g)+'<br /></div>');
	var width = Math.min($(window).width()-20,300);
	var height = Math.min($(window).height()-20,200);
	$('body').append(d);
	d.dialog({
		autoOpen: true,
        width: width,
        height: height,    
        modal:true,
        close: function(ev, ui) { 
            $(this).dialog('destroy');
            $(this).remove();
        }
	});
}

function registerCheck() {
	var account, password, passwordAgain, email, rules;
	
	account = $("#reg_account").val();
	password = $("#reg_password").val();
	passwordAgain = $("#reg_password_again").val();
	email = $("#reg_email").val();
	rules = $("#reg_rules_agree").is(':checked');

	if(account == '' || account.length < 5 ) { alert("příliš krátké nebo špatně vyplněné jméno"); return false; }
	if(password.length < 5 || passwordAgain < 5) { alert("příliš krátké nebo špatně vyplněné heslo"); return false; }
	if(password != passwordAgain) { alert("hesla se neshodují"); return false; }
	if(email.indexOf("@") < 0 || email.length < 10) { alert("špatně zadaný email"); return false; }
	if(!rules) { alert("musíte potvrdit pravidla hry"); return false; }
	
}

function transferFirstCheck() {
	var account, password;
	account = $("#transf_wtc_account").val();
	password = $("#transf_wtc_password").val();
	if(account == '') { alert("nevyplněno jméno účtu"); return false; }
	if(password == '') { alert("nevyplněno heslo"); return false; }
	
	$("#transf_wtc_characters").html('<img src="'+root+'images/canvas-loader.gif" alt="" />');
	
	$.ajax({
		url: root+'ajax/loaders.php?t=1&username='+account+'&password='+password,
		success: function(data) {
			$("#transf_wtc_characters").html(data);
		}
	});
	
	return false;
}

function transferSecoundCheck() {
	var account;
	account = $("#transf_wtc_account_cata").val();
	if(account == '') { alert("nevyplněn cataclysm účet"); return false; } else {
		return isCataAccount(account);
	}
}

function isCataAccount(account) {
	var result = false;
	$.ajax({
		url: root+'ajax/loaders.php?t=5&ac='+account,
		dataType: 'json',
		success: function(data) {
			if(data['result']) {
				result = true;
			} else {
				var width = Math.min($(window).width()-20,300);
				var height = Math.min($(window).height()-20,200);
				var d = $('<div>účet '+account+' na cataclysm nebyl nalezen</div>');
				$('body').append(d);
				d.dialog({
					title: 'error',
					autoOpen: true,
			        width: width,
			        height: height,    
			        modal:true,
			        close: function() { 
			            $(this).dialog('destroy');
			            $(this).remove();
			        }
				});
				result = false;
			}
		}
	});
	
}

function transferAdminTrigger(name,id) {
	if(confirm('spustit převod?')){
		var cataname = $("input#"+id).val();
		if(!cataname) {
			alert('chyba, nevyplnit jsi jméno Cata postavy!');
		} else {
			$("td#"+name).html('<img src='+root+'"images/canvas-loader.gif" alt="" />');
			$.ajax({
				url: root+'ajax/loaders.php?t=2&id='+id+'&cc='+cataname+'&wc='+name,
				success: function() {
					$("td#"+name).html('<span style="color: green;">ok</span>');
				}
			});
		}
	}
}

function transferSendToAccount(id) {
	var cata = $("input#"+id).val();
	var width = Math.min($(window).width()-20,300);
	var height = Math.min($(window).height()-20,200);
	$.ajax({
		url: root+'ajax/loaders.php?t=4&id='+id+'&cata='+cata,
		dataType: 'json',
		success: function(data) {
			var d = $('<div>'+data['dialog']+'</div>');
			$('body').append(d);
			d.dialog({
				autoOpen: true,
		        width: width,
		        height: height,    
		        modal:true,
		        close: function() { 
		            $(this).dialog('destroy');
		            $(this).remove();
		        }
			});
		}
	});
}
