/* 
Jquery Functions v1.1.0 (WEBDELO)

Описание: Библиотека многоцелевых функций компании WebDelo.
Разработчик: Попов Андрей Юрьевич
Дата: 28.06.2010
Сайт: www.webdelo.org
Требования: 
 - jquery v1.4.2
 - jquery.webdelo.modal.js v1.1.0
*/ 

// функция обновления капчи
function webdeloGetCaptcha(imageId) {
	// картинки статуса
	$('#'+imageId).attr('src', '/images/loadind.gif').delay(1500);
	$('#'+imageId).attr('src', '/captcha/captcha.php?'+webdeloGetRandomInt(1, 999999));
}

// функция генерации случайного числа в указанной границе
function webdeloGetRandomInt(min, max) {
	return Math.floor(Math.random() * (max - min + 1)) + min;
}

// функция задержки скрипта
$.fn.delay = function( time, name ) {
	return this.queue( ( name || "fx" ), function() {
	var self = this;
	setTimeout(function() { $.dequeue(self); } , time );
	} );
};

// функция вывода сообщения
webdeloMessage = function(message, okButton){
	// выводим сообщение в модальном окне
	var cnfg = new webdeloModal.Settings(); 
	cnfg.currentType=''; 
	cnfg.effectSlow = true;
	// проверяем, требуется ли вывод кнопки OK
	if (okButton) {
		cnfg.isShowBtnOk = true;
	}
	// вызываем класс вызова модального окна
	webdeloModal.open(message, cnfg);
	return true;
}

// функция вывода сообщения
webdeloError = function(message){
	// выводим сообщение в модальном окне
	var cnfg = new webdeloModal.Settings(); 
	cnfg.effectSlow = true;
	cnfg.currentType = 'Error';
	cnfg.isShowBtnOk = true;
	// вызываем класс вызова модального окна
	webdeloModal.open(message, cnfg);
	return true;
}

// функция вывода сообщения
webdeloSuccess = function(message, okButton){
	// выводим сообщение в модальном окне
	var cnfg = new webdeloModal.Settings(); 
	cnfg.effectSlow = true;
	cnfg.currentType = 'Green';
	cnfg.isShowBtnOk = true;
	// вызываем класс вызова модального окна
	webdeloModal.open(message, cnfg);
	return true;
}

// функция вывода лудинга
webdeloLoading = function(message){
	// значение текста по умолчанию
	message = message || 'Подождите, данные обрабатываются на сервере...';
	// выводим сообщение в модальном окне
	var cnfg = new webdeloModal.Settings(); 
	cnfg.currentType='Loading'; 
	cnfg.effectSlow = true;
	cnfg.isShowBtnOk = false;
	// вызываем класс вызова модального окна
	webdeloModal.open(message, cnfg);
	return true;
}

// функция скрывает сообщение
webdeloResetMessage = function(){
	// закрываем модальное окно
	webdeloModal.close();
	return true;
}

// функция проверки валидности майла по шаблону
webdeloCheckMail = function(email) {
	// рекурсивное выражение для проверки
	var reg_mail = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i;
	if (reg_mail.exec(email) == null) {
		return false;
	} else {
		return true;
	}
}

// функция копирования значений элементов в другие элементы
webdeloCopyElementsValue = function(elements, subname){
	// проверяем в цикле все указанные в массиве формы
	$.each(elements, function (form, type) {
		// действия для компонента input-text
		if (type=='text' || type=='textarea') {
			$("#"+subname+form).html($("#"+form).val());
		}
		// для селектов
		if (type=='select') {
			$("#"+subname+form).html($("#"+form+"  option:selected").html());
		}
		// для чекбоксов
		if (type=='checkbox') {
			var val = $("#"+form).attr('checked');
			if (val) {
				val = "Да";
			} else {
				val = "Нет";
			}
			$("#"+subname+form).html(val);
		}
		// для HTML элементы
		if (type=='html') {
			$("#"+subname+form).html($("#"+form).html());
		}
	});
}


