/**
 * ArchHoefe Javascript stuff.
 * @author NOSE
 * 
 * @version 1.0.0 initial version
 *
 */
var ArchHoefe = {

	/**
	 * Initialize.
	 */
	initialize : function(){
		// develop
		jQuery().devTools();
		
		// slideshow
		if (jQuery("#teaser.slideshow").size()>0) {
			ArchHoefe.teaserSlideshow();
		}
		
		// gallery
		if (jQuery("#teaser.gallery").size()>0) {
			ArchHoefe.teaserGallery();
		}
		
		// popup
		ArchHoefe.initPopup();
		
		// plan selector
		if (jQuery("#plan").size()>0) {
			ArchHoefe.planSelektor();
		}
		
		// plan overview
		if (jQuery("#plan.overview").size()>0) {
			ArchHoefe.planOverview();
		}
		
		// form
		if (jQuery("#validateForm").size() > 0) {
			ArchHoefe.validateForm();
		}
		
	
	},
	/**
	* Teaser slideshow.
	*/
	teaserSlideshow: function() {
		jQuery("#teaser.slideshow").slideshow({slWidth:780,slHeight:335,slInterval:5000});
	},
	/**
	* Teaser gallery.
	*/
	teaserGallery: function() {
		// gallery images
		var gimages = jQuery("#teaser.gallery img");
		
		// large
		var f = jQuery("#teaser.gallery img.first")[0]
		var s = jQuery(f).attr("src");
		jQuery("#teaser.gallery").prepend("<img src='"+s+"' id='galleryImageLarge'/>");
		
		// thumbs
		jQuery(f).addClass("active");
		for (var i = 0; i < gimages.length; i++) {
			var gi = gimages[i];
			
			// class
			jQuery(gi).addClass("thumb");
			
			// event
			jQuery(gi).bind("click",function(){
				// large image
				var is = jQuery(this).attr("src");
				jQuery("#galleryImageLarge").hide();
				jQuery("#galleryImageLarge").attr("src",is);
				jQuery("#galleryImageLarge").fadeIn(500);
				
				// thumbs
				for (var j = 0; j < gimages.length; j++) {
					var cgi = gimages[j];
					jQuery(cgi).removeClass("active");
				}
				jQuery(this).addClass("active");
				
			});
			jQuery(gi).bind("mouseenter",function(){
				jQuery(this).addClass("hover");
			});
			jQuery(gi).bind("mouseleave",function(){
				jQuery(this).removeClass("hover");
			});
		}
	},
	/**
	* Validates a form.
	*/
	validateForm: function() {
		// rules
		var rules = new ValidatorRuleCollection();
		
		rules.add('validator-required', 'Wert erforderlich.', function(fieldValue, fieldObj) {
			if (fieldValue == "")	return false;
			return true;
		});
		
		rules.add('validator-email', 'Ung&uuml;ltige Email Adresse.', function(fieldValue, fieldObj) {
			if (fieldValue == "")	return true;
			return /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(fieldValue);
		});
		// validator
		jQuery("#validateForm").validationAideEnable(rules, {showSummary:true,summaryMessage:"Bitte erg&auml;nzen sie folgende Angaben:"});	
	},
	/**
	* Plan Selektor stuff.
	*/
	planSelektor: function() {
		jQuery("#plan").planselecta({});
	},
	/**
	* Popup Window.
	*/
	initPopup: function() {
		// selector
		jQuery(".popup").each(function(i,el) {
			// popup
			var h = jQuery(el).attr("href");
			jQuery(el).popupWindow(h);
		});
	},
	/**
	* Plan overview stuff.
	*/
	planOverview: function() {
		// init tabs
		var plinks = jQuery(".planitems a");
		var ptabs = jQuery(".planitem");
		for (var i = 0; i < plinks.length; i++) {
			// link
			var pl = plinks[i];
			var plh = jQuery(pl).attr("href");
			plh = plh.substring(1,plh.length);
			// tab
			var pt = ptabs[i];
			jQuery(pt).attr("id",plh);
		}
		
		// tabs
		jQuery("#content > ul").tabs({navClass:"planitems",panelClass:"planitem",hideClass:"planhide",selectedClass:"active",fx: {opacity: 'toggle', duration:540 }});
	},
	
	/**
	* Initializes the print stuff.
	*/
	initPrintLinks: function() {
		jQuery(".printLink").click(function(){window.print();});
	}
}
jQuery(document).ready(function(){
	ArchHoefe.initialize();
});




