
function Add2Favor() {

  if( navigator.appName == "Microsoft Internet Explorer"
      && parseFloat(navigator.appVersion) >= 4.0 )
    window.external.AddFavorite(location.href, document.title);
  else
    window.alert("Ваш браузер не поддерживает данную функцию. Нажмите Ctrl+D, чтобы добавить в Favorites.");
}

function OpenPhoto( HRef, width, height ) {

 window.open(HRef,'_blank','statusbar=0,toolbar=0,location=0,scrollbars=1,resizable=0,width='+width+',height='+height);

}

function ShowSorry() {

 window.alert("Извините, но пока этот раздел не доступен...");
 return false;

}

var aMonths = new Array( 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь')
var aMonthsG = new Array( 'Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря')
var aDays = new Array('вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб');

function FormatDate(dDate, sFormat) {

  if( !dDate )
    return "";
    
  var Str = "";
  
  if( sFormat == "dd.mm" )
    Str = FormatNumber(dDate.getDate()) + "." + FormatNumber((dDate.getMonth()+1));
  else if( sFormat == "ddd, d mmm" )
    Str = aDays[dDate.getDay()] + ", " + dDate.getDate() + " " + aMonths[dDate.getMonth()].substr(0, 3).toLowerCase();
  else if( sFormat == "ddmmyyyy" )
    Str = FormatNumber(dDate.getDate()) + FormatNumber((dDate.getMonth()+1)) + FormatNumber(dDate.getFullYear());
  else if( sFormat == "yyyy-mm-dd" )
    Str = FormatNumber(dDate.getFullYear()) + "-" + FormatNumber((dDate.getMonth()+1)) + "-" + FormatNumber(dDate.getDate());
  else  
    Str = FormatNumber(dDate.getDate()) + "." + FormatNumber((dDate.getMonth()+1)) + "." + FormatNumber(dDate.getFullYear());

  return Str;
}

function FormatNumber(sNum) {

  re = /^(\d{0,1})(\d{1})$/
  aResult = re.exec(sNum)

  if( aResult
      && !aResult[1] )
    return "0" + parseInt(aResult[2]);

  return sNum;
}

function ChangeDateSelect(sName) {

  var oHidden = ElementByID(sName);
  var oDay = ElementByID(sName + "Day");
  var oMonth = ElementByID(sName + "Month");
  var oYear = ElementByID(sName + "Year");

  var dDate = new Date(oYear.value, oMonth.value-1, oDay.value);
  
  if( dDate.getDate() == parseInt(oDay.value*1)
      && dDate.getMonth()+1 == parseInt(oMonth.value*1)
      && dDate.getYear() == parseInt(oYear.value*1) ) {
      
    oHidden.value = FormatDate(dDate);
    
    //if( oHidden.onchange )
    //  SetValue(oHidden.name, oHidden.value, "string");
    
    window.status = "";
  }
  else {
    window.status = "Внимание: выбрана неверная дата!";
    return;
  }

}

function ElementByID(ID) {

  return document.all ? document.all[ID] : document.getElementById(ID);
}

function validateEmail(Sender){

  var result = "";
  var symbols = '~`!#$%^&*()_+|\=/<>,{}:"\';?[]«»ЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЁЯЧСМИТЬБЮйёцукенгшщзхъэждлорпавыфячсмитьбю';
  var errorSymbols = new Array();
  for(var i=0; i < symbols.length; i++){
    if(Sender.value.indexOf(symbols[i]) != -1){
     errorSymbols[i] = symbols[i];
    }
  }
  
  reg = /[\w-.]+@[\w]+(\.[\w-]+)*/.exec(Sender.value);

  if(errorSymbols.length){
    result = "используется недопустимые символы:\n "+errorSymbols.join('');
  }
  else if(!/@/.exec(Sender.value)){
    result = "нет символа @ в адресе.";
  }
  else if(reg == null || reg[0] != Sender.value){
    result = "неверный формат адреса.\n Пример: prefix.name@sub.domain.com";
  }
  
  if(result){
  
    if(!$(Sender).hasClassName("not-valid-email"))
      $(Sender).addClassName("not-valid-email");
      
    alert("Ошибка! Е-mail указан неверно - "+result);
    Sender.oldBorder = Sender.style.border;
    Sender.setStyle({
      'border': '2px red inset'
    });
  }
  else{
    Sender.style.border = Sender.oldBorder;
    
    if($(Sender).hasClassName("not-valid-email"))
      $(Sender).removeClassName("not-valid-email");
  }
  
  
}

function translit(text, topath) {

  var arrru = new Array ("А","а","Б","б","В","в","Г","г","Д","д","Е","е","Ё","ё","Ж","ж","З","з","И","и","Й","й","К","к","Л","л","М","м","Н","н", "О","о","П","п","Р","р","С","с","Т","т","У","у","Ф","ф","Х","х","Ц","ц","Ч","ч","Ш","ш","Щ","щ","Ъ","ъ","Ы","ы","Ь", "ь","Э","э","Ю","ю","Я","я");
  var arren = new Array ("A","a","B","b","V","v","G","g","D","d","E","e","E","e","Zh","zh","Z","z","I","i","Y","y","K","k","L","l","M","m","N","n", "O","o","P","p","R","r","S","s","T","t","U","u","Ph","f","H","h","C","c","Ch","ch","Sh","sh","Sh","sh","","","I","i","","'","E", "e","Yu","yu","Ya","ya");

  if( typeof(topath) != "undefined"
      && topath ) {

    arrru.push(" "); arren.push("_");
    arrru.push("\,"); arren.push("_");
    arrru.push("№"); arren.push("_");
    arrru.push("\&"); arren.push("_");
    arrru.push("\'"); arren.push("_");
    arrru.push("\""); arren.push("_");
  }

  var textout = text;

  for(var i = 0; i < arrru.length; i++) {

    var $litnow = new RegExp(arrru[i], "g");

    textout = textout.replace($litnow, arren[i]);
  }

  return textout;
}

function topath(text) {

  return translit(text, 1).toLowerCase();
}
