jQuery(document).ready(function(){

	if(jQuery("form.validate").length) {

		jQuery("form.validate").live('submit', function() {

			var self = jQuery(this);
			var alert_on = true;

			var msg = '';
			var valid = true;
			var email_pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;

			jQuery(".alert", this).removeClass("alert");

			jQuery(this).find(".required").each(function() {

				if(jQuery(this).hasClass("inputgroup")) {
					var value = jQuery(":checked", this).length ? "Checked" : "";
				} else {
					var value = jQuery(this).val();
				}

				if(value == "" || (jQuery(this).prop("title") && value == jQuery(this).prop("title")) || (jQuery(this).is(".email") && !email_pattern.test(value))) {
					valid = false;
					var label = jQuery(this).prev("label").text() || jQuery(this).prop("title");
					msg += '\n-> '+label.replace(/[\*|:]/gi, "")+' is required';
					jQuery(this).addClass("alert");
				}
			});

			if(!valid) {

				if(alert_on) {
					alert('Please fill in these fields. Thanks.'+msg);
				} else {
					jQuery("#alert", this).show().css('visibility', 'visible');
				}

				return false;
			}

			if(jQuery(".curtain", self).length) {

				var action = self.attr("action");

				var datastr = self.serialize() + "&form=" + self.attr("id");
				var query =  ((action.substr(0,3) == '/') ? '/' : '') + "/ph"+"p_inclu"+"des/mai"+"ler"+"."+"php";

				jQuery(".notice", self).hide();

				jQuery.ajax({
					type: "POST",
					url: query,  
					data: datastr,
					dataType: "json",
					success: function(data){

						var type = data.type.toString();
						
						jQuery(".curtain .result", self).html(data.msg);
						jQuery(".notice." + type, self).show();

						if(data.type == 'success') {
							self.clearForm();
						}
					},
					complete: function(jqXHR, textStatus) {

						jQuery(".curtain", self).fadeIn(function(){
							jQuery(".alert", self).hide();
							jQuery("#alert", self).hide();
						});
					}
				});

				jQuery(".curtain a[href='#close']").live("click",function(){
					jQuery(this).closest(".curtain").fadeOut();
					return false;
				});

				return false;

			}

		});

		jQuery("form.validate input, form.validate textarea").bind("focus", function(){
			jQuery(this).addClass("focus");
			if(jQuery(this).val() == jQuery(this).attr("title")) {
				jQuery(this).val("");
			}
		});

		jQuery("form.validate input, form.validate textarea").bind("blur", function(){
			jQuery(this).removeClass("focus");
			if(jQuery(this).val() == "") {
				jQuery(this).val(jQuery(this).attr("title"));
			}
		});

		jQuery("form.validate .submit, form.validate [href='#submit']").click(function(){
			var f = jQuery(this).closest("form");
			f.submit();
			return false;
		});

		jQuery("form.validate input.reset").click(function(){
			var f = jQuery(this).closest("form");
			f.clearForm();
			return false;
		});

		jQuery("form.labels input, form.labels textarea").bind("focus", function(){
			jQuery(this).prev("label").hide();
		});

		jQuery("form.labels input, form.labels textarea").bind("blur", function(){
			if(jQuery(this).val() == '') jQuery(this).prev("label").show();
		});

	}
	
	if(jQuery("#kwicks1").length) {

		jQuery('#kwicks1').kwicks({  
			defaultKwick: 0,
			min: 57,
			event: 'click',
			sticky: true,
			duration: 1000
		});
	}
	
	if(jQuery('a[rel="colorbox"]').length) {
		jQuery('a[rel="colorbox"]').colorbox({
			opacity: .3,
			top: "-10px"
		});
	}

	
	var locationstr = document.location.toString();

	if(locationstr.match('#')) {

		var fragment = locationstr.split('#')[1];

		if(jQuery("#"+fragment).length) {
			jQuery("#"+fragment).click();
		}
	}
	
	if($(".fade").length) {
		$(".fade").innerfade({
			speed: "1000",
			timeout: "6000"
		});
	}

});

jQuery.fn.clearForm = function() {
  return this.each(function() {
	var type = this.type, tag = this.tagName.toLowerCase();
	if (tag == 'form')
	  return jQuery(':input',this).clearForm();
    jQuery(this).prev('label').show();
	if (type == 'text' || type == 'password' || tag == 'textarea') {
	  if(jQuery(this).attr('title')) {
		  this.value = jQuery(this).attr('title');
	  } else {
		this.value = '';
	  }
	} else if (type == 'checkbox' || type == 'radio') {
	  this.checked = false;
	} else if (tag == 'select') {
	  this.selectedIndex = 0;
	}
  });
};
