$(document).ready(function() {
	
	$('DIV.drawers').accordion({
		header: "DIV.drawer",
		autoheight: false,
		event: 'click'
		//event: 'mouseover'
	});
	
	$("#queryCity").autocomplete("/search/autocompletecity",{
		 minChars: 0,
		 autoFill: true,
		 mustMatch: true,
		 matchContains: false,
		 scrollHeight: 220
	});
	
	$("#queryZip").autocomplete("/search/autocompletezip",{
		 minChars: 0,
		 autoFill: true,
		 mustMatch: true,
		 matchContains: false,
		 scrollHeight: 220
	});
	
	$("#sendMessageButton").click(function(){
		$("#sendMessageContainer").slideDown();
		$("#sendMessageButton").click(function(){
			if(!$('#message').val()) return false;
			var location=window.location.toString();
			var targetId=location.substring(location.lastIndexOf("/")+1);
			var params={"targetId":targetId,"message":encodeURI($('#message').val())};
			$.ajax({
				  type: "GET",
				  data: params,
				  url: "/user/message",
				  dataType: "html",
				  beforeSend:function(){
					$("#sendMessageButton").hide();
					var tmpHeight=Math.max($("#sendMessageContainer").height(),66);//height of ajax loader
					var tmpWidth =Math.max($("#sendMessageContainer").width(),66);//width of ajax loader
					var loaderMarkup='<div style="background:transparent url(/img/message-loader.gif) no-repeat center center;height:'+tmpHeight+'px;widht:'+tmpWidth+'px;"></div>';
					$("#sendMessageContainer").html(loaderMarkup);
				  },				
				  success: function(content){
				  		if(content.length==7 && content=="success"){
				  			$("#sendMessageContainer").html('');
							$("#sendMessageSuccess").show();
				  		}
				  		else {
				  			$("#sendMessageContainer").html('');
				  			$("#sendMessageFailed").show();
				  		}
					}
				});
		});	
	});
    $(".myAccount .uploadInput").change(function(){
    	$(this).parents('form').submit();
		Uploader.beginUpload("myAccount");
    });
	
	$(".barProfile .uploadInput").change(function(){
		$(this).parents('form').attr('target',"upload_target");
		$(this).parents('form').attr('action',"/bar/uploadbarpicture");
		$(this).parents('form').submit();
		Uploader.beginUpload("barProfile");
		$(this).parents('form').attr('target',"");
		$(this).parents('form').attr('action',"/bar/save");
    });

    $(".directions .uploadInput").change(function(){
		$(this).parents('form').attr('target',"upload_target");
		$(this).parents('form').attr('action',"/bar/uploaddirectionpicture");
		$(this).parents('form').submit();
		Uploader.beginUpload("directions");
		$(this).parents('form').attr('target',"");
		$(this).parents('form').attr('action',"/bar/save");
    });

	$('.indexPicturesTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".topten").removeClass().addClass('topten  topParties ');
		getPage("topParties",0); 
	});
	$('.indexUsersTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".topten").removeClass().addClass('topten  topUsers ');
		getPage("topUsers",0); 
	});
	$('.indexMusicTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".topten").removeClass().addClass('topten  topMusic ');
		getPage("topMusic",0); 
	});
	
	$('.partyPicturesTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".partylist").removeClass().addClass('partylist partylistGallery partyPictures');
		getPage("partyPictures",0); 
	});
	$('.partyUsersTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".partylist").removeClass().addClass('partylist partyUsers');
		getPage("partyUsers",0); 
	});
	$('.partyMusicTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".partylist").removeClass().addClass('partylist partyMusic');
		getPage("partyMusic",0); 
	});
	
	$('.userPicturesTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".userview").removeClass().addClass('userview userPictures');
		getPage("userPictures",0); 
	});
	$('.userPartiesTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".userview").removeClass().addClass('userview userParties');
		getPage("userParties",0); 
	});
	$('.userMusicTab').click(function(){
		$(this).parent().children().removeClass('active');
		$(this).addClass('active');
		$(".userview").removeClass().addClass('userview userMusic');
		getPage("userMusic",0); 
	});
	
	activateNewsButtons();
	activateAushangButtons();
	activateAbspielbarButtons();
	activatePagerButtons();
	activatePartyBeButtons();
	activateContactFeedbackForm();
	activatePasswordForm();
});

function activatePartyPictureUpload(){
	$(".partyPicture .uploadInput").change(function(){
		$(this).parents('form').attr('target',"upload_target");
		$(this).parents('form').attr('action',"/bar/uploadpartypicture");
		$(this).parents('form').submit();
		Uploader.beginUpload("partyPicture");
		$(this).parents('form').attr('target',"");
		$(this).parents('form').attr('action',"/bar/save");
    });
}

