$(document).ready(function () {
	AlignLabels();
	LinkPopups();
	HandleDefaultValues();
	RenderSliderGallery();

	setTimeout(function(){
		if($(".error_message").length != 0){
			$.scrollTo(".error_message");
		}
	}, 250);
	
	$("a.group").fancybox({
		'speedIn':		300,
		'speedOut':	300,
		'overlayColor':	'#000',
		'overlayOpacity':	0.7
	});
	
	$(window).scroll(function(e){
		/*var scrolltop = $(window).scrollTop();
		var endpos = 135;
		if(scrolltop > 0){
			var topval = endpos - scrolltop;
			if(topval < 130){
				topval = 130;
			}

			if(topval > 6){
				$(".header_container").css("top", "0px");
			}else{
				$(".header_container").css("top", "5px");
			}
			
			$(".site_content .menu_container").css("top", topval + "px");
		}else{
			$(".site_content .menu_container").css("top", "");
			$(".header_container").css("top", "5px");		
		}*/
	});
});

function RenderSliderGallery(target_container){
	$((target_container ? target_container : "") + ' .slides').cycle({ 
		delay:  -2000, 
		timeout:  20000, 
		speed: 1000,
		fx: 'scrollHorz',
		pager: (target_container ? target_container : "") + ' .pager',
		pagerAnchorBuilder: pagerFactory
	});
}

function pagerFactory(idx, slide) {
	return '<a href="#"></a>';
}

function RenderAnchorAnimation(target_container){
	$((target_container ? target_container : "") + " .scroll").click(function(event){
		//prevent the default action for the click event
		event.preventDefault();

		//get the full url - like mysitecom/index.htm#home
		var full_url = this.href;

		//split the url by # and get the anchor target name - home in mysitecom/index.htm#home
		var parts = full_url.split("#");
		var trgt = parts[1];

		if(trgt == "home"){
			$.scrollTo(0, 500);
		}else{
			$.scrollTo(($("#anchor_" + trgt).offset().top - 150), 500);
		}
	});
}

function RenderAjaxContent(){
	LinkPopups(".ajax_content_container");
	HandleDefaultValues(".ajax_content_container");
}

function HandleDefaultValues(target_container){
	var inputitems = $((target_container ? target_container : "") + " input[type='text'], " + (target_container ? target_container : "") + " texture");
	inputitems.focus(function(e){
		var obj = e.srcElement;
		$(obj).removeClass("defaultValue");
	});

	inputitems.blur(function(e){
		var obj = e.srcElement;
		RenderDefaultValue(obj);
	});

	inputitems.each(function(i, obj){
		RenderDefaultValue(obj);
	});
}

function RenderDefaultValue(obj){
 //  && $(".error_message").length === 0 <<---- for testing if form already been posted
	if($(obj).attr("onfocus") != undefined && $(".error_message").length === 0){
		if(obj.defaultValue && (obj.value == obj.defaultValue || obj.value == "")){
			$(obj).addClass("defaultValue");
		}
	}
}

function LinkPopups(target_container){
	// remove the '.ajax' if all links should be ajax default and not just the ones with 'ajax' class

	$((target_container ? target_container : "") + " a.ajax").not(".nopopup, .inline, [target='_blank']").fancybox({
		'hideOnContentClick':false,
		'onComplete':function(){
			RenderAjaxContent();
		},
		'padding':0
	});
	
	$((target_container ? target_container : "") + " a").each(function(i, obj){
		if(obj.href.indexOf("#") > -1){
			$(obj).addClass("scroll");
		}
	});
	
	RenderAnchorAnimation(target_container);
}

function AlignLabels(){
	// align form labels
	var max = 0;
	$("label").each(function(){
	    if ($(this).width() > max)
	        max = $(this).width();    
	});
	$("label").width(max);
}

function PostData(url, data, callback, sync){
	$.ajax({
		type: 'post',
		url: url,
		dataType: 'html',
		async: !sync,
		data: data,
		success: function(data){
			callback(data);
		}
	});
}

jQuery.fn.extend({ 
        disableSelection : function() { 
                return this.each(function() { 
                        this.onselectstart = function() { return false; }; 
                        this.unselectable = "on"; 
                        jQuery(this).css('user-select', 'none'); 
                        jQuery(this).css('-o-user-select', 'none'); 
                        jQuery(this).css('-moz-user-select', 'none'); 
                        jQuery(this).css('-khtml-user-select', 'none'); 
                        jQuery(this).css('-webkit-user-select', 'none'); 
                }); 
        } 
});
