$(document).ready(function() {

	
	// Lazy Loading
	$('#tdSettingCodeBox').load('/ajax/getsettings/');
	$('#tblNoteTblBody').load('/ajax/getnotifys/');
	$('#tblComList').ready(function() {
		if($('#hidProdID').length == 0) return;
		$('#tblComList').load('/ajax/getcoms/'+$('#hidProdID').val());
	});

	
	
	$('#tdMyStuff').live('click', function(eve){
		eve.preventDefault();
		
		$sLast = "#tdMyStuff";
		if($('#tdMyStuff').hasClass("current")) return;
		else if($('#tdAllStuff').hasClass("current")) $sLast = "#tdAllStuff";
		else if($('#tdFriendStuff').hasClass("current")) $sLast = "#tdFriendStuff";
		$($sLast).toggleClass("current", false);
		$('#tdMyStuff').toggleClass("current", true);
		$('#tdExtraTab').toggleClass("hide", true);
		
		$('#txtMainSearch').val('Search for Stuff');
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#tblMainStuffArea').toggleClass("hide", true);
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#hidLastUserPage').val('0');
		$('#hidLastSearch').val('');
		
		$.get('/ajax/mystuff/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				//$('#hidProdPage').val('1');
				
				// set new tags
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').empty().append(html);
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
				else $('#btnMoreStuff').toggleClass('hide', true);
			}
			else
			{
				$('#tdMyStuff').toggleClass("current", false);
				$($sLast).toggleClass("current", false);
			}
			$('#tblMainStuffArea').toggleClass("hide", false);
		});
	});
	
	$('#tdAllStuff').live('click', function(eve){
		eve.preventDefault();
		
		$sLast = "#tdAllStuff";
		if($('#tdAllStuff').hasClass("current")) return;
		else if($('#tdMyStuff').hasClass("current")) $sLast = "#tdMyStuff";
		else if($('#tdFriendStuff').hasClass("current")) $sLast = "#tdFriendStuff";
		$($sLast).toggleClass("current", false);
		$('#tdAllStuff').toggleClass("current", true);
		$('#tdExtraTab').toggleClass("hide", true);
		
		$('#txtMainSearch').val('Search for Stuff');
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#tblMainStuffArea').toggleClass("hide", true);
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#hidLastUserPage').val('0');
		$('#hidLastSearch').val('');
		
		$.get('/ajax/allstuff/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				//$('#hidProdPage').val('1');
				
				// set new tags
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').empty().append(html);
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
				else $('#btnMoreStuff').toggleClass('hide', true);
			}
			else
			{
				$('#tdAllStuff').toggleClass("current", false);
				$($sLast).toggleClass("current", false);
			}
			$('#tblMainStuffArea').toggleClass("hide", false);
		});
	});
	
	$('#tdFriendStuff').live('click', function(eve){
		eve.preventDefault();
		
		$sLast = "#tdFriendStuff";
		if($('#tdFriendStuff').hasClass("current")) return;
		else if($('#tdAllStuff').hasClass("current")) $sLast = "#tdAllStuff";
		else if($('#tdMyStuff').hasClass("current")) $sLast = "#tdMyStuff";
		$($sLast).toggleClass("current", false);
		$('#tdFriendStuff').toggleClass("current", true);
		$('#tdExtraTab').toggleClass("hide", true);
		
		$('#txtMainSearch').val('Search for Stuff');
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#tblMainStuffArea').toggleClass("hide", true);
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#hidLastUserPage').val('0');
		$('#hidLastSearch').val('');
		
		$.get('/ajax/friendstuff/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0) 
			{
				// set new tags
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').empty().append(html);
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
				else $('#btnMoreStuff').toggleClass('hide', true);
			}
			else
			{
				$('#tdFriendStuff').toggleClass("current", false);
				$($sLast).toggleClass("current", false);
			}
			$('#tblMainStuffArea').toggleClass("hide", false);
		});
	});
	
	$('td[id |= tdProdPageRating]').live('click', function(eve){
		eve.preventDefault();
		
		var iRating = $(this).attr('name');
		if(iRating < 1 || iRating > 5) return;
		var iProd = $('#hidProdID').val();
		if(iProd < 1) return;
		var iDUser = 0;
		if($('#tblRateAs').length) iDUser = $('#selRateAs').val();
		
		$('#tblRatingBox').toggleClass("hide", true);
		$('#tblLoadingImg').toggleClass("hide", false);
		if($('#tblRateAs').length) $('#tblRateAs').toggleClass("hide", true);
		$.get('/ajax/prodrating/'+iProd+'/'+iRating+'/'+iDUser+'/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0) $('#tblRatingBox').empty().append(html);
			$('#tblRatingBox').fadeIn('slow');
			
		});
		$.post('/ajax/sendratingnotes/'+iProd+'/', { 'rating' : iRating, 'duid' : iDUser }, function(html){});
	});
	
	$('td[id |= tdHomePageRating]').live('click', function(eve){
		eve.preventDefault();
		
		var iRating = $(this).attr('name');
		if(iRating < 1 || iRating > 5) return;
		var tempID = $(this).attr('id').substr(17);
		var iProd = tempID.substr(0, tempID.indexOf("-"));
		if(iProd < 1 || iProd.toString().search(/^[0-9]+$/)) return;
		
		$('#tblRatingBox-'+iProd).toggleClass("hide", true);
		$('#tblLoadingImg-'+iProd).toggleClass("hide", false);
		$.get('/ajax/homerating/'+iProd+'/'+iRating+'/', function(html)
		{
			$('#tblLoadingImg-'+iProd).toggleClass("hide", true);
			if(html.length > 0) $('#tblRatingBox-'+iProd).empty().append(html);
			$('#tblRatingBox-'+iProd).fadeIn('slow');
			
		});
		$.post('/ajax/sendratingnotes/'+iProd+'/', { 'rating' : iRating }, function(html){});
	});
	
	$('#btnAddComment').live('click', function(eve){
		eve.preventDefault();
		
		var sCom = $('#taCommentTxt').val();
		if(sCom.replace(/^\s*/, "").replace(/\s*$/, "").length < 1 || sCom == "Add Comment") return;
		var iProd = $('#hidProdID').val();
		if(iProd < 1) return;
		var iDUser = 0;
		if($('#selLeaveAs').length) iDUser = $('#selLeaveAs').val();
		
		$('#btnAddComment').toggleClass('hide', true);
		$('#imgLoadNewCom').toggleClass('hide', false);
		$.post('/ajax/prodcomment/'+iProd+'/', { 'comMsg' : sCom, 'duid' : iDUser }, function(html)
		{
			if(html.length < 1) return;
			
			$('#taCommentTxt').val('Add Comment');
			$('#tblComList').append(html);
			$('#tblComList tr:last-child').slideDown('slow');
			$('#imgLoadNewCom').toggleClass('hide', true);
			$('#btnAddComment').toggleClass('hide', false);
		});
		$.post('/ajax/sendcomnotes/'+iProd+'/', { 'comMsg' : sCom, 'duid' : iDUser }, function(html){});
		
	});
	
	$('#btnSendSearch').live('click', function(eve){
		eve.preventDefault();
		
		var sVal = $('#txtMainSearch').val(); 
		if(sVal.replace(/^\s*/, "").replace(/\s*$/, "").length < 1 || sVal == "Search for Stuff") return;
		
		$sLast = "#tdFriendStuff";
		if($('#tdAllStuff').hasClass("current")) $sLast = "#tdAllStuff";
		else if($('#tdMyStuff').hasClass("current")) $sLast = "#tdMyStuff";
		$($sLast).toggleClass("current", false);
		$('#tdExtraTab').html("Results");
		$('#tdExtraTab').toggleClass("hide", false);
		
		$('#txtMainSearch').blur();
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#btnSendSearch').toggleClass('hide', true);
		$('#imgLoadNewSearch').toggleClass('hide', false);
		$('#hidLastSearch').val(sVal);
		
		$.post('/ajax/prodsearch/', { 'searchVal' : sVal }, function(html)
		{
			if(html.length > 0)
			{
				$('#hidProdPage').val('1'); 
				
				// set new tags
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').empty().append(html);
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
				else $('#btnMoreStuff').toggleClass('hide', true);
			}
			$('#imgLoadNewSearch').toggleClass('hide', true);
			$('#btnSendSearch').toggleClass('hide', false);
		});
	});
	
	
	$('#btnMoreStuff').live('click', function(eve){
		eve.preventDefault();
		
		var sVal = '';
		
		if($('#hidLastSearch').length > 0 && $('#hidLastSearch').val().length > 0) sVal = $('#hidLastSearch').val();
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#tblMoreLoadingImg').toggleClass("hide", false);
		
		var sFunc = 'moresearchres';
		var sPassedID = $('#hidLastUserPage').val();
		
		if($('#tdMyStuff').length == 0) sFunc = 'morelandingstuff';
		else
		{
			if($('#tdMyStuff').hasClass("current")) sFunc = 'moremystuff';
			else if($('#tdAllStuff').hasClass("current")) sFunc = 'moreallstuff';
			else if($('#tdFriendStuff').hasClass("current")) sFunc = 'morefriendstuff';
			else if($('#tdExtraTab').hasClass("current") && sPassedID != '0') sFunc = 'moreuserstuff';
		}
		
		$.post('/ajax/'+sFunc+'/', { 'ids' : $('#hidProdTags').val(), 'searchVal' : sVal, 'userID' : sPassedID}, function(html)
		{
			$('#tblMoreLoadingImg').toggleClass('hide', true);
			if(html.length > 0)
			{
				//var iCurPage = $('#hidProdPage').val();
				//$('#hidProdPage').val((+iCurPage) + 1);
				
				var sTags = $('#hidProdTags').val();
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').append(html);
				
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
			}
		});
	});
	
	// Open & Close Dropdowns on Top
	$('#btnOpenNotify').live('click', function(eve){
		eve.preventDefault();
		
		// Close the other box
		$('#divSettBox').toggleClass('hide', true);
		$('#btnCloseSettings').toggleClass('hide', true);
		$('#btnOpenSettings').toggleClass('hide', false);
		
		// Open this box
		$('#btnOpenNotify').toggleClass('hide', true);
		$('#btnCloseNotify').toggleClass('hide', false);
		$('#spNoteCnt').css('top', '-47px');
		$('#divNoteBox').toggleClass('hide', false);
		
		if($('#spNoteCntVal').html() == '0') return;
		$.get('/ajax/clearNotifys/', function(html)
		{
			$('#spNoteCnt').css('display', 'none');
			$('#spNoteCntVal').empty().append('0');
		});
	});
	
	$('#btnCloseNotify').live('click', function(eve){
		eve.preventDefault();
		
		$('#divNoteBox').toggleClass('hide', true);
		$('#btnCloseNotify').toggleClass('hide', true);
		$('#btnOpenNotify').toggleClass('hide', false);
		$('#spNoteCnt').css('top', '-44px');
		
	});
	
	$('#btnOpenSettings').live('click', function(eve){
		eve.preventDefault();
		
		// Close the other box
		$('#divNoteBox').toggleClass('hide', true);
		$('#btnCloseNotify').toggleClass('hide', true);
		$('#btnOpenNotify').toggleClass('hide', false);
		$('#spNoteCnt').css('top', '-44px');
		
		// Open this box
		$('#btnOpenSettings').toggleClass('hide', true);
		$('#btnCloseSettings').toggleClass('hide', false);
		$('#divSettBox').toggleClass('hide', false);
	});
	
	$('#btnCloseSettings').live('click', function(eve){
		eve.preventDefault();
		
		$('#divSettBox').toggleClass('hide', true);
		$('#btnCloseSettings').toggleClass('hide', true);
		$('#btnOpenSettings').toggleClass('hide', false);
	});
	
	// Settings Checkbox Functionality
	$('img[name |= imgSettingChkBox]').mouseover(function(eve){
		eve.preventDefault();
		
		var sType = $(this).attr('name').substr(17);
		var bChecked = $('#hidChkBox'+sType).val();
		
		if(bChecked == '1') $(this).css('background-position', '-16px -16px');
		else $(this).css('background-position', '-16px 0px');
	});
	
	$('img[name |= imgSettingChkBox]').mouseout(function(eve){
		eve.preventDefault();
		
		var sType = $(this).attr('name').substr(17);
		var bChecked = $('#hidChkBox'+sType).val();
		
		if(bChecked == '1') $(this).css('background-position', '0px -16px');
		else $(this).css('background-position', '0px 0px');
	});
	
	$('img[name |= imgSettingChkBox]').live('click', function(eve){
		eve.preventDefault();
		
		var sType = $(this).attr('name').substr(17);
		var bChecked = $('#hidChkBox'+sType).val();
		var sOldName = $(this).attr('name');
		var oOld = $(this);
		$(this).attr('name', 'noteloading');
		
		if(bChecked == '1')
		{
			$('#hidChkBox'+sType).val('0');
			$(this).css('background-position', '-16px 0px');
			$.post('/ajax/noteOff/', { 'key' : sType }, function(html)
			{
				oOld.attr('name', sOldName);
				oOld.css('background-position', '0px 0px');
			});
		}
		else 
		{
			$('#hidChkBox'+sType).val('1');
			$(this).css('background-position', '-16px -16px');
			$.post('/ajax/noteOn/', { 'key' : sType }, function(html)
			{
				oOld.attr('name', sOldName);
				oOld.css('background-position', '0px -16px');
			});
		}
	});
	
	
	$('a[name |= aUserFeedLink]').live('click', function(eve){
		eve.preventDefault();
		
		var sName = $(this).attr('name').substr(14);
		var iMid = sName.indexOf("-");
		var iUserID = sName.substr(0, iMid);
		var sFName = sName.substr((+iMid)+1);
		
		$sLast = "#tdMyStuff";
		if($('#tdAllStuff').hasClass("current")) $sLast = "#tdAllStuff";
		else if($('#tdFriendStuff').hasClass("current")) $sLast = "#tdFriendStuff";
		$($sLast).toggleClass("current", false);
		
		$('#tdExtraTab').html(sFName+"'s Stuff");
		$('#tdExtraTab').toggleClass("hide", false);
		
		$('#txtMainSearch').val('Search for Stuff');
		$('#btnMoreStuff').toggleClass("hide", true);
		$('#tblMainStuffArea').toggleClass("hide", true);
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#hidLastUserPage').val(iUserID);
		
		$.get('/ajax/userstuff/'+iUserID+'/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				// set new tags
				var iMark = html.indexOf('---');
				$('#hidProdTags').val(html.substr(0, iMark));
				html = html.substr((+iMark)+3);
				
				$('#tblMainStuffArea').empty().append(html);
				if((html.split("<table class='prodStuff'>").length-1) > 8) $('#btnMoreStuff').toggleClass('hide', false);
				else $('#btnMoreStuff').toggleClass('hide', true);
			}
			else
			{
				// Change this later: User has no products
				$('#tdMyStuff').toggleClass("current", false);
				$($sLast).toggleClass("current", false);
			}
			$('#tblMainStuffArea').toggleClass("hide", false);
		});
		
	});
	
	$("a#aSetEmail").fancybox({
		onStart : function() 
			{
				$('#txtNewEmail').val('');
				$('#trChEmailSucc').toggleClass("hide", true);
				$('#trChEmailBtn').toggleClass("hide", false);
			}, 
		'titleShow'	: false
	});
	
	$('#aUpdateEmail').live('click', function(eve){
		eve.preventDefault();
		
		$('#tdChEmailErr').html('');
		var sEmail = jQuery.trim($('#txtNewEmail').val());
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(sEmail.length < 3 || reg.test(sEmail) == false) 
		{
			$('#tdChEmailErr').html('Not a valid email address');
			return;
		}
		
		$('#trChEmailBtn').toggleClass("hide", true);
		$('#trChEmailLoading').toggleClass("hide", false);
		$.post('/ajax/newemail/', { 'email' : sEmail }, function(html)
		{
			$('#trChEmailLoading').toggleClass("hide", true);
			if(html.length > 0)
			{
				if($('#spSettingEmail').length > 0) $('#spSettingEmail').html(html);
				$('#trChEmailSucc').toggleClass("hide", false);
			}
		});
	});
	
	$("a#aAddStuff").fancybox({
		onStart : function() 
			{
				
			}, 
		'titleShow'	: false
	});
	
	$("a#aAddStuffT").fancybox({
		onStart : function() 
			{
				
			}, 
		'titleShow'	: false
	});
	
	/*
	********************************************************************
	Admin Stuff
	********************************************************************
	*/
	
	$('#tdAdminMinions').live('click', function(eve){
		eve.preventDefault();
		
		$sLast = '#tdAdminMinions';
		if($('#tdAdminMinions').hasClass("current")) return;
		else if($('#tdAdminUsers').hasClass("current")) $sLast = '#tdAdminUsers';
		$($sLast).toggleClass("current", false);
		$('#tdAdminMinions').toggleClass("current", true);
		
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#tdMainOuterAdmin').toggleClass("hide", true);
		
		$.get('/adminajax/minionsec/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				$('#tdMainOuterAdmin').empty().append(html);
			}
			
			$('#tdMainOuterAdmin').toggleClass("hide", false);
		});
	});
	
	$('#tdAdminUsers').live('click', function(eve){
		eve.preventDefault();
		
		$sLast = '#tdAdminUsers';
		if($('#tdAdminUsers').hasClass("current")) return;
		else if($('#tdAdminMinions').hasClass("current")) $sLast = '#tdAdminMinions';
		$($sLast).toggleClass("current", false);
		$('#tdAdminUsers').toggleClass("current", true);
		
		$('#tblLoadingImg').toggleClass("hide", false);
		$('#tdMainOuterAdmin').toggleClass("hide", true);
		
		$.get('/adminajax/usersec/', function(html)
		{
			$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				$('#tdMainOuterAdmin').empty().append(html);
			}
			
			$('#tdMainOuterAdmin').toggleClass("hide", false);
		});
	});
	
	$('[id ^= tdMinion]').live('click', function(eve){
		eve.preventDefault();
		
		if($(this).hasClass("current")) return;
		
		$('#tdMinionAll').toggleClass("current", false);
		$('#tdMinionActivity').toggleClass("current", false);
		$('#tdMinionQueue').toggleClass("current", false);
		$('#tdMinionLogs').toggleClass("current", false);
		$(this).toggleClass("current", true);
		
		//$('#tblLoadingImg').toggleClass("hide", false);
		$('#tdMainInnerAdmin').toggleClass("hide", true);
		
		$.post('/adminajax/miniontab/', { 'btn' : $(this).attr('id') }, function(html)
		{
			//$('#tblLoadingImg').toggleClass("hide", true);
			if(html.length > 0)
			{
				$('#tdMainInnerAdmin').empty().append(html);
			}
			
			$('#tdMainInnerAdmin').toggleClass('hide', false);
		});
	});
	
	// These were developed to add effects to the 'Hide/Show Ratings Chart' links
	// Just add an 's' to the ID's to reactivate.
	$('#aShowRateDetails').live('click', function(eve){
		eve.preventDefault();
		
		$('#trShowLink').toggleClass('hide', true);
		$('#trAllRatings').slideDown(600);
		$('#trHideLink').delay(600).slideDown(200);
	});
	$('#aHideRateDetails').live('click', function(eve){
		eve.preventDefault();
		
		$('#trHideLink').slideUp(200);
		$('#trAllRatings').delay(200).slideUp(600);
		$('#trShowLink').delay(800).toggleClass('hide', false);
	});
	
	
	
	
});
