/**
 * Initialize $.CORE in case it's not present
 */
if(typeof $.CORE == "undefined") {
	$.CORE= Object;
};

/**
 * Dummy object
 */
$.CORE.dummyobject = {
	construct : function() {
	},
	
	dummyFunction : function() {
	}
};

/**
 * Forms
 */
$.CORE.forms = {
	construct : function() {
		this.execFormCheckerPlugin();
	},
	
	execFormCheckerPlugin : function() {
		var $formRef = $('form.formGenerated');
		if($formRef.length) {
        	$formRef.formChecker();
		}
	}
};

/**
 * Extra classes
 */
$.CORE.extraclasses = {
	construct : function() {
		this.execExtraClasses();
	},
	
	execExtraClasses : function() {
		$('.homebox .item:last-child').addClass('last');
		$('#langnav li:last-child').addClass('last');
		$('#mainmenu ul li:last-child').addClass('last');
	}
};


/**
 * Superfish
 */
$.CORE.superfish = {
	construct : function() {
		this.execSuperfish();
	},
	
	execSuperfish : function() {
		$('#mainmenu').superfish({
			dropShadows: false,
			autoArrows: false  
		});
	}
};

/**
 * Cycle banner
 */
$.CORE.banner = {
	construct : function() {
		this.execBanner();
	},
	
	execBanner : function() {
		
		$('#slidecontainer').cycle({
				fx:'fade',
				speed:500, 
				timeout:5000,
				startingSlide: 0,
				pager:'#banner_pager',
				pagerAnchorBuilder: function(idx, slide) {
					var url = $('.banner_info_link',slide).attr('href');
					var pagertitle = $('.pagertext span.title',slide).text();
					var pagersubtitle = $('.pagertext span.subtitle',slide).text();
					return '<a id="pager'+idx+'" href="'+url+'"><span class="title">'+pagertitle+'</span><span class="subtitle">'+pagersubtitle+'</span></a>';
				}
		});
		
		$('#banner_pager a').bind({
		   	click: function(event) {
				if(event.originalEvent){ 
					window.location=$(this).attr('href');
				}else{
					event.preventDefault();
				};
			},
			mousemove: function(event) {
				$(this).click();
		  	}
			
		});

	}
};


/**
 * Executes when the DOM has been fully loaded
 */
$(document).ready(function() {
	$.CORE.forms.construct();
	$.CORE.superfish.construct();
	$.CORE.banner.construct();
	$.CORE.extraclasses.construct();
});
