$(document).ready(function(){

$(".add").click(function() {
				$("table > tr:first-child").clone(true).insertBefore("table > tr:last-child");
				return false;
			});
			
			$(".remove").click(function() {
				$(this).parent().remove();
			});
	// the minimum required value to be entered.
	// in this case PayPal takes $0.35 from a $1
	// donation, hence we ask for at least $1.35
	var minimum_value = 1.35;
 
	// attach this script to the form's submit action
	jQuery('#form_paypal').submit(function()
	{
		// check if there is an amount entered
		if (jQuery('#input_amount').val() > null)
		{
			// is the amount equal to or higher than the minimum_value?
			if (jQuery('#input_amount').val() < minimum_value)
			{
				// need more amount
				// hide messages, show more amount error
				jQuery('#msg_noamount').hide();
				jQuery('#msg_moreamount').fadeIn();
				return false; // prevent the form from submitting
			}
			else
			{
				// amount is more than minimum_value
				// hide messages, show activity
				jQuery('#msg_moreamount').hide();
				jQuery('#msg_noamount').hide();
				jQuery('#msg_activity').fadeIn();
				return true; // submit the form
			}
		}
		else
		{
			// no amount entered at all
			// hide messages, show no amount error
			jQuery('#msg_moreamount').hide();
			jQuery('#msg_noamount').fadeIn();
			return false; // prevent the form from submitting
		}
	}); 
  $('#send_message').click(function(e){  
  
        //stop the form from being submitted  
        e.preventDefault();  
  
        /* declare the variables, var error is the variable that we use on the end 
        to determine if there was an error or not */  
        var error = false;  
        var name = $('#name').val();  
        var email = $('#email').val();  
        var subject = $('#subject').val();  
        var message = $('#message').val();  
  
        /* in the next section we do the checking by using VARIABLE.length 
        where VARIABLE is the variable we are checking (like name, email), 
        length is a javascript function to get the number of characters. 
        And as you can see if the num of characters is 0 we set the error 
        variable to true and show the name_error div with the fadeIn effect. 
        if it's not 0 then we fadeOut the div( that's if the div is shown and 
        the error is fixed it fadesOut. 
 
        The only difference from these checks is the email checking, we have 
        email.indexOf('@') which checks if there is @ in the email input field. 
        This javascript function will return -1 if no occurence have been found.*/  
        if(name.length == 0){  
            var error = true;  
            $('#name_error').fadeIn(500);  
        }else{  
            $('#name_error').fadeOut(500);  
        }  
        if(email.length == 0 || email.indexOf('@') == '-1'){  
            var error = true;  
            $('#email_error').fadeIn(500);  
        }else{  
            $('#email_error').fadeOut(500);  
        }  
        if(subject.length == 0){  
            var error = true;  
            $('#subject_error').fadeIn(500);  
        }else{  
            $('#subject_error').fadeOut(500);  
        }  
        if(message.length == 0){  
            var error = true;  
            $('#message_error').fadeIn(500);  
        }else{  
            $('#message_error').fadeOut(500);  
        }  
  
        //now when the validation is done we check if the error variable is false (no errors)  
        if(error == false){  
            //disable the submit button to avoid spamming  
            //and change the button text to Sending...  
            $('#send_message').attr({'disabled' : 'true', 'value' : 'Sending...' });  
  
            /* using the jquery's post(ajax) function and a lifesaver 
            function serialize() which gets all the data from the form 
            we submit it to send_email.php */  
            $.post("../php/send_email.php", $("#contact_form").serialize(),function(result){  
                //and after the ajax request ends we check the text returned  
                if(result == 'sent'){ 
                    //if the mail is sent remove the submit paragraph 
                     $('#cf_submit_p').remove(); 
                    //and show the mail success div with fadeIn 
                    $('#mail_success').fadeIn(500); 
                }else{ 
                    //show the mail failed div 
                    $('#mail_fail').fadeIn(500); 
                    //reenable the submit button by removing attribute disabled and change the text back to Send The Message 
                    $('#send_message').removeAttr('disabled').attr('value', 'Send The Message');  
                }  
            });  
        }  
    });  
$("#search_results").slideUp(); 
    $("#search_button").click(function(e){ 
        e.preventDefault(); 
        ajax_search(); 
    }); 
		$('.c1').corner("top");
		$('.checkboxes').corner("bottom");
		$('#container').corner("keep");
		$('#nav').corner();
 
	  $("#searchform input#search_term").autocomplete('./php/autosuggest.php', {
	  width: 300,
	  selectFirst: false,
	  max: 20,
	  delay: 250
  });
  

 $.fn.qtip.styles.mystyle = { // Last part is the name of the style
   width: 300,
   background: '#000',
   color: 'white',
   textAlign: 'center',
   border: {
      width: 1,
      radius: 3,
      color: '#dfb94f'
   },
   tip: 'bottomLeft',
   name: 'dark' // Inherit the rest of the attributes from the preset dark style
}
$.fn.qtip.styles.craft = { // Last part is the name of the style
   width: 300,
   background: '#000',
   color: 'white',
   textAlign: 'center',
   border: {
      width: 1,
      radius: 3,
      color: '#dfb94f'
   },
   tip: 'bottomRight',
   name: 'dark' // Inherit the rest of the attributes from the preset dark style
}
$("#amount").qtip({
   content: 'Type the amount of items you would like to make',
     style: 'mystyle',
	 show: { effect: { type: 'fade' } },
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});
$("#search_term").qtip({
   content: 'Start typing in the name of the item you would like to make, then select the item from the drop down that shows up. If nothing shows up, it means the item does not exist yet.',
     style: 'mystyle',
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});
$("#search_button").qtip({
   content: 'Clicking this button will begin the search.',
     style: 'mystyle',
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});


$("#subitemch").qtip({
   content: 'Select this if you do not want to see items associated with the components of the recipe that is currently displayed',
     style: 'mystyle',
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});
$("#Gather").qtip({
   content: 'Selecting this will show you all the items that you can collect off drops or buy at a vendor',
     style: 'mystyle',
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});

$("#HideCheck").qtip({
   content: 'Selecting this box will hide all the optional items.',
     style: 'mystyle',
   position: {
      corner: {
         target: 'topMiddle',
         tooltip: 'bottomLeft'
      }
   }
});
}); 




