function showbig(picname){
	window.open('/includes/foto.php5?pic='+picname,'_blank','scrollbars=yes,taskbar=no,resizeable=no,status=no,menubar=no,top=30,left=30,width=30,height=30');
}

function PreLoad(source){
	var NewImage = new Image();
	NewImage.src = source;
}

function prepareSubmit(frm){
	var len = frm.all("editbox").length; if (!len) len = 1;
	for (var i=0; i<len; i++)
		frm.all("codebox", i).innerText = frm.all("codebox", i).style.display ? borderOn(frm.all("codebox", i).innerText) : borderOn(frm.all("editbox", i).innerHTML);
}

function menuProcess(menuId){
	if(menuId.style.display == 'none'){
		menuId.style.display = 'block';
	}else{
		menuId.style.display = 'none';
	}
}

function changeColor(element,color){
	element.style.background = color; 	
}

 /** v 1.2
 * Преобразует многомерный обьект данных в строковое представление
 */
 function Dump(d,l) {
	if (l == null) l = 1;
    if (d == null) return 'null';
    if (d == undefined) return 'undefined';
	var s = '';
	if (typeof(d) == "object") {
		s += typeof(d) + " {\n";
		var have_sub_levels = 0;
		for (var k in d) {
			for (var i=0; i<l; i++) {
				s += "    ";
			}
			have_sub_levels = 1;
			s += k+": " + Dump(d[k],l+1) + "\n";
		}
		for (var i=0; i<l-1; i++){ 
			s += "    ";
		}
		s += "}"
		if(have_sub_levels == 0){
			s = d.toString();
		}
	} else {
		s += "" + d.toString();
	}
	return s;
 }
 function  print_r(arr){
	alert(Dump(arr));
 }

 /** 
 * Создаёт копию обьекта (для передачи не по ссылки)
 */
 function clone(d) {
	var s = new Array();
	if(typeof(d) == "object"){
		for (var k in d)
			s[k] = clone(d[k]);  
	}else
		s = d;
	return s;
 }

/** v 1.1
 * Выдаёт окончание
 *
 * @param int $count - Количество элементов
 * @param str $word - название элемента в ед. числе
 * @return str - название в указанном количестве
 */
function rus_case(count, word){
	var sp_count = (1 * count % 100 - 1 * count % 10) == 10;
	var count = 1 * count % 10;
	var mod = word.substr(word.length-1, 1);
	if(count == 1 && !sp_count)
		return word;
	switch (mod){
		case 'а' :
			if((count==2 || count==3 || count==4) && !sp_count)
				return word.substr(0, word.length-1) + 'ы';
			else
				return word.substr(0, word.length-1);
		case 'ь' :
			if((count==2 || count==3 || count==4) && !sp_count)
				return word.substr(0, word.length-1) + 'я';
			else
				return word.substr(0, word.length-1) + 'ей';
		case 'е' :
			if((count==2 || count==3 || count==4) && !sp_count)
				return word.substr(0, word.length-1) + 'я';
			else
				return word.substr(0, word.length-1) + 'й';
		default:
			if((count==2 || count==3 || count==4) && !sp_count)
				return word + 'а';
			else
				return word + 'ов';
	}
}

 /** v 1.3
  * Дату в SQL формате переводит в JS класс даты
  *
  * @param date('Y-m-d H:i:s') $var
  * @return js_date
  */
function SQL_date_to_js(date_time){
	if(!date_time || date_time.constructor!=String){
		return date_time;
	}
	date_time = explode(' ', date_time);
 	if(date_time.length == 1){
 		if(date_time[0].search('-') == -1){
 			var date = '';
 			var time = date_time[0];
 		}else {
 			var date = date_time[0];
 			var time = '';
 		}
 	}else{
 		var date = date_time[0];
 		var time = date_time[1];
 	}
	date = explode('-',date);
	year = date[0] ? date[0]*1 : 0;
	month = date.length>1 ? date[1]*1 - 1 : 0;
	day = date.length>2 ? date[2]*1 : 0;
	time = explode(':', time);
	hours = time[0] ? time[0]*1 : 0;
	minutes = time.length>1 ? time[1]*1 : 0;
	seconds = time.length>1 ? time[2]*1 : 0;
	return new Date(year, month, day, hours, minutes, seconds);
}
/** v 1.1
 * Аналог explode на PHP
 */
function explode(str_sep, str){
	var rez = [];
	var last = 0;
	if(!str || !str_sep || str_sep.constructor!=String){
		return rez;
	}
	var next = str.search(str_sep);
	for(i = 0; next!=-1 && i<5; i++){
		rez[i] = str.substr(last, next);
		last = last + next + str_sep.length;
		next = str.substr(last).search(str_sep);
	}
	rez[i] = str.substr(last);
	return rez;
}
/** v 1.1
 * Переводит js дату в строку нужного формата
 *
 * @param js_date
 * @param string формат даты (только перед параметрами стоит $)
 * @return string
 */
function js_date_to_format(date, format, MONTHNAMES){
	//var DAYNAMES = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
	//var MONTHNAMES = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	var MONTHNAMES = MONTHNAMES ? MONTHNAMES : ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"];
	var rep_array = [];
	rep_array['$D'] = date.getDate();
	rep_array['$d'] = ("0" + date.getDate()).slice(-2);
	rep_array['$m'] = ("0" + (date.getMonth()+1)).slice(-2);
	rep_array['$M'] = MONTHNAMES[date.getMonth()];
	rep_array['$Y'] = date.getFullYear();
	rep_array['$y'] = ("0" + date.getYear()).slice(-2);
	rep_array['$h'] = ("0" + date.getHours()).slice(-2);
	rep_array['$H'] = date.getHours();
	rep_array['$i'] = ("0" + date.getMinutes()).slice(-2);
	rep_array['$s'] = ("0" + date.getSeconds()).slice(-2);
	for(var k in rep_array){
		format = format.replace(k, rep_array[k]);
	}
	return format;
}