// _____________________________________________________________________________
// Project: SD Core (JS)
// Module: SD Core - Стандартный набор независимых функций
// Date create: May 2009 year
// Date last change: June 2009 year
// Author: Beglec
// обязательное подключение jQuery. www.jquery.com
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// функции конвертации
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// _____________________________________________________________________________
function sd_FTS(_number,_decimal,_separator)// Преобразует число в строку формта 1$_separator000$_separator000.$_decimal
// _number - число любое
// _decimal - число знаков после запятой
// _separator - разитель разрядов
{
var decimal=(typeof(_decimal)!='undefined')?decimal:2;
var separator=(typeof(_separator)!='undefined')?separator:'';
var s=parseFloat(_number,decimal,'.',decimal);
return s;
}
// _____________________________________________________________________________
function sd_ITS(_number)// От Integer To String
{ return sd_FTS(_number,0); }// _number - число
// _____________________________________________________________________________
function sd_NTS(_number)// Number To String (1 000 000)
{ return sd_FTS(_number,0,' '); }// _number - число
// _____________________________________________________________________________
function sd_CTS(_number)// Currency To String (100 000 000.00)
{ return sd_FTS(_number,2,' '); }// _number - число
// _____________________________________________________________________________
function sd_ITM(_number)// Integer To Megabyte (_number/1024)
// _number - число
{
var r='';
return r;
}
// _____________________________________________________________________________
function sd_DTS(_date,_format)//  Date To String - возвращает дату в заданном формате
// _date - дата в UNIX формате (целое число) или в формате TIMESTAMP
// _format - требуемый формат вывода
{
var r='';
return r;
}
// _____________________________________________________________________________
function sd_week_day(_date,_first)// возвращает день недели в русской кодировке
// _date - дата в UNIX формате
// _first - 1(true) Первая буква будет большой
{
var r='';
return r;
}
// _____________________________________________________________________________
function sd_month(_month,_p,_first)// правильно формирует месяц
// _month - номер месяца
// _p - падеж. 1 - Именительный, >1 Винительный
// _first - 1(true) Первая буква будет большой
{
var r='';
return r;
}
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// функции строковые
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// _____________________________________________________________________________
function sd_str_length(_string)// возвращает длину строки
{ return _string.length; }// _string - строка
// _____________________________________________________________________________
function sd_str_pos(_string,_mask)// возвращает true если в строке $_string есть искомые слова $_mask
// _string - строка, где требуется производить поиск
// _mask - перечень слов требующие для поиска, разделителем является |
{
var r='';
r=_string;
if (r.indexOf(_mask)+1)
{ 
}
else
{ r=0;
}
return r;
}
// _____________________________________________________________________________
function sd_str_replace(_string,_search,_replace,_mode,_word)// Замена подстроки в строке
// _string - строка в которой будет что-то изменяться
// _search - строка поиска
// _replace - строка замены
// _mode - режимы поиска i,g
// _word - резать по словам
{
var mode=(typeof(_mode)!='undefined')?_mode:'gim';// какие ключи используются
var word=(typeof(_word)!='undefined')?'w':'';
var search_=(word=='w')?'\\b'+_search+'\\b':_search;// если требуется искать только по границам слов
var reg=new RegExp(search_,mode);
var s=_string;
s=s.replace(reg,_replace);
return s;
}
// _____________________________________________________________________________
function sd_str_copy(_string,_index,_count)// показывает первоначальный отрезок из текста/строки
// _text - текст который требуется обрезать
// _index - с какой позиции строки / текста вырезать
// _count - кол-во показываемых символов
{
var s='';
return s;
}
// _____________________________________________________________________________
function sd_str_trim(_string)// обрезает пробелы как справа, так и слева
{ return _string.replace(' ',''); }
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// функции разные
// ШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШШ
// _____________________________________________________________________________
function sd_size_array(_array)// возвращает кол-во элементов в массиве
{
var r=0;
if (typeof(_array)=='array') { r=_array.length; }// если передаваемый параметр является массивом, то применяем стандартную функцию
if (typeof(_array)=='object')// если передаваемый параметр является объектом, то применяет цикл в пересчете свойств
{ for (var key in _array) { r++; }// пройтись по всем свойствам объекта и читать их
}
return r;
}// _array - массив
// _____________________________________________________________________________
function sd_random(_max,_min)// возвращает случайное число между _max и min (включая их)
// _max - максимальное значение
// _min - минимальное значение
{
var max_=(typeof(_max)!='undefined')?parseInt(_max):1;
var min_=(typeof(_min)!='undefined')?parseInt(_min):0;
r=Math.floor(Math.random()*(max_-min_+1))+min_;
return r;
}
// _____________________________________________________________________________
function sd_term(_count_sec)// пересчет секунд в дни, часы, минуты. Как правило это (сейчас - какая либо дата/время)
// _count_sec - передаем количество секунд которые требуется преобразовать
{
var s=0;
return s;
}
// _____________________________________________________________________________
function sd_password_new(_length,_digital,_lchar,_rchar)// генерация пароля
// _legnth - длина пароля
// _digital - 1 разрешена генерация цифр в пароле
// _lchar - 1 разрешена генерация латинских букв в пароле
// _rchar - 1 разрешена генерация русский букв в пароле
{
var s='';
return s;
}
// _____________________________________________________________________________
function sd_plural(_number,_form1,_form2,_form5)// склонение существительных с числительными, пример использования "В Вашем почтовом ящике $n ".sd_plural($_number, "письмо", "письма", "писем");
// _number - любое число
// _form1 - первая форма склонения
// _form2 - вторая форма склонения
// _form5 - третья форма склонения
{
var result='';
return result;
}
// _____________________________________________________________________________
function sd_ru_to_lat(_text)// перевод русского текста в латиницу
// _text - текст который требуется перевести в латиницу
{
var result='';
return result;
}
// _____________________________________________________________________________
function sd_site_check(_link)// проверка правильности написания сайта
// _link - ссылка на сайт
{
var r='';
return r;
}
// _____________________________________________________________________________
function sd_email_check(_email,_required)// проверяет и возвращает откорректированный email или ошибку
// _email - входная строка с указанием email адреса
// _required - true (1) - обязательное заполнение email
{
var email=_email;
email=email.replace(/^\s+|\s+$/g,'');
var r=(/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);// по умолчанию email введен корректно
var required=(typeof(_required)!='undefined')?parseInt(_required):0;// true - если требуется ввести обязательно
if ((required)&&(email==''))// если ввод email обязательно, и ничего не введено, то
{ r=false;// email введен не верно
}
return r;// возвращаем результатат
}