$(document).ready(function(){
	filterProviders();
			
	 $("div.details").css("display","none");
	 
	 $("#results ul.overview").live("click", function(){
	 	
	 	$(this).next().slideDown();
	 	$("#results div.details:not(:animated)").slideUp();
	 	
	 })
	 
	 $("#main ul.options li a").click(function(){
	 	
	 	$(this).next().trigger("click");
	 	filterProviders();
	 	$(this).hasClass("clicked") ? $(this).removeClass("clicked") : $(this).addClass("clicked");

	 	return false;
	 })
	 
	 $("#fromService, #toService, #pages, #period").change(function(){
	 	filterProviders();
	 })
	 
	 $("#main ul.options li input:checked").each(function(){
	 	
	 	$(this).prev().addClass("clicked");
	 	
	 })
	 
	 $("#main ul.options li span").click(function(){
	 	$(this).parent().find("a").trigger("click");
	 })
	 
	 
	 $("#next, #prev").live("click", function(){
	 	
	 	var rel = $(this).attr("rel");
	 	
	 	filterProviders(rel);
	 	
	 	return false;
	 	
	 })
	 
	  $("#filter a").live("click", function(){
	 	
	 	var rel = $(this).attr("rel");
	 	
	 	filterProviders(false, rel);
	 	return false;
	 	
	 })
	 
	 function filterProviders(pagination, order){
	 	
	 	if(order){
	 		var orderby = "&orderby="+order;
	 	}else{
	 		orderby = "&orderby=undefined"
	 	}
	 	var fromService = $('#fromService').val();
	 	var toService = $('#toService').val();
	 	var pageCount = $('#pages').val();
	 	var period = $('#period').val();	 	
	 	var checked='';
	 	
	 	if(pagination){
	 		var startLimit = '&startLimit='+pagination
	 	}else{
	 		var startLimit = '&startLimit=0'
	 	}
	 	
	 	
	 	$('#options input:checked').each(function(){
	 		var checkedName = $(this).attr('name');
	 		var checkedVal = $(this).val();
	 		checked = checked+"&"+checkedName+"="+checkedVal;
	 	})
	 	
	 	$.ajax({
	 		
	 		type: "POST", 
	 		url: "filterProviders.php",
	 		data: "fromService="+fromService+"&toService="+toService+"&pageCount="+pageCount+"&period="+period+checked+startLimit+orderby,
	 		dataType : "json",
	 		beforeSend: function(){
	 			$('#ajax-result').html(" ");
	 			$('#ajax-result').html("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
	 		},
	 		success: function(results){
	 			$("#homepage #loader").remove();
	 			$('#ajax-result').html(results.output);
	 			$("#homepage div.details").css("display","none");
	 			
	 		}
	 	})
	 	
	 }
	 
	 
	 $('.navigation a').click(function(){
	 	
	 	var load = $(this).attr('title')+".php";
	 	
	 	modalBox(" ", 500);
	 	$('#modalContent').load(load);
	 	
	 	return false;
	 	
	 })
	 
	 $('.loggedout a, .loggedin #settings').click(function(){
	 	
	 	var load = $(this).attr('href')+".php";
	 	
	 	if($(this).attr('href')=='settings')
	 	{
	 		modalBox(" ", 700);
	 	}else{
	 		modalBox(" ", 500);
	 	}
	 	$('#modalContent').load(load);
	 	
	 	return false;
	 	
	 })
	 
	 
	 $('#close img').live("click", function(){
	 	
	 	modalBox();
	 	
	 	return false;
	 })
	 
	 $('.loggedin #logout').click(function(){
	 	
	 	$.ajax({
	 		
	 		type: "POST", 
	 		url: "logout.php",
	 		success: function(){
	 			$('.loggedout').css('display','block');
				$('.loggedin').css('display','none');
	 		}
	 		
	 	})
	 	return false;
	 })
	 
	 
	function validation(element){
		
		$(element).parent().parent().parent().parent().find(".tooltip").hide();		
		if($(element).parent().parent().parent().find(".tooltip").length > 0){
			
			$(element).parent().parent().parent().parent().find(".tooltip").hide();
			$(element).parent().parent().parent().find(".tooltip").fadeIn();
			
		}
		
	}
	
	
	$(".standard input:not(.submit, #nda, #subscribe), .standard textarea").livequery("focus", function(){
		
		var element = $(this);
		validation(element);
		
	 })	 
	 
	 
	 
	 function validateContact(){
	 	
	 	var data = $('#frmContact').serialize();
		 	$.ajax({
		 		
		 		type: "POST",
		 		url: "contact-ajax.php",
		 		data : data,
		 		beforeSend: function(){
		 			$('.error').remove();
		 			$('#frmContact').after("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
		 		}, 
		 		success: function(result){
		 			$('#frmContact').after(result);
		 			$("#loader").remove();
		 		}
		 		
		 	}) 	
		 return false;
	 }
	 
	 $('#frmContact').live("submit", function(){

		validateContact();	 	

	 })
	 
 	$('#frmContact .submit').live("click", function(){
 		
 		validateContact();
 		return false;
 	})
 	
 	function validateLogin(){
 		var data = $('#frmLogin').serialize();
 		
		$.ajax({
				 		
			type: "POST",
			url: "login-ajax.php",
			data : data,
			beforeSend: function(){
				$('.error').remove();
				$('#frmLogin').after("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
			}, 
			success: function(result){
				if(result == "success"){				
					$('.loggedout').css('display','none');
					$('.loggedin').css('display','block');
					$('#modal').remove();
					$('#modalOverlay').remove();
					modalBox(" ", 700);
 					$('#modalContent').load("settings.php");
				}else{
					$('#frmLogin').after(result);
					$("#loader").remove();
				}
			}
		
		}) 
 	}
 	
 	
 	$('#frmLogin').live("submit", function(){

		validateLogin();	

	 })
	 
 	$('#frmLogin .submit').live("click", function(){
 		
 		validateLogin();
 		return false;
 	})
 	
 	$('#frmLogin a.forgot').live("click", function(){
 		
 		$('#modal').remove();
		$('#modalOverlay').remove();
		modalBox(" ", 500);
		$('#modalContent').load("forgot-password.php");
 		
 		return false;
 	})
 	
 	function resetPassword() {
 		var data = $('#frmForgot').serialize();
 		$.ajax({
 			type: "POST",
 			url: "forgot-password-ajax.php",
 			data: data,
 			beforeSend: function(){
				$('.error').remove();
				$('#frmLogin').after("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
			},
			success: function(result){
				$('#frmForgot').after(result);
				$("#loader").remove();
				
			} 
 			
 		})
 		
 	}
 	
 	$('#frmForgot').live("submit", function(){

		resetPassword();	
		
		return false;

	 })
	 
	 $('#frmLogin .submit').live("click", function(){
 		
 		resetPassword();
 		return false;
 	})
 	
 	
 	function validateRegister(){
 		
 		var data = $('#frmRegister').serialize();
 		
 		if($("#frmRegister").find("#resultname").val()!=""){
			thumbnail = $("#frmRegister").find("#resultname").val();
		}else{
			thumbnail = "";
		}
		if(typeof thumbnail=="undefined"){
			thumbnail = "";			
		}
		
		var data = data+"&thumbnail="+thumbnail
 		
 		
		$.ajax({
				 		
			type: "POST",
			url: "register-ajax.php",
			data : data,
			beforeSend: function(){
				$('.error').remove();
				$('#frmRegister').after("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
			}, 
			success: function(result){
				
				switch(result){
					case 'error-fields':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>An error occured. Please review the form fields.</p>";
					break;
					
					case 'error-password':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Passwords do not match.</p>";
					break;
					
					case 'error-username':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Username already exists.</p>";
					break;
					
					case 'error-email':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Email Address already exists.</p>";
					break;
					
					case 'error-error':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Sorry, provider not added. Please try again!</p>";
					break;
					
					case 'success':
						var message = "<img src='images/form-ok.jpg' title='form ok' />";
						var message = message + "<h5>Huuray!</h5>";
						var message = message + "<p>Thank you. The provider was added.</p>";
			
						$('.loggedout').css('display','none');
						$('.loggedin').css('display','block');
						$('#modal').remove();
						$('#modalOverlay').remove();
						modalBox(" ", 700);
	 					$('#modalContent').load("settings.php");
					break;
				}
				
				$('#frmRegister').after("<div class='error'>"+
										message+
										"</div>"
										);
				$("#loader").remove();
			}
		
		}) 
 	}
 	
 	 $('#frmRegister').live("submit", function(){

		validateRegister();	

	 })
	 
 	$('#frmRegister .submit').live("click", function(){
 		
 		validateRegister();
 		return false;
 	})
 	
 	
 function validateUpdate(){
 		
 		var data = $('#frmUpdate').serialize();
 		
 		if($("#frmLogin").find("#resultname").val()!=""){
			thumbnail = $("#frmUpdate").find("#resultname").val();
		}else{
			thumbnail = "";
		}
		if(typeof thumbnail=="undefined"){
			thumbnail = "";			
		}
		
		if($("#frmUpdate").find("#password").val()!="")
		{
			passwordChanged = "true";
		}else{
			passwordChanged = "false";
		}
		
		var data = data+"&thumbnail="+thumbnail+"&passwordChanged="+passwordChanged
 		
 		
		$.ajax({
				 		
			type: "POST",
			url: "update-ajax.php",
			data : data,
			beforeSend: function(){
				$('.error').remove();
				$('#frmUpdate').after("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
			}, 
			success: function(result){
				
				switch(result){
					case 'error-fields':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>An error occured. Please review the form fields.</p>";
					break;
					
					case 'error-password':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Passwords do not match.</p>";
					break;
					
					case 'error-username':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Username already exists.</p>";
					break;
					
					case 'error-email':
						var message = "<img src='images/form-cancel.jpg' title='form cancel' />";
						var message = message + "<h5>Oh, snap!</h5>";
						var message = message + "<p>Email Address already exists.</p>";
					break;
					
					case 'error-noupdate':
						var message = "<img src='images/form-ok.jpg' title='form ok' />";
						var message = message + "<h5>Good news, buddy!</h5>";
						var message = message + "<p>No update required!</p>";
					break;
					
					case 'success':
						var message = "<img src='images/form-ok.jpg' title='form ok' />";
						var message = message + "<h5>Huuray!</h5>";
						var message = message + "<p>Profile Updated Successfully.</p>";
			
					break;
				}
				
				$('#frmUpdate').after("<div class='error'>"+
										message+
										"</div>"
										);
				$("#loader").remove();
			}
		
		}) 
 	}
 	
 	 $('#frmUpdate').live("submit", function(){

		validateUpdate();	

	 })
	 
 	$('#frmUpdate .submit').live("click", function(){
 		
 		validateUpdate();
 		return false;
 	})
 	
 	$('#btnService').live("click", function(){

 		$('div.boxServices div.header').append("<img src='images/modal-ajax-loader.gif' alt='loader' />");
 		$('div.boxServices').find('.extraImg').remove();
 		$('div.boxServices div.header').find("img").css({
 			position: 'absolute',
 			right: '105px',
 			top: '12px'
 		});
 		
 		$('div.boxServices').find('.error').remove();
 		var category = $('#boxFromService').val();
 		var subcategory = $('#boxToService').val();
 		
 		$('#result .service').each(function(){
 			
 			var container = $(this);
			var idService = $(this).find('.idService').val();
			var startPeriod = $(this).find('#startPeriod').val();
			var endPeriod = $(this).find('#endPeriod').val();
			var priceType = $(this).find('#priceType').val();
			
			if(priceType == "A") {
				var total = $(this).find('.total').val();
			}else{
				var page1 = $(this).find('.page1').val();
				var page2 = $(this).find('.page2').val();
				var page3 = $(this).find('.page3').val();
				var page4 = $(this).find('.page4').val();
				var page5 = $(this).find('.page5').val();
				var page6 = $(this).find('.page6').val();
				var page7 = $(this).find('.page7').val();
				var page8 = $(this).find('.page8').val();
				var page9 = $(this).find('.page9').val();
				var page10 = $(this).find('.page10').val();
				var page11 = $(this).find('.page11').val();
				var page12 = $(this).find('.page12').val();
				var page13 = $(this).find('.page13').val();
				var page14 = $(this).find('.page14').val();
				
				var pages = "&page1="+page1+"&page2="+page2+"&page3="+page3+"&page4="+page4+"&page5="+page5+"&page6="+page6+"&page7="+page7+"&page8="+page8+"&page9="+page9+"&page10="+page10+"&page11="+page11+"&page12="+page12+"&page13="+page13+"&page14="+page14			 
			}
			
			var data = "idService="+idService+"&category="+category+"&subcategory="+subcategory+"&startPeriod="+startPeriod+"&endPeriod="+endPeriod+"&priceType="+priceType
			if(priceType == "A") {
				var data = data + "&total="+total
			}else{
				var data = data + pages
			}
			
			
			$.ajax({
				
				type: "POST", 
				url: "update-service-ajax.php",
				data: data,
				dataType : "json",
				success: function(result){
					switch(result.result){
						case 'success-insert':
							var message = "<div class='error'>";
								var message = message + "<img src='images/form-ok.jpg' alt='Service Added' />";
								var message = message + "<p>Service Added.</p>";
							var message = message + "</div>";
							if(typeof result.last_id !="undefined"){
								$(container).find('.idService').val(result.last_id);
							}
						break;
						
						case 'success-update':
							var message = "<div class='error'>";
								var message = message + "<img src='images/form-ok.jpg' alt='Service Updated' />";
								var message = message + "<p>Service Updated.</p>";
							var message = message + "</div>";
						break;
						
						case 'error-dbPeriod':
							var message = "<div class='error'>";
								var message = message + "<img src='images/form-cancel.jpg' alt='Overlapping Periods' />";
								var message = message + "<p>You Can't Create Overlapping Periods.</p>";
							var message = message + "</div>";
						break;
						
						case 'error-fieldPeriod':
							var message = "<div class='error'>";
								var message = message + "<img src='images/form-cancel.jpg' alt='Start day needs to be bigger' />";
								var message = message + "<p>Start Day Needs To Be Bigger.</p>";
							var message = message + "</div>";
						break;
						
						case 'error-overlimit':
							var message = "<div class='error'>";
								var message = message + "<img src='images/form-cancel.jpg' alt='Maximum Allowed Price is $ 999' />";
								var message = message + "<p>Maximum Allowed Price is $ 999.</p>";
							var message = message + "</div>";
						break;
					}
					
					if(typeof message != "undefined"){
						$(container).find('.period').append("<li>"+message+"</li>");
					}
					
					
				}
				
				
			})
		
 		})
 		
 		
		$('#result').find('.extraServices').find('.extrafields').each(function(){
			
			var extraParent = $(this).parent().parent().parent();
			var extraPriceType = $(extraParent).find('#sPriceType').val();
			var extraPrice = $(extraParent).find('.extrafields').val();
			var extraId = $(extraParent).find('.extrafields').attr("name");
			var params = "category="+category+"&subcategory="+subcategory+"&extraPriceType="+extraPriceType+"&extraPrice="+extraPrice+"&extraId="+extraId
			
			
			$.ajax({
				
				type: "POST", 
				url: "update-extra-service-ajax.php",
				data: params,
				success: function(result){
					switch(result){
						case 'success':
							$(extraParent).append("<img class='extraImg' src='images/extra-ok.gif' alt='Success' />");
						break;
						
						case 'error':
							$(extraParent).append("<img class='extraImg' src='images/extra-error.gif' alt='Maximum Allowed Price is $999' title='Maximum Allowed Price is $999' />");
						break;
					}
				}
				
			})
			
		})
		
 		$('div.boxServices div.header').find("img").remove();
 		return false;
 	})
 	
 	
 	$('.boxTestimonials').find('a.delete-testimonial').live("click", function(){
 		
 		var parent = $(this).parent().parent().parent();
 		var id = $(this).attr('rel');
 		
 		var params = "idTestimonial="+id;
 		
 		
 		$.ajax({
				
			type: "POST", 
			url: "delete-testimonial.php",
			data: params,
			dataType: "json",
			success: function(result){
				
				if(result.data == "success"){
					$(parent).fadeOut("normal", function(){
						$(this).remove();
					});
				}
				
				if(result.action == "hide"){
					$('#tabContent').find('#frmTestimonials').fadeOut();
				}else{
					$('#tabContent').find('#frmTestimonials').fadeIn();
				}
				
			}
				
				
			})
 		
 		
 		return false;
 	})
 	
 	function addTestimonial(){
 		
	var params = $('#frmTestimonials').serialize();
	
	var url = $('#frmTestimonials').find("#url").val();
	var testimonialTxt = $('#frmTestimonials').find("#testimonialTxt").val();
 		
 		$.ajax({
 			
 			type: "POST", 
 			url: "add-testimonial.php",
 			data: params,
 			dataType: "json", 
 			success: function(result){
 				if(result.total >= 5){
 					$('#frmTestimonials').fadeOut();
 				}
 				
 				if(typeof result.lastId != "undefined"){
 					
 					if($('#tabContent').find('.boxTestimonials:last').length > 0){
 						$('#tabContent').find('.boxTestimonials:last').after('<div class="boxTestimonials">'+
																				'<div class="tMiddle">'+
																					testimonialTxt+
																					'<strong class="url">- '+url+'</strong>'+
																					'<strong class="url">'+
																						'<a class="delete-testimonial" rel="'+parseInt(result.lastId)+'" href="#">Delete</a>'+
																					'</strong>'+
																				'</div>'+
																			'</div>');
 					}else{
 						$('#tabContent').find('#frmTestimonials').before('<div class="boxTestimonials">'+
																				'<div class="tMiddle">'+
																					testimonialTxt+
																					'<strong class="url">- '+url+'</strong>'+
																					'<strong class="url">'+
																						'<a class="delete-testimonial" rel="'+parseInt(result.lastId)+'" href="#">Delete</a>'+
																					'</strong>'+
																				'</div>'+
																			'</div>');
 					}
 					
 				}
 				
 			}
 			
 		})
 		
 	}
 	
 	$('#frmTestimonials').live("submit", function(){
 				
 		addTestimonial();
 		return false;
 		
 	})
 	
 	$('#frmTestimonials').find('.submit', function(){
 		
 		addTestimonial();
 		return false;
 	})
 	
	
})

function changeService() {
	
	var category = $('#boxFromService').val();
	var subcategory = $('#boxToService').val();
	
	$('.boxServices').find(".content").remove();
	$('.boxServices').append("<div id='loader'><img src='images/ajax-loader.gif' title='ajax-loader' /></div>");
	$('.boxServices').find("#result").load('services-content.php', {
		category : category,
		subcategory : subcategory
	}, function(){
		$("#loader").remove();
	})
	
}