var W3media = {
	regBloggerSwitch: function(_obj){
		if($(_obj).attr('checked'))
		{
			$("#blog_form").show();
			$("#blog_name").removeAttr('class');
			$("#blog_subdomain").removeAttr('class');
		}
		else
		{
			$("#blog_form").hide();
			$("#blog_name").attr('class', 'ignore');
			$("#blog_subdomain").attr('class', 'ignore');
		}
	}
}



var Service = {

	login: function(_dest_url, _error_url) {
		if (_dest_url)
		{
			$('#login-burl').attr('value', _dest_url);
		}
		else
		{
			$('#login-burl').attr('value', window.location.href.replace(/#.*$/gi, ''));
		}
		if (_error_url)
		{
			$('#login-eurl').attr('value', _error_url);
		}
		else
		{
			$('#login-eurl').attr('value', window.location.href.replace(/#.*$/gi, ''));
		}

		$('#jqmLogin').jqm();
		$('#jqmLogin').jqmShow();
	},

	isLogin: function() {
		if ($.cookie('s_us_nick')&&$.cookie('s_us_id'))return true;
   		else return false;
	},


	loginBox: function() {
		if (Service.isLogin())
		{
			$(".linksLogin ").hide();
			$("#user-login").text(unescape($.cookie('s_us_nick')).replace(/\+/g,' '));
			$(".linksLogout").show();
			if ($.cookie('s_us_name'))
			{
					$(".myBlog").attr("href", "http://" + $.cookie('s_us_name') + "/");
			}
			else
			{
				$("#user-blog").hide();
			}
		}
	},

	loginMyZone: function(_dest_url) {
		if (Service.isLogin()) {
	  		return true;
	  	}
	  	else{
			Service.login(_dest_url);
			return false;
		}
	},
	
	togglePosts: function(_obj){
		css_class = $(_obj).attr('class');
		
		if (css_class == 'latest_order'){
			$(".latest_order").css("font-weight", "bold");
			$(".popular_order").css("font-weight", "normal");
			$(".popular_list").hide();
			$(".latest_list").show();
		}
		
		if (css_class == 'popular_order'){
			$('.latest_order').css('font-weight', 'normal');
			$('.popular_order').css('font-weight', 'bold');
			$(".popular_list").show();
			$(".latest_list").hide();
		}
	},


	toggleUsers: function(_obj){
		css_class = $(_obj).attr('class');
		
		if (css_class == 'posts_order'){
			$(".posts_order").css("font-weight", "bold");
			$(".comments_order").css("font-weight", "normal");
			$(".users_comments_list").hide();
			$(".users_post_list").show();
		}
		
		if (css_class == 'comments_order'){
			$('.posts_order').css('font-weight', 'normal');
			$('.comments_order').css('font-weight', 'bold');
			$(".users_comments_list").show();
			$(".users_post_list").hide();
		}
	},	

	AnchorAction: function (_config)
	{
		url = window.location.href;
		reg = new RegExp(/^.*#(.*)$/g);
		reg_dest = reg.exec(url);
		regInt = new RegExp(/^[0-9]/);

		if (reg_dest != null && !regInt.test(reg_dest[1]))
		{
			args = reg_dest[1].split("_");
			action = args[0].replace(/[^a-z0-9]/gi, '');
			param = (typeof args[1] == 'undefined') ? null : args[1].replace(/[^a-z0-9\-:,\[\]]/gi, '');

			if (action)
			{
				exec = "if (_config." + action + ") _config." + action + "(param)";
				eval(exec);
			}
		}
	}
}




// textarea limit
$.extend($.fn, {
	textarea_limit: function( options ) {
		if (!options.limit)
			options.limit = 255;
		if (!options.count_text)
			options.count_text = 'Pozostało znaków';
		this.wrap('<span></span>');
		this.after('<div class="count-desc">'+options.count_text+': <span class="count">'+options.limit+'</span></div>')
		this.attr('limit', options.limit)
		textarea_limit_calculate($(this));		
		this.keyup(function(){	textarea_limit_calculate($(this)); });

		function textarea_limit_calculate(_obj){
		 	if (_obj.val().length >= _obj.attr('limit')) {
		 		_obj.val(_obj.val().substring(0, options.limit));
		 	}
			_obj.parent().find(".count").text(_obj.attr('limit') - _obj.val().length);
		}
	}
});

jQuery.validator.addMethod("nick", function(value, element) {
	return this.optional(element) || /^[a-z0-9 ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-\.]+$/i.test(value);
}, ""); 

jQuery.validator.addMethod("subdomain", function(value, element) {
	return this.optional(element) || /^[a-z0-9\-\.]+$/i.test(value);
}, ""); 

