var autocomplete_graduates =[];

$(document).ready(function() {
	
	BindBehaviours(this);

//	var href = "general/news_importer.php";
//	var data = {};
//	var ajax = "#news_importer";
//	AjaxPost(href, data, ajax);
});

function BindBehaviours(context) {

	$('#gallery a').lightBox();

	$("#autocomplete_graduates", context).autocomplete(autocomplete_graduates, {
		multiple: true,
		mustMatch: true,
		matchContains: true,
		minChars: 0,
		scroll: true,
		formatItem: function(rowData, iPos, nMax, searchTerm) {
			return iPos + "/" + nMax + ": " + rowData.name;
		},
		formatResult: function(rowData) {
			return rowData.name;
		}
	});

    jQuery('#mycarousel').jcarousel({
        auto: 5,
        wrap: 'last',
        initCallback: mycarousel_initCallback
    });
	
	$("a.form-popup", context).click(function(e) {
		e.preventDefault();
		return false;
	});
	
	$("[name=form-registration]", context).unbind("click").click(function(e) {
		$("#form-registration").dialog("option", "e", e).dialog("open");
		e.preventDefault();
		return false;
	});
	
	$("[name=form-support]", context).unbind("click").click(function(e) {
		$("#form-support").dialog("option", "e", e).dialog("open");
		e.preventDefault();
		return false;
	});
	
	$("#form-registration, #form-support", context).dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 700,
		resizable: false
	});

	$("#dateFrom", context).datepicker({ 
		dateFormat: 'yy-mm-dd', 
		changeMonth: true, 
		changeYear: true, 
//		showButtonPanel: true, 
		buttonImage: '../img/calendar_ico.gif',
		buttonImageOnly: true, 
		showOn: 'both', 
		firstDay: 1,
		minDate: new Date(1900, 0, 1),
//		maxDate: '+1y',
		yearRange: '1900:2100',
		beforeShow: function(input) { 
			var d = '+20y';
			var toValidate = $("#dateTo").val();
			if(toValidate.length != 0)
			{
				try
				{
					d = $.datepicker.parseDate('yy-mm-dd', toValidate);
				}
				catch(ex)
				{
				}
			}
			$(this).datepicker('option', 'maxDate', d);
		}
	});

	$("#dateTo", context).datepicker({ 
		dateFormat: 'yy-mm-dd', 
		changeMonth: true, 
		changeYear: true, 
//		showButtonPanel: true, 
		buttonImage: '../img/calendar_ico.gif',
		buttonImageOnly: true, 
		showOn: 'both', 
		firstDay: 1,
//		minDate: new Date(1900, 0, 1),
		maxDate: '+20y',
		yearRange: '1900:2100',
		beforeShow: function(input) { 
			var d = new Date(1900, 0, 1);
			var toValidate = $("#dateFrom").val();
			if(toValidate.length != 0)
			{
				try
				{
					d = $.datepicker.parseDate('yy-mm-dd', toValidate);
				}
				catch(ex)
				{
				}
			}
			$(this).datepicker('option', 'minDate', d);
		}
	});
}

function isValidSearchForm(f) {
	var isValid = true;

	var toValidate = $(f).val();
	if(toValidate.length < 3)
	{
		isValid = false;
	}

	return isValid;
}

function mycarousel_initCallback(carousel)
{
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

function ShowMore() {
	$("#ShowMore").css("display", "none");
	$("#desc").css("display", "block");
}

function AjaxPost(href, data, ajax)
{
	href = (href != "" && href != "#") ? href : window.location.href;
	$.ajax({
		cache: false,
		url: href,
		data: data,
		beforeSend: function(XMLHttpRequest) { onAjaxSend(XMLHttpRequest, ajax); },
		success: function(data, textStatus) { onAjaxSuccess(data, textStatus, ajax); },
		error: function(XMLHttpRequest, textStatus, errorThrown) { onAjaxError(XMLHttpRequest, textStatus, errorThrown, ajax); },
		complete: function(XMLHttpRequest, textStatus) { onAjaxComplete(XMLHttpRequest, textStatus, ajax); }
	});
}

function onAjaxSend(XMLHttpRequest, ajax)
{
}

function onAjaxSuccess(data, textStatus, ajax)
{
	var rerenderArr = ajax.split(",");
	for(var i = 0; i < rerenderArr.length; i++)
	{
		rerender = rerenderArr[i];

		$(rerender).html($(data).find(rerender).html());
	}
}

function onAjaxError(XMLHttpRequest, textStatus, errorThrown, ajax) 
{
	var rerenderArr = ajax.split(",");
	for(var i = 0; i < rerenderArr.length; i++)
	{
		rerender = rerenderArr[i];

		$(rerender).html("");
	}
}

function onAjaxComplete(XMLHttpRequest, textStatus, ajax)
{
}

function ValidateForm() 
{
	var isValid = true;
	
	isValid = isValidForm();
	
	if(!isValid)
	{
		$(".cms-error-block").slideDown();
	}
	else
	{
		$(".cms-error-block").slideUp();
	}

	return isValid;
}