function activatePasswordForm(){
	$("#recoverPasswordForm").ajaxForm({
		dataType: 'json',
		beforeSubmit:function(){
		var tmpHeight=66;//height of ajax loader
	  	var tmpWidth =66;//width of ajax loader
	  	var loaderMarkup='<div style="background:transparent url(/img/ajax-loader-2.gif) no-repeat center center;height:'+tmpHeight+'px;widht:'+tmpWidth+'px;"></div>';
	  	$("#recoverValidateStatus").html(loaderMarkup);	
	  	$("#recoverValidateFailed").hide();
	  	$("#recoverValidateSuccess").hide();
	  	$("#recoverPasswordForm").hide();
	  	$("#recoverValidateStatus").show();	
	  	
	},
		
		success:function(returnValue){
		$("#recoverValidateStatus").html("");
		$("#recoverValidateStatus").hide();	
		
		if(returnValue.errors.length){
			var displayResult="<ul>";
			for(var i=0;i<returnValue.errors.length;i++)
				displayResult+="<li>"+returnValue.errors[i]+"</li>";
			displayResult+="</ul>";
			$("#recoverValidateFailed").html(displayResult);
			$("#recoverValidateFailed").show();
			$("#recoverPasswordForm").show();
		} else {
			$("#recoverValidateSuccess").html(returnValue.success);
			$("#recoverValidateSuccess").show();
		}
			
				
	}	
	});
}

function activatePartyForm(){
	activatePartyPictureUpload();
	$("#partyEditForm").ajaxForm(function(){
		var currentPage=$(".barBeComingPartiesPage .currentPage").val();
		$(".partyForm").html("");
		getPage("barBeComingParties",currentPage); 
		});
	
}

function activateContactFeedbackForm(){
	//activatePartyPictureUpload();
	var params={};
	
	$("#contactFeedbackForm").ajaxForm({
		beforeSubmit:function(){
			
			if(($("#feedbackemail").length && !$("#feedbackemail").val()) || (!$("#feedbacksubject").val()) || (!$("#feedbackmessage").val())) {
				$("#sendMessageValidateFailed").show();
				return false;
			} else $("#sendMessageValidateFailed").hide();

			var loaderMarkup='<div style="background:transparent url(/img/ajax-loader-2.gif) no-repeat center center;height:66px;widht:66px;"></div>';
			$("#contactFeedbackForm").html(loaderMarkup);
		},
		success:function(content){
			$("#contactFeedbackForm").html("");
			if(content.length==7 && content=="success"){
				$("#sendMessageSuccess").show();
	  		}
	  		else {
	  			$("#sendMessageFailed").show();
	  		}
		}
	});
	
}

function activatePartyBeButtons(){
	$('.partyEdit').click(function(){
		var params={};
		$(".partyForm").html("");
		var id=$(this).parents(".linkList").children(".partyInfo").val();
		var partyForm=$(this).parents(".linkList").children(".partyForm");
		params={'id':id};
		$.ajax({
			  type: "GET",
			  data: params,
			  url: "/bar/partyedit",
			  dataType: "html",
			  beforeSend:function(){
			  	
			  	var tmpHeight=66;//height of ajax loader
			  	var tmpWidth =66;//width of ajax loader
			  	var loaderMarkup='<div style="background:transparent url(/img/ajax-loader.gif) no-repeat center center;height:'+tmpHeight+'px;widht:'+tmpWidth+'px;"></div>';
				partyForm.html(loaderMarkup);				
			  },				
			  success: function(content){
			  		partyForm.html(content);
			  		activatePartyForm();
					/*$("."+controller+"").html(content);
					activatePagerButtons();
					if(controller=="news") activateNewsButtons();
					if(controller=="aushang") activateAushangButtons();
					if(controller=="abspielbar") activateAbspielbarButtons();
					if(controller=="barBeComingParties") activatePartyBeButtons();
					
					tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
				}*/
			}
		});
	});

	$('.partyDelete').click(function(){
		var params={};
		$(".partyForm").html("");
		var id=$(this).parents(".linkList").children(".partyInfo").val();
		var partyForm=$(this).parents(".linkList").children(".partyForm");
		var partyItem=$(this).parents(".linkList");
		params={'id':id};
		$.ajax({
			  type: "GET",
			  data: params,
			  url: "/bar/partydelete",
			  dataType: "html",
			  beforeSend:function(){
			  	
			  	var tmpHeight=66;//height of ajax loader
			  	var tmpWidth =66;//width of ajax loader
			  	var loaderMarkup='<div style="background:transparent url(/img/ajax-loader.gif) no-repeat center center;height:'+tmpHeight+'px;widht:'+tmpWidth+'px;"></div>';
				partyForm.html(loaderMarkup);				
			  },				
			  success: function(content){
			  		
			  		if(content=="success") partyItem.remove();
			  		else partyForm.html("");
			  		activatePartyForm();
			  		var currentPage=$(".barBeComingPartiesPage .currentPage").val();
					$(".partyForm").html("");
					getPage("barBeComingParties",currentPage); 
					/*$("."+controller+"").html(content);
					activatePagerButtons();
					if(controller=="news") activateNewsButtons();
					if(controller=="aushang") activateAushangButtons();
					if(controller=="abspielbar") activateAbspielbarButtons();
					if(controller=="barBeComingParties") activatePartyBeButtons();
					
					tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
				}*/
			}
		});
	});

}

