//jQuery.noConflict();

jQuery(document).ready(function($) {

	$('.newsletters').click(function() {
		jQuery('#lb').modal();
        return false;
    });

	$('.click_me').bind('click',function() {
		$(this).children('p').slideToggle("slow");
	});

	if (navigator.appName != 'Opera') {
		$('.meny_take_avay').jScrollPane({showArrows:true});
	}

	$("#carousel-container").waterwheelCarousel({
		startingWaveSeparation: 0,
		centerOffset: 0,
		flankingItems: 2
	});

	$("#carousel-container").waterwheelCarousel({
		startingWaveSeparation: 0,
		centerOffset: 0,
		flankingItems: 2
	});

	/*
	$('.form-style button').click(function (e) {
		$('#popup_registration_request_sent').modal();
		return false;
	});
	*/

	/*
	$('.form2-style button').click(function (e) {
		$('#popup_registration_confirmed').modal();
		return false;
	});
	*/


	function click(i) {
		$("#gallery_" +i).fadeIn("slow").css('display', 'block').addClass('gallery_container');
		$("#click_"+i).addClass('active');
		for (k = 0; k < 4; k++) {
			if (k != i) {
				$("#click_" + k).removeClass('active');
				$("#gallery_" + k).fadeOut("fast").css('display', 'none');
			}
		}
	}

	ajaxCall = function (_url, _data, cfn_success, cfn_error) {
		var ajaxCallUrl = '';

		if(_url.substring(0,5) == 'http') {
			ajaxCallUrl = _url;
		} else {
			ajaxCallUrl = commonconfig["urlBase"] + _url;
		}

		var opts = {
			url: ajaxCallUrl,
			type: "POST",
			data: _data,
			dataType: 'json',
			async: true,
			success: function (data, status) {
				//alert('status: ' + status + ', data: ' + data);
				if (cfn_success != undefined) {
					cfn_success(data);
				}
				return false;
			},
			error: function (data, status, error) {
				//alert('status: ' + status + ', data: ' + data + ', error: ' + error);
				if (cfn_error != undefined) {
					cfn_error(data);
				}
				return false;
			}
		};
		$.ajax(opts);
	}

	sendMessage = function () {
		data = {
				name: $("#sm_name").val(),
				email: $('#sm_email').val(),
				message: $('#sm_message').val(),
				auth: $('#sm_auth').attr('checked')
		};
		ajaxCall('business/sendmessage', data, sendMessageOnSuccess)
	}

	sendMessageOnSuccess = function (data) {
		if (data.result == 0) {
			$('#message_sent_ok').show();
			$('#sm_form').hide();
			// Resetting contact form
			$('#sm_error_message').hide();
			$('#sm_name').parent().removeClass('error');
			$('#sm_email').parent().removeClass('error');
			$('#sm_auth').removeClass('chError');
			$('#sm_name').val('');
			$('#sm_email').val('');
			$('#sm_auth').attr('checked', false);
			$('#sm_message').val('');
			restoreDefaultValuesIntoForm();
		} else {
			restoreDefaultValuesIntoForm();
			$('#sm_error_message').show();
			for (i in data.errors) {name
				if (data.errors[i] == 101) {
					$('#sm_name').parent().addClass('error');
				}
				if (data.errors[i] == 102) {
					$('#sm_email').parent().addClass('error');
				}
				if (data.errors[i] == 104) {
					$('#sm_auth').addClass('chError');
				}
			}
		}
	}

	$('#sm_btn_send').live('click', function () {
		cleanDefaultValuesFromForm(this);
		sendMessage();
	});

	register = function () {
		data = {
				name: $("#r_name").val(),
				lastname: $("#r_lastname").val(),
				email: $('#r_email').val(),
				auth: $('#r_auth').attr('checked')
		};
		ajaxCall('business/register', data, registerOnSuccess)
	}

	$('#ok').live('click', function () {
		$('#sm_form').show();
		$('#message_sent_ok').hide();
	});

	registerOnSuccess = function (data) {
		if (data.result == 0) {
			// Resetting register form
			$('#r_error_message').hide();
			$('#r_name').parent().removeClass('error');
			$('#r_lastname').parent().removeClass('error');
			$('#r_email').parent().removeClass('error');
			$('#r_auth').removeClass('chError');
			$('#r_name').val('');
			$('#r_lastname').val('');
			$('#r_email').val('');
			$('#r_auth').attr('checked', false);
			restoreDefaultValuesIntoForm();
			$('#popup_registration_confirmed').modal();
		} else {
			restoreDefaultValuesIntoForm();
                        $('#r_name').parent().removeClass('error');
        		$('#r_lastname').parent().removeClass('error');
			$('#r_email').parent().removeClass('error');
			$('#r_auth').removeClass('chError');
        		$('#r_email').parent().removeClass('error');
                        $('#r_error_message').hide();
                        $('#r_email_used_error_message').hide();
                        showEmptyErrorMessage = false;
                        showEmailUsedErrorMessage = false;
			for (i in data.errors) {
				if (data.errors[i] == 111) {
					$('#r_name').parent().addClass('error');
                                        showEmptyErrorMessage = true;
				}
				if (data.errors[i] == 112) {
					$('#r_lastname').parent().addClass('error');
                                        showEmptyErrorMessage = true;
				}
				if (data.errors[i] == 113) {
					$('#r_email').parent().addClass('error');
                                        showEmptyErrorMessage = true;
				}
				if (data.errors[i] == 114) {
					$('#r_auth').addClass('chError');
                                        showEmptyErrorMessage = true;
				}
				if (data.errors[i] == 115) {
					$('#r_email').parent().addClass('error');
                                        showEmailUsedErrorMessage = true;
				}
			}
                        if (showEmptyErrorMessage) {
                            $('#r_error_message').show();
                        } else if (showEmailUsedErrorMessage) {
                            $('#r_email_used_error_message').show();
                        }
		}
	}

	$('#r_btn_register').live('click', function () {
		cleanDefaultValuesFromForm(this);
		register();
	});

	// Default values swap and validation

	var input_validation_fns = new Array();

	validation_not_empty = function (element) {
		//alert('validating #' + $(element).attr('id') + ' = "' + $(element).val() + '"');
		error_class = 'error';
		if ($(element).val() == '') {
			$(element).parent().addClass(error_class);
		} else {
			$(element).parent().removeClass(error_class);
		}
	}
	
	validation_email_not_valid = function (element) {
		//alert('validating #' + $(element).attr('id') + ' = "' + $(element).val() + '"');
		error_class = 'error';
		email_filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		if ($(element).val() == '' || !email_filter.test($(element).val())) {
			$(element).parent().addClass(error_class);
		} else {
			$(element).parent().removeClass(error_class);
		}
	}

	var input_default_values = new Array();

	initInput = function (input_id, default_value, validation_fn) {
		input_default_values[input_id] = default_value;
		if (validation_fn != undefined) {
			input_validation_fns[input_id] = [validation_fn];
		}
		if ($('#' + input_id).val() == '') {
			$('#' + input_id).val(default_value);
		}
		$('#' + input_id).unbind('focusin');
		$('#' + input_id).unbind('focusout');
		$('#' + input_id).live('focusin', inputFocusin);
		$('#' + input_id).live('focusout', inputFocusout);
	}

	inputFocusin = function () {
		if ($(this).val() == input_default_values[$(this).attr('id')]) {
			$(this).val('');
		}
	}

	inputFocusout = function () {
		element_id = $(this).attr('id');
		if (input_validation_fns[element_id] != undefined) {
			//for (i in input_validation_fns[element_id]) {
				//validation_fn = input_validation_fns[element_id][i];
				validation_fn = input_validation_fns[element_id][0];
				validation_fn(this);
			//}
		}
		if ($(this).val() == '') {
			$(this).val(input_default_values[$(this).attr('id')]);
		}
	}

	initPasswordInput = function (input_id, default_value, error_check_fn) {
		input_default_values[input_id] = default_value;
		if ($('#' + input_id).val() == '') {
			$('#' + input_id).hide();
			$('#' + input_id).val(default_value);
			$('#' + input_id + '_text').val(default_value);
			$('#' + input_id + '_text').show();
		} else {
			$('#' + input_id).show();
			$('#' + input_id + '_text').hide();
		}
		$('#' + input_id).unbind('focusin');
		$('#' + input_id).unbind('focusout');
		$('#' + input_id + '_text').unbind('focusin');
		$('#' + input_id + '_text').unbind('focusout');
		$('#' + input_id).live('focusin', passwordInputFocusin);
		$('#' + input_id).live('focusout', passwordInputFocusout);
		$('#' + input_id + '_text').live('focusin', passwordInputTextFocusin);
		$('#' + input_id + '_text').live('focusout', passwordInputTextFocusout);
	}

	passwordInputFocusin = function () {
		if ($(this).val() == input_default_values[$(this).attr('id')]) {
			$('#' + $(this).attr('id') + '_text').hide();
			$(this).val('');
		}
	}

	passwordInputFocusout = function () {
		if ($(this).val() == '') {
			$(this).hide();
			$(this).val(input_default_values[$(this).attr('id')]);
			$('#' + $(this).attr('id') + '_text').val(input_default_values[$(this).attr('id')]);
			$('#' + $(this).attr('id') + '_text').show();
		}
	}

	passwordInputTextFocusin = function () {
		$(this).hide();
		$('#' + $(this).attr('id').substr(0, $(this).attr('id').length - 5)).val('');
		$('#' + $(this).attr('id').substr(0, $(this).attr('id').length - 5)).show();
		$('#' + $(this).attr('id').substr(0, $(this).attr('id').length - 5)).focus();
	}

	passwordInputTextFocusout = function () {
	}

	cleanDefaultValuesFromForm = function (button) {
		$form = $(button).parents('form');
		for (input_id in input_default_values) {
			if ($('#' + input_id, $form).val() == input_default_values[input_id]) {
				$('#' + input_id, $form).val('');
			}
		}
	}

	restoreDefaultValuesIntoForm = function () {
		for (input_id in input_default_values) {
			if ($('#' + input_id).val() == '') {
				$('#' + input_id).val(input_default_values[input_id]);
			}
		}
	}

});

function hidevideo() {
	if ($('.video') != null && $('.video') != undefined) {
		$('.video').hide();
	}
}

function showvideo() {
	if ($('.video') != null && $('.video') != undefined) {
		$('.video').show();
	}
}
