// In the case where our joms.jQuery
// is overriden by other jQuery.
if (typeof(dg)=='undefined')
{
	// We will recreate our joms namespace
	// with dg.jQuery pointing to their jQuery.
	dg = {
		jQuery: window.jQuery,
		extend: function(obj){
			this.jQuery.extend(this, obj);
		}
	}
}
dg.extend({
	signup: {
		promo_code: null,
		init:function(){
			$('form.signup fieldset.membership :radio').change(function(){
				if ($(this).val() == 'trial_3_days') {
					$("form.signup fieldset.payment-info").block({message:'Credit Card Not Required',overlayCSS:{backgroundColor:"#eee",opacity: 0.7,width:'758px'},css:{border:0,padding:'5px'}});				
				} else {
					$("form.signup fieldset.payment-info").unblock();
				}
				dg.signup.updateBoxDetails(
					$('#data-membership').data('membership')[$(this).val()].title,
					$('#data-membership').data('membership')[$(this).val()].price,
					dg.signup.promo_code	
				);
			});
			
			$('#UserPromoCode:text').bind("keyup blur",function(){
				if ($(this).val().length) {
					$('form.signup div.submit input[type=submit]').attr('disabled','disabled').addClass('button-disabled');
				} else {
					$('form.signup div.submit input[type=submit]').removeAttr('disabled').removeClass('button-disabled');
				}	 
			}).triggerHandler('keyup');
			
			$('#UserPaymentType').change(function(){
				switch($(this).val()) {
					case 'cc':
						$('form.signup div.paypal').hide();					
						$('form.signup div.cc, form.signup fieldset.billing').show();
						break;
					case 'paypal':
						$('form.signup div.cc, form.signup fieldset.billing').hide();					
						$('form.signup div.paypal').show();
						break;	
				}
			}).change();
			
			if ($('form.signup fieldset.membership :checked').val() == 'trial_3_days' || (!$('#membership-container #UserMembership').size() && !$('#membership-container :radio').size())) {
				$("form.signup fieldset.payment-info").block({message:'Credit Card Not Required',overlayCSS:{backgroundColor:"#eee",opacity: 0.7,width:'758px'},css:{border:0,padding:'5px'}});
			}
			
			if ($('form.signup fieldset.membership :checked').size()) {
				dg.signup.updateBoxDetails(
					$('#data-membership').data('membership')[$('form.signup fieldset.membership :checked').val()].title,
					$('#data-membership').data('membership')[$('form.signup fieldset.membership :checked').val()].price,
					dg.signup.promo_code	
				);				
			} else if ($('#UserMembership').size()) {
				dg.signup.updateBoxDetails(
					$('#data-membership').data('membership')[$('#UserMembership').val()].title,
					$('#data-membership').data('membership')[$('#UserMembership').val()].price,
					dg.signup.promo_code	
				);				
			}
			
			$('.promo-code-apply').click(function(){
				if ($(this).prev().val()) {
					$('#container').block({ message:null,overlayCSS:{backgroundColor:'#fff',opacity:'0.7'} }); 	
					$.getJSON('/signup-premium?'+$.param({pcode:$(this).prev().val()}),function(json){
						if (json.status) {
							$('#membership-container').html(json.html);
						} else {
							$('#membership-container .promo-code-result').html(json.html);
							$('#UserPromoCode').val('');
						}
						$('form.signup div.submit input[type=submit]').removeAttr('disabled').removeClass('button-disabled');					
						$('#container').unblock();
						if (!$('#membership-container #UserMembership').size()) {
							$("form.signup fieldset.payment-info").block({message:'Credit Card Not Required',overlayCSS:{backgroundColor:"#eee",opacity: 0.7,width:'758px'},css:{border:0,padding:'5px'}});
						}						
					});			
				}
			});		
		},
		updateBoxDetails:function(title,price,promo_code){
			$('#signup-details-floater .pay_terms .value').text(title);
			$('#signup-details-floater .total_charge .value').text('$' + price);
			if (promo_code) {
				$('#signup-details-floater .promo_code').show();
				$('#signup-details-floater .promo_code .value').text(promo_code);
			} else {
				$('#signup-details-floater .promo_code').hide();
			}
		}
	},
	blog:{
		like: function(id) {
			dg.jQuery.getJSON('/blog/like/'+id,function(json){
				if (json.status) {
					$('#post-like-dislike').html('You <a onclick="dg.blog.disableLike('+id+')" class="link-like" title="disable your Like" href="#">like</a> this post.');
				}
			});		
		},
		disableLike: function(id) {
			dg.jQuery.getJSON('/blog/disableLike/'+id,function(json){
				if (json.status) {
					$('#post-like-dislike').html('I <a onclick="return dg.blog.like('+id+')" class="link-like" href="#">like</a> / <a onclick="return dg.blog.dislike('+id+')" class="link-dislike" href="#">dislike</a> this post.');					
				}
			});			
		},
		dislike: function(id) {
			dg.jQuery.getJSON('/blog/dislike/'+id,function(json){
				if (json.status) {
					$('#post-like-dislike').html('You <a onclick="dg.blog.disableDislike('+id+')" class="link-dislike" title="disable your Dislike" href="#">dislike</a> this post.');
				}
			});
		},
		disableDislike: function(id) {
			dg.jQuery.getJSON('/blog/disableDislike/'+id,function(json){
				if (json.status) {
					$('#post-like-dislike').html('I <a onclick="return dg.blog.like('+id+')" class="link-like" href="#">like</a> / <a onclick="return dg.blog.dislike('+id+')" class="link-dislike" href="#">dislike</a> this post.');
				}
			});			
		}
	},
	updates: {
		limit: 7,	
		markAllRead: function() {
			$.getJSON('/dashboard/updates/markAllRead',function(json){
				if (json.status) {
					var ul = $('#top-menu .menu-h-d li.updates ul');
					$('#top-menu .menu-h-d li.updates ul li.update-item').remove();
					ul.prepend('<li>No Any Updates</li>');
				}
			});
		},
		more : function(){
			$('#activity-more .more-activity-text').hide();
			$('#activity-more .loading').show().css( 'float' , 'none' ).css( 'margin' , '5px 5px 0 180px');
			dg.updates.limit = $('#recent-updates .cFeed li.update-item').size()+5;
			$('#container').load('/users/updates/'+dg.updates.limit,function(){
				$('#activity-more .loading').hide();
				$('#activity-more .more-activity-text').show();
			});			
		}
	},
	utils:{
		redirect: function(s) {
			location.href = s; 
		}
	}
}); 