function toggleStatus() {
    if ($('#subitemch').is(':checked')) {

        $('#Gather').attr('disabled', true);
    } else {
        $('#Gather').removeAttr('disabled');
    }   
}

function toggleStatus1() {
    if ($('#Gather').is(':checked')) {

        $('#subitemch').attr('disabled', true);
    } else {
        $('#subitemch').removeAttr('disabled');
    }   
}
  
function ajax_search(){ 
  $("#search_results").show(); 
   $('#search_results').html('<img id="loaderimg" src="http://lcc.navsplace.net/images/pageload.gif " />');
  var search_val=$("#search_term").val(); 
  var amountval=$("#amount").val();
  var guildchxbox=$("#HideCheck").is(':checked');
  var subitemchxbox=$("#subitemch").is(':checked');
  var showGather=$("#Gather").is(':checked');
  var showPercent=$("#percentage").val();
  $.post("./php/test2.php", {search_term : search_val, amount : amountval, HideCheck : guildchxbox, subitemch : subitemchxbox, Gather : showGather, percentage : showPercent}, function(data){
   if (data.length>0){ 
     $("#search_results").html(data);
	 $('img[title]').qtip({
	  style: 'craft',
   position: {
      corner: {
         target: 'topLeft',
         tooltip: 'bottomRight'
      }
   }
});
	$("#items").treeTable();
	$('.recipietitle').corner();
	$('.error').corner();
	jQuery(function ($) {
	var contact = {
		message: null,
		init: function () {
			$('#contact-form input.contact, #contact-form a.contact').click(function (e) {
				e.preventDefault();
			
				// load the contact form using ajax
				$.get("data/contact.php", function(data){
					// create a modal dialog with the data
					$(data).modal({
						closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
						position: ["15%",],
						overlayId: 'contact-overlay',
						containerId: 'contact-container',
						onOpen: contact.open,
						onShow: contact.show,
						onClose: contact.close
					});
				});
			});
		},
		open: function (dialog) {
			// add padding to the buttons in firefox/mozilla
			if ($.browser.mozilla) {
				$('#contact-container .contact-button').css({
					'padding-bottom': '2px'
				});
			}
			// input field font size
			if ($.browser.safari) {
				$('#contact-container .contact-input').css({
					'font-size': '.9em'
				});
			}

			// dynamically determine height
			var h = 280;
			if ($('#contact-subject').length) {
				h += 26;
			}
			if ($('#contact-cc').length) {
				h += 22;
			}

			var title = $('#contact-container .contact-title').html();
			$('#contact-container .contact-title').html('Loading...');
			dialog.overlay.fadeIn(200, function () {
				dialog.container.fadeIn(200, function () {
					dialog.data.fadeIn(200, function () {
						$('#contact-container .contact-content').animate({
							height: h
						}, function () {
							$('#contact-container .contact-title').html(title);
							$('#contact-container form').fadeIn(200, function () {
								$('#contact-container #contact-name').focus();

								$('#contact-container .contact-cc').click(function () {
									var cc = $('#contact-container #contact-cc');
									cc.is(':checked') ? cc.attr('checked', '') : cc.attr('checked', 'checked');
								});

								// fix png's for IE 6
								if ($.browser.msie && $.browser.version < 7) {
									$('#contact-container .contact-button').each(function () {
										if ($(this).css('backgroundImage').match(/^url[("']+(.*\.png)[)"']+$/i)) {
											var src = RegExp.$1;
											$(this).css({
												backgroundImage: 'none',
												filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' +  src + '", sizingMethod="crop")'
											});
										}
									});
								}
							});
						});
					});
				});
			});
		},
		show: function (dialog) {
			$('#contact-container .contact-send').click(function (e) {
				e.preventDefault();
				// validate form
				if (contact.validate()) {
					var msg = $('#contact-container .contact-message');
					msg.fadeOut(function () {
						msg.removeClass('contact-error').empty();
					});
					$('#contact-container .contact-title').html('Sending...');
					$('#contact-container form').fadeOut(200);
					$('#contact-container .contact-content').animate({
						height: '80px'
					}, function () {
						$('#contact-container .contact-loading').fadeIn(200, function () {
							$.ajax({
								url: 'data/contact.php',
								data: $('#contact-container form').serialize() + '&action=send',
								type: 'post',
								cache: false,
								dataType: 'html',
								success: function (data) {
									$('#contact-container .contact-loading').fadeOut(200, function () {
										$('#contact-container .contact-title').html('Thank you!');
										msg.html(data).fadeIn(200);
									});
								},
								error: contact.error
							});
						});
					});
				}
				else {
					if ($('#contact-container .contact-message:visible').length > 0) {
						var msg = $('#contact-container .contact-message div');
						msg.fadeOut(200, function () {
							msg.empty();
							contact.showError();
							msg.fadeIn(200);
						});
					}
					else {
						$('#contact-container .contact-message').animate({
							height: '30px'
						}, contact.showError);
					}
					
				}
			});
		},
		close: function (dialog) {
			$('#contact-container .contact-message').fadeOut();
			$('#contact-container .contact-title').html('Closing...');
			$('#contact-container form').fadeOut(200);
			$('#contact-container .contact-content').animate({
				height: 40
			}, function () {
				dialog.data.fadeOut(200, function () {
					dialog.container.fadeOut(200, function () {
						dialog.overlay.fadeOut(200, function () {
							$.modal.close();
						});
					});
				});
			});
		},
		error: function (xhr) {
			alert(xhr.statusText);
		},
		validate: function () {
			contact.message = '';
			if (!$('#contact-container #contact-name').val()) {
				contact.message += 'Name is required. ';
			}

			var email = $('#contact-container #contact-email').val();
			if (!email) {
				contact.message += 'Email is required. ';
			}
			else {
				if (!contact.validateEmail(email)) {
					contact.message += 'Email is invalid. ';
				}
			}

			if (!$('#contact-container #contact-message').val()) {
				contact.message += 'Message is required.';
			}

			if (contact.message.length > 0) {
				return false;
			}
			else {
				return true;
			}
		},
		validateEmail: function (email) {
			var at = email.lastIndexOf("@");

			// Make sure the at (@) sybmol exists and  
			// it is not the first or last character
			if (at < 1 || (at + 1) === email.length)
				return false;

			// Make sure there aren't multiple periods together
			if (/(\.{2,})/.test(email))
				return false;

			// Break up the local and domain portions
			var local = email.substring(0, at);
			var domain = email.substring(at + 1);

			// Check lengths
			if (local.length < 1 || local.length > 64 || domain.length < 4 || domain.length > 255)
				return false;

			// Make sure local and domain don't start with or end with a period
			if (/(^\.|\.$)/.test(local) || /(^\.|\.$)/.test(domain))
				return false;

			// Check for quoted-string addresses
			// Since almost anything is allowed in a quoted-string address,
			// we're just going to let them go through
			if (!/^"(.+)"$/.test(local)) {
				// It's a dot-string address...check for valid characters
				if (!/^[-a-zA-Z0-9!#$%*\/?|^{}`~&'+=_\.]*$/.test(local))
					return false;
			}

			// Make sure domain contains only valid characters and at least one period
			if (!/^[-a-zA-Z0-9\.]*$/.test(domain) || domain.indexOf(".") === -1)
				return false;	

			return true;
		},
		showError: function () {
			$('#contact-container .contact-message')
				.html($('<div class="contact-error"></div>').append(contact.message))
				.fadeIn(200);
		}
	};

	contact.init();

});
   } 
  }) 

} 