function activateNewsButtons(){
	$('.newsCollapse').click(function(){
			$(this).parents(".newsExpanded").hide();
			$(this).parents(".newsList").children(".newsCollapsed").show();
		}
	);
	
	$('.newsExpand').click(function(){
			$(this).parents(".newsCollapsed").hide();
			$(this).parents(".newsList").children(".newsExpanded").show();
		}
	);
}

function activateAushangButtons(){
	$('.aushangCollapse').click(function(){
			$(this).parents(".aushangExpanded").hide();
			$(this).parents(".aushangItem").children(".aushangCollapsed").show();
		}
	);
	
	$('.aushangExpand').click(function(){
			$(this).parents(".aushangCollapsed").hide();
			$(this).parents(".aushangItem").children(".aushangExpanded").show();
		}
	);
}

function activateAbspielbarButtons(){
	$('.abspielbarCollapse').click(function(){
			$(this).parents(".abspielbarExpanded").hide();
			$(this).parents(".abspielbarItem").children(".abspielbarCollapsed").show();
		}
	);
	
	$('.abspielbarExpand').click(function(){
			$(this).parents(".abspielbarCollapsed").hide();
			$(this).parents(".abspielbarItem").children(".abspielbarExpanded").show();
		}
	);
}

function activatePagerButtons(){
	$('.nextPage').click(function(){
		var page=parseInt($(this).prevAll('INPUT.currentPage').val())+1
		getPage($(this).prevAll('INPUT.controller').val(),page);
	});
	
	$('.previousPage').click(function(){
		var page=parseInt($(this).prevAll('INPUT.currentPage').val())-1
		getPage($(this).prevAll('INPUT.controller').val(),page);
	});
	
	$('.getPage').click(function(){
		var page=parseInt($(this).html())-1
		getPage($(this).prevAll('INPUT.controller').val(),page);
	});
}

function getPage(controller,page)
{
	var params={};
	var extraParam=$("."+controller+" INPUT.context").val();

	params={'page':page,'context':extraParam};
	$.ajax({
		  type: "GET",
		  data: params,
		  url: "/pager/get"+controller,
		  dataType: "html",
		  beforeSend:function(){
		  	var tmpHeight=Math.max($("#"+controller+"Page").height(),66);//height of ajax loader
		  	var tmpWidth =Math.max($("#"+controller+"Page").width(),66);//width of ajax loader
		  	var loaderMarkup='<div style="background:transparent url(/img/ajax-loader.gif) no-repeat center center;height:'+tmpHeight+'px;widht:'+tmpWidth+'px;"></div>';
			if($("#"+controller+"Page").length)
				$("#"+controller+"Page").html(loaderMarkup)
			else
				$("."+controller+"").html(loaderMarkup);
		  },				
		  success: function(content){
			  
				$("."+controller+"").html(content);
				activatePagerButtons();
				if(controller=="news") activateNewsButtons();
				if(controller=="aushang") activateAushangButtons();
				if(controller=="abspielbar") activateAbspielbarButtons();
				if(controller=="barBeComingParties") activatePartyBeButtons();
				
				tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
			}
		});
}

Uploader={};
Uploader.busyFlag="";
Uploader.beginUpload = function(context){
	
	var contextClass='';
	if(context) contextClass="."+context+" ";
	$(contextClass+'.uploadControls').hide();
	$(contextClass+'.uploadStatusIcon').show();

}
Uploader.uploadComplete = function(id,context){
	var contextClass='';
	if(context) contextClass="."+context+" ";
	$(contextClass+'.uploadStatusMessage').html('Upload Complete');
	$(contextClass+'.uploadErrorMessage').html('');
	$(contextClass+'.uploadStatus').removeClass().addClass('uploadStatus uploadDone');
	$(contextClass+'.uploadStatus').show();
	$(contextClass+'.uploadControls').show();
	$(contextClass+'.uploadStatusIcon').hide();
	if(context=="myAccount") $('#profilePictureImg').attr('src',"/upload/profilepictures/preview_"+id+".jpg?noCache="+(new Date().getTime()));
	if(context=="barProfile") $('#profilePictureImg').attr('src',"/upload/barpictures/preview_"+id+".jpg?noCache="+(new Date().getTime()));
	if(context=="directions") $('#directionPictureImg').attr('src',"/upload/directionpictures/preview_"+id+".jpg?noCache="+(new Date().getTime()));
	if(context=="partyPicture") $('#partyPictureImg').attr('src',"/upload/partypictures/preview_"+id+".jpg?noCache="+(new Date().getTime()));

	setTimeout(function(){
		$(contextClass+'.uploadStatus').fadeOut('slow');
	}, 5000); 
}


Uploader.reportError = function(str,context){
	var contextClass='';
	if(context) contextClass="."+context+" ";
	$(contextClass+'.uploadStatusMessage').html('');
	$(contextClass+'.uploadErrorMessage').html(str);
	$(contextClass+'.uploadStatus').removeClass().addClass('uploadStatus uploadError');
	$(contextClass+'.uploadStatus').show();
	$(contextClass+'.uploadControls').show();
	$(contextClass+'.uploadStatusIcon').hide();
}

