Cufon.replace('.cufon,.uc h3');

var resize_frame = function() {
	var cnt = jQuery('#frame').contents();

	if (cnt.length && cnt.find('body').height()) {
		jQuery('#frame').height(cnt.find('body').height() + 20);
	} else {
		setTimeout('resize_frame()', 100);
	}
};

var handle_boxarts = function() {
	jQuery('.box-art .more.small a').click(function(ev) {
		ev.preventDefault();
		
		jQuery('.box-art .big').hide();
		jQuery('.box-art .small').show();
		
		var me = jQuery(this).parents('.box-art');
		jQuery('.big', me).show();
		jQuery('.small', me).hide();
	});
}

var handle_expmenu = function() {
	var menu = jQuery('div#page-expert-menu');
	if (!menu.length)
		return;
	var box = jQuery('div#page-expert,div#page-expert-map').eq(0);

	var height = box.outerHeight();
	menu.css('height', (height - 1) + 'px');

    jQuery('select', menu).change(function(){
        var opt = jQuery('option:selected', this);
        var url = jQuery.trim(opt.val());
        if (url)
            document.location = url;
    });
}

var handle_forms = function() {
	jQuery('.page-account form a.submit, .cms-forum-factory form a.submit').click(function(ev){
		ev.preventDefault();
		if (jQuery('input[name=agree]:not(:checked)').length) {
			if (!confirm('Czy wyrażasz zgodę na publikację pytania i odpowiedzi na forum publicznym?'))
				return;
		}
		jQuery(this).parents('form').submit();
		return false;
	});
	jQuery('.page-account form a.clear, .cms-forum-factory form a.clear').click(function(ev){
		ev.preventDefault();
		jQuery(this).parents('form').find('input.text').val('');
		jQuery(this).parents('form').find('.textarea').val('');
		return false;
	});
}

var handle_facebook = function() {
	if (jQuery('#fb-root').length == 0)
		return;

	window.fbAsyncInit = function() {
		FB.init({appId: '124351664261310', status: true, cookie: true, xfbml: true});
	};

	var e = document.createElement('script'); e.async = true;
	e.src = document.location.protocol + '//connect.facebook.net/pl_PL/all.js';
	document.getElementById('fb-root').appendChild(e);

	jQuery('#fb-like-glowna').hover(function(){
		jQuery(this).animate({height: '300px'}, {queue:false, duration:500});
	}, function() {
		jQuery(this).animate({height: '31px'}, {queue:false, duration:500});
	});
};

var handle_regform = function() {
	var url = location.protocol + '//' + location.hostname + location.pathname;
	if (url.charAt(url.length - 1) != '/')
		url += '/';
	url += '../../../accounts/';

	jQuery.validator.addMethod("kod", function(value) {
		return /^\d{2}-\d{3}$/.test(value);
	}, "Podaj kod w formacie XX-XXX");

	jQuery.validator.addMethod("data_urodzenia", function(value) {
		return /^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[012])-(19[0-9]{2}|20(0[0-9]|10))$/.test(value);
	}, "Podaj datę w formacie DD-MM-YYYY");

	jQuery('.fm-register-full').validate({
		rules: {
			Account_new_id: { required: true, minlength: 5, remote: url + 'check_login' },
			Account_new_haslo: { required: true, minlength: 5 },
			Account_new_haslo_copy: { equalTo: 'input[name=Account_new_haslo]' },
			Account_new_email: { required: true, email: true, remote: url + 'check_email', minlength: 6 },
			Account_new_przetwarzanie: { required: true },
			imie: { required: true, minlength: 2 },
			nazwisko: {	required: true, minlength: 2 },
			ulica: { required: true, minlength: 3 },
			nr_domu: { required: true },
			kod_pocztowy: { required: true, kod: true },
			miasto: { required: true, minlength: 3 },
			data_urodzenia: { required: true, data_urodzenia: true },
			plec: { required: true },
			tel_kom: { minlength: 9, maxlength: 9, number: true },
			kierunkowy: { minlength: 2, maxlength: 2, number: true },
			typ_skory: { required: true },
			w_jaki_sposob_inne: { required: '#id_w_jaki_sposob_inne:checked' }
		},
		messages: {
			Account_new_id: { remote: 'Podany login jest już zajęty' },
			Account_new_email: { remote: 'Podany email jest już zajęty' }
		}
	});

	jQuery('.fm-register-simple').validate({
		rules: {
			Account_new_id: { required: true, minlength: 5, remote: url + 'check_login' },
			Account_new_haslo: { required: true, minlength: 5 },
			Account_new_haslo_copy: { equalTo: 'input[name=Account_new_haslo]' },
			Account_new_email: { required: true, email: true, remote: url + 'check_email' }
		},
		messages: {
			Account_new_id: { remote: 'Podany login jest już zajęty' },
			Account_new_email: { remote: 'Podany email jest już zajęty' }
		}
	});

	jQuery('input[name=czy_stosuje]').click(function() {
		jQuery('#czy_stosuje_lista').toggle(jQuery(this).val() == 'tak');
	});
}

var handle_flash = function() {
	jQuery('.flash').each(function() {
		var me = jQuery(this);
		var my_alt = me.find('div.alt');
		var alt = me.find('a[href="http://www.macromedia.com/go/getflashplayer"]').parent();
		if (alt.length && my_alt.length)
			alt.html(my_alt.html());
		my_alt.remove();
	});
}

var handle_fb = function() {
}

jQuery(function(){

	var car = jQuery('.prod-car ul');
	var idx = jQuery('li', car).index(jQuery('li.current', car));
	var start = idx == 0 ? 1 : idx;
	jQuery('.prod-car ul').jcarousel({start:start});


	jQuery('.linia-info').each(function(){
		var dif = jQuery('img', this).height() - jQuery('h3', this).height() - jQuery('.uc', this).height() - 4;
		try {
			jQuery('.uc', this).css('padding-top', dif + 'px').css('position', 'static');
		} catch(e) {
		}
	});

	jQuery('#frame').each(resize_frame);
	jQuery('#frame').load(resize_frame);

	jQuery('#foot .right').hover(function() {
		jQuery('#foot ul.lang').slideDown();
	}, function() {
		jQuery('#foot ul.lang').slideUp();
	});

	//handle_boxarts();
	handle_flash();
	handle_expmenu();
	handle_forms();
	handle_facebook();
	handle_regform();
	handle_fb();
});
