/**
 * JsCommon: JavaScript Common functions
 * @author Mikhail Eryomin, tualin@bk.ru
*/


d=window.document;

// названия месяцев
var month = new Array();
month[1]  = "января";
month[2]  = "февраля";
month[3]  = "марта";
month[4]  = "апреля";
month[5]  = "мая";
month[6]  = "июня";
month[7]  = "июля";
month[8]  = "августа";
month[9]  = "сентября";
month[10] = "октября";
month[11] = "ноября";
month[12] = "декабря";



//////////////////////////////////////////////////////////////////////////////////
// ПОЛУЧЕНИЕ ПАРАМЕТРОВ ИЗ URL
function GET(name){
  var pname=name+'=';
  var ps=window.location.search;
  if (ps.length>0){
    var start=ps.indexOf(pname);
    if (start!=-1) {
      start += pname.length;
      var end=ps.indexOf('&', start);
      if (end==-1)end=ps.length;
        return unescape(ps.substring(start, end));
      }
    }
  return 0;
}

// ЕСТЬ ЛИ ВЫБРАННЫЙ ПАРАМЕТР В URL'Е?
function isGET(name){
  var pname=name+'=';
  var ps=window.location.search;
  if (ps.length>0){
    var start=ps.indexOf(pname);
    if (start!=-1) {
      start += pname.length;
      var end=ps.indexOf('&', start);
      if (end==-1)end=ps.length;
        return true;
      }
    }
  return false;
}
//////////////////////////////////////////////////////////////////////////////////










//////////////////////////////////////////////////////////////////////////////////
//  ОЧИСТКА И РАБОТА СО СТРОКАМИ

// вывод текста
function echo(txt)
{
  d.write(txt);
}

//////////////////////////////////////////////////////////////////////////////////








//////////////////////////////////////////////////////////////////////////////////
// аналог getElementById

function $() {
	if (arguments.length == 1) return get$(arguments[0]);
	var elements = [];
	$c(arguments).each(function(el){
		elements.push(get$(el));
	});
	return elements;

	function get$(el){
		if (typeof el == 'string') el = document.getElementById(el);
		return el;
	}
}

//////////////////////////////////////////////////////////////////////////////////






//////////////////////////////////////////////////////////////////////////////////
// РАБОТА С КУКАМИ
// ПОЛУЧЕНИЕ КУКИ ПО НОМЕРУ
function getCookieByNum(index){
  var end=d.cookie.indexOf(";",index);
  if (end==-1)
  end=d.cookie.length;
  return unescape(d.cookie.substring(index, end));
}

// ПОЛУЧЕНИЕ КУКИ ПО ИМЕНИ
function getCookie(name){
  var arg=name+"=";
  var arglen=arg.length;
  var cookielen=d.cookie.length;
  var i=0;
  while(i<cookielen){
    var j=i+arglen;
    if(d.cookie.substring(i,j)==arg)
    return getCookieByNum(j);
    i=d.cookie.indexOf(" ",i)+1;
    if(i==0)break;
  }
  return 0;
}


// УСТАНОВКА КУКИ
function setCookie(name, value){
  var expires = new Date();
  expires.setTime(expires.getTime() + (365 * 24 * 60 * 60 * 1000));
  var argv = setCookie.arguments;
  var argc = setCookie.arguments.length;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  d.cookie = name + "=" + escape (value) +
  ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
  ((path == null) ? "" : ("; path=" + path)) +
  ((domain == null) ? "" : ("; domain=" + domain)) +
  ((secure == true) ? "; secure" : "");
}


// УДАЛЕНИЕ КУКИ
function deleteCookie(name){
  var exp = new Date();
  exp.setTime (exp.getTime() - 1);
  var cookieval = getCookie(name);
  d.cookie = name + "=" + cookieval + "; expires=" + exp.toGMTString();
}


// ОБНОВЛЕНИЕ КУКИ
function updateCookie(elm,task){
  // общее: берём массив ввиде строки, спрятанный в куки
  arr=getCookie('wb_data');
  if(arr==0){arr='';}
  // добавление в массив
  if(task==2){
    // добавление, если такого элемента еще нет
    var tmp=arr.indexOf(elm+'-',0);
    if(tmp==-1){
      arr=arr+elm+'-';
      setCookie('wb_data',arr);
    }
  } // ...добавление в массив
  // удаление из массива
  if(task==1){
    var tmp=arr.indexOf(elm+'-', 0);
    if(tmp!=-1){
      newarr=arr.substring(0,tmp)+arr.substring(0+tmp+elm.length+1,arr.length);
      setCookie('wb_data',newarr);
    }
  } // ...удаление из массива
}
//////////////////////////////////////////////////////////////////////////////////




// проверяет, является ли заданная переменная числом
function isNumeric(lp){
  if(lp.length==0){return false;}
  if(((lp*1)+(lp*1))!=(lp*2)){
    return false;
  }else{
    return true;
  }
}


