$(document).ready(function() { 
	// Tabs
	$('#tabs').tabs();	
	$('form input, form textarea').addClass('ui-corner-all');
	$('.submit').hover(
			function() { $(this).addClass('ui-state-hover'); },
			function() { $(this).removeClass('ui-state-hover'); }
		);
	/** Sliders **/
	var freelanceSlideEvent = function(event, ui) {
		if(!ui)
			var val = $('#freelanceExperience').slider('value');
		else
			var val = ui.value;
		
		val = Math.round(val);
		if(val < 10)
			$('#expLabel').html(val + " годин" + (val > 1 ? "и" : "а"));
		else
			$('#expLabel').html("цял живот ;)");
		
		$('#cexperience').val(val);
	}
	$('#freelanceExperience').slider({
		'max':10,
		'min':1,
		'animate':true,
		'orientation':'horizontal',
		'slide':freelanceSlideEvent,
		'change':freelanceSlideEvent
	});
	$('#freelanceExperience').slider('value',1);

	
	var teamSizeSlideEvent = function(event, ui) {
		if(!ui)
			var val = $('#teamSize').slider('value');
		else
			var val = ui.value;
		
		val = Math.round(val);
		if(val <= 20)
			$('#teamSizeLabel').html(val + " човек" + (val > 1 ? "а" : ""));
		else
			$('#teamSizeLabel').html("над 20 човека");
		
		$('#iTeamSize').val(val);
	}
	$('#teamSize').slider({
		'max':21,
		'min':1,
		'orientation':'horizontal',
		'animate':true,
		'slide':teamSizeSlideEvent,
		'change':teamSizeSlideEvent
	});
	$('#teamSize').slider('value',1);

	// Forms
    $('form').each(function(k,elm) {  submitForm(elm); });
    function submitForm(formEl) {
    	$(formEl).validate({
    		errorClass: "error",
    		errorElement: "em",
    		highlight: function(element, errorClass) {
    			if($(element).is(":radio") || $(element).is(":checkbox")) {
    				return false;
    			}
    			
    		    $(element).fadeIn(function() {
    		      $(element).addClass("ui-state-error");
    		    })
    		},
    		unhighlight: function(element, errorClass) {
    		   $(element).removeClass("ui-state-error");
    		},
    		messages: {
    			name: "Моля въведете име",
    			email: "Моля въведете e-mail",
    			experience: "Моля изберете опит",
    			url: "Моля въведете уеб адрес",
    			studioname: "Моля въведете име на компанията",
    			teamsize: "Моля изберете размер на екипа",
    			subscriptiontype: "Моля изберете за какво да Ви информираме",
    			shopname: "Моля въведете име на магазина или компанията Ви.",
    /*						initialrelease: 
    						regularpr*/
    			text: "Моля въведете Вашият въпрос"
    		},
    		errorPlacement: function(error, element) {
    			if ( element.is(":radio") ) {
    				error.insertAfter( element.parent().prev() );
    			}
    			else if ( element.is(":checkbox") )
    				error.appendTo ( element.next() );
    			else {
    				var appendElm = element.next().next();
    				if(appendElm.length > 0)
    					error.appendTo( appendElm );
    				else
    					error.insertAfter(element);
    			}
    			error.addClass("ui-state-error-text");
    			error.css('opacity',0.0);
    			error.fadeTo(700,0.7);
    		},
    		submitHandler: function(form) {
    		    var options = {  
    		            beforeSubmit:  function(formData, jqForm, options) {
    		        		if(jqForm.valid() == false)
    		            		return false;
    		        		
    						$("#dlgSending").dialog({
    							bgiframe: true,
    							modal: true,
    							resizable:false,
    							buttons: {}
    						});
							$("#dlgSending").dialog('open');
							$("#dlgSending").dialog('disable');
    		    		}, 
    		            success: function() {
    		    			$('#dlgSending').dialog('close');
    						$("#dlgSubscribed").dialog({
    							bgiframe: true,
    							modal: true,
    							resizable:false,
    							buttons: {
    								Ok: function() {
    									$(this).dialog('close');
    								}
    							}
    						}).dialog('open');
    		    		},  
    		            url:       "form.php", 
    		            type:      'post',  
    		            resetForm: true
    		        }; 
    			$(form).ajaxSubmit(options);
    			ga_track('/form/'+$(form.elements['type']).val()+'/');
    		}
    	});
    }
    // ugly browser fix (only in the closed beta test page...)
    if($.browser.msie && parseInt($.browser.version) == 6) {
    	//punch IE6 in the face to fix its rendering problems
    	$('#tabs-home fieldset p').css('display','none');
    	$('#tabs-home fieldset p').css('display','block');
    }
});

// GA integration
function ga_track(uri) {
	if(pageTracker) {
		pageTracker._trackPageview(uri); 
	}
}
// GA events logger
$(document).ready(function() {
	$('#tabs .ui-tabs-nav a').each(function(k, elm) {
		$(elm).click(function() {
			var tab = $(elm).attr('href').replace("#tabs-","");
			if(tab != "home")
				ga_track("/tabs/" +  tab + "/");
			else
				ga_track("/");
		});
	});
});