function setCookie(name, value, expires, path, domain, secure) {

 document.cookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");

}

  function getCookie(name) {

	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);

}

function deleteCookie(name, path, domain) {

  document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-1970 00:00:01 GMT";

}
function search_formcheck(id_name) {
	s = true;
	if ($(id_name).value.length < 3) {
		alert("Строка поиска должна содержать не менее 3 символов");
		s = false;
	}
	return s;
}

function formcheck(form) {

  s = true;
  for (i=0; i<form.elements.length; i++) {

    form.elements[i].value = form.elements[i].value.replace(/^\s+|\s+$/, '');

    if (form.elements[i].value != "") {

       if ((form.elements[i].id.indexOf("email_") == 0)&&(!form.elements[i].value.match(/^[^@]+@[^\.@]+\.[^@]+/i))) {
        alert("Неправильный формат поля ''" +form.elements[i].title + "''! Пример заполнения: test@test.ru");
        s = false;
        break;
       }

       if ((form.elements[i].id.indexOf("phone_") == 0)&&(!form.elements[i].value.match(/^\(\d*\)[ ]?\d+[,]?[ ]?\d*$|^\d+[,]?[ ]?\d*$/))) {
        alert("Неправильный формат поля ''" +form.elements[i].title + "''! Пример заполнения: (555) 123456 или 123456");
        s = false;
        break;
       }

       if ((form.elements[i].id.indexOf("integer_") == 0)&&(!form.elements[i].value.match(/^\d+$/))) {
        alert("Неправильный формат поля ''" +form.elements[i].title + "''! Пример заполнения: 123");
        s = false;
        break;
       }

       if ((form.elements[i].id.indexOf("search_") == 0)&&(form.elements[i].value.length < 3)) {
		alert(form.elements[i].name + ' = ' + form.elements[i].value);
        alert("Строка поиска должна содержать не менее 3 символов");
        s = false;
        break;
       }

    }


    if ((form.elements[i].id != "")&&(form.elements[i].title != "")) {

      if (form.elements[i].value == "") {
       alert("Обязательное поле ''" +form.elements[i].title + "'' не заполнено!");
       s = false;
       break;
      }

    }


  }

  if ((document.getElementById("password") != null)&&(document.getElementById("password_1") != null)&&(s)) {

     if (document.getElementById("password").value != document.getElementById("password_1").value) {
      alert("Неправильно подтвердили пароль!");
      s = false;
     }

  }

  if ((document.getElementById("control_symbols_count") != null)&&(document.getElementById("count_control") != null)&&(s)) {
    if ((document.getElementById("control_symbols_count").value!=document.getElementById("count_control").value)&&(s)){
      alert("Проверочное число введено неверно!");
      s = false;
    }
  }

  return s;

}

function getParam(name) {

  paramStr = window.location.search;

  if(paramStr.indexOf(name) == -1) {

   return '';

  }
  else {

   begin = paramStr.indexOf(name) + name.length + 1;
   end = paramStr.indexOf('&', begin);
   if(end == -1)
    {end = paramStr.length;}
   return unescape(paramStr.substring(begin, end));

  }

}

function form_serialize_1(f, c) {


 var s = '';

 for (i=0; i<f.length; i++) {

  if ($(f[i]) != null) {
   if (s != '') {s = s+'&';}
   s = s+f[i]+'='+encodeURIComponent($(f[i]).value);
  }

 }

 for (i=0; i<c.length; i++) {

  if ($(c[i]) != null) {
   if ($(c[i]).checked) {
    if (s != '') {s = s+'&';}
    s = s+c[i]+'=on';
   }
  }

 }

 return s;


}

function form_serialize(form) {


 var s = '';

 for (i=0; i<form.elements.length; i++) {

  if (form.elements[i] == null) {continue;}

  switch (form.elements[i].type) {
  case 'checkbox':

   if (form.elements[i].checked) {

    if (s != '') {s = s+'&';}
    s = s+form.elements[i].name+'=on';

   }

  break;
  case 'radio':

   if (form.elements[i].checked) {

    if (s != '') {s = s+'&';}
    s = s+form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);

   }

  break;
  default:

   if (s != '') {s = s+'&';}
   s = s+form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);

  break;
  }

 }

 return s;


}

function str_replace(search, replace, subject){
       var ra = replace instanceof Array,
               sa = subject instanceof Array,
               l = (search = [].concat(search)).length,
               replace = [].concat(replace),
               i = (subject = [].concat(subject)).length;
       while(j = 0, i--)
               while(subject[i] = subject[i].split(search[j]).join(ra ? replace[j] || "" : replace[0]), ++j < l);
       return sa ? subject : subject[0];
}

function trim(string){
	return string.replace(/(^\s+)|(\s+$)/g, "");
}

function add_session_fotos_class(table, i, max_count_fotos, params) {
   	var add_session_foto = 'add_session_foto_' + table + '_' + i;
    var value = $(add_session_foto);
    var req = new JsHttpRequest();
   	var load_session_foto = 'load_session_foto_' + table + '_' + i;
   	var add_session_foto_errors = 'add_session_foto_errors_' + table + '_' + i;
   	var show_session_fotos = 'show_session_fotos_' + table + '_' + i;
   	var form_add_session_foto = 'form_add_session_foto_' + table + '_' + i;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            $(add_session_foto_errors).innerHTML = req.responseJS;
            $(show_session_fotos).innerHTML = req.responseText;
            $(form_add_session_foto).reset();
            $(load_session_foto).innerHTML = '';
        }
        if (req.readyState == 1) {
            $(load_session_foto).innerHTML = 'Загрузка фото ..';
        }
    }
    var pars = 'table=' + table + '&i=' + i + '&max_count_fotos=' + max_count_fotos;
	pars = pars + params;
   	var ajax_url = '_ajax_session_logos_add_class.php';
	if (params.indexOf('params_logo') > -1) {
		ajax_url = '_ajax_session_fotos_add_class.php';
	}
    req.open(null, ajax_url + '?' + pars, true);
    req.send( { q: value } );

}

function add_fotos_class(table_foto, i, max_count_fotos, table, id_value, params) {
   	var add_foto = 'add_foto_' + table_foto + '_' + i;
    var value = $(add_foto);
    var req = new JsHttpRequest();
   	var load_foto = 'load_foto_' + table_foto + '_' + i;
   	var add_foto_errors = 'add_foto_errors_' + table_foto + '_' + i;
   	var show_fotos = 'show_fotos_' + table_foto + '_' + i;
   	var form_add_foto = 'form_add_foto_' + table_foto + '_' + i;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            $(add_foto_errors).innerHTML = req.responseJS;
            $(show_fotos).innerHTML = req.responseText;
            $(form_add_foto).reset();
            $(load_foto).innerHTML = '';
        }
        if (req.readyState == 1) {
            $(load_foto).innerHTML = 'Загрузка фото ..';
        }
    }

    var pars = 'table_foto=' + table_foto + '&table=' + table + '&id_value=' + id_value + '&i=' + i + '&max_count_fotos=' + max_count_fotos;
	pars = pars + params;
   	var ajax_url = '_ajax_logos_add_class.php';
	if (params.indexOf('params_logo') > -1) {
		ajax_url = '_ajax_fotos_add_class.php';
	}
    req.open(null, ajax_url + '?' + pars, true);
    req.send( { q: value } );

}

function ajax_foto_del_class(id, id_foto, table){
	var url = '_ajax_foto_del_class.php';
	var pars = 'id_foto=' + id_foto + '&table=' + table;
	var myAjax = new Ajax.Request(url, {
		method: 'post', parameters: pars, onComplete: function(originalRequest) {
			$('td_foto_' + id + '_' + id_foto).innerHTML = '';
		}
	});
}

function onclick_radio_switch_class(id, ajax_file, name_radio) {
	$(name_radio + 'radio_switch').value = id;
	var pars = 'action=onclick';
	var myAjax = new Ajax.Updater(name_radio + 'span_radio_switch', ajax_file, {
		method: 'post', parameters: pars
	});
}

function onchange_select_switch_class(id_name, ajax_file, name_span, dif) {
	id  = $(dif + id_name).value;
	if (id == '') {		$(dif + name_span).innerHTML = '';	}else {		var pars = 'action=onclick&' + id_name + '=' + id;

		var get = location.search;
		if (get != '') {
			get = str_replace('?', '', get);
			get = str_replace(id_name, id_name + '_old', get);
			pars = pars + '&' + get;
		}

		//var pars = id_name + '=' + id;
		var myAjax = new Ajax.Updater(dif + name_span, ajax_file, {
			method: 'post',
			parameters: pars
		});
	}
}

function c_creation_form(ajax_file, span_errors, a_result, file_end) {
	var old_name = $('button_class').value;
	var pars = 'action=check';
  	var variable = document.getElementsByName('variable[]');
	//alert('name=' + encodeURIComponent($('name').value));
  	for (i=0; i<(variable.length); i++){
        if (document.getElementById($(variable[i]).value)) {			pars = pars + '&' + $(variable[i]).value + '=' + encodeURIComponent($($(variable[i]).value).value);
        }else {
  	    	var variable_array = document.getElementsByName($(variable[i]).value + '[]');
	  		str = $(variable[i]).value;
		  	for (j=0; j<(variable_array.length); j++){
		  		if (str.indexOf('checkbox') == -1) {
  					pars = pars + '&' + $(variable[i]).value + '[]=' + encodeURIComponent($(variable_array[j]).value);
				}else {
					if ($(variable_array[j]).checked){
  						pars = pars + '&' + $(variable[i]).value + '[]=' + encodeURIComponent($(variable_array[j]).value);
  					}
  				}
		  	}
        }
  	}
  	var get = location.search;
  	if (get != '') {
  		get = str_replace('?', '', get);
  		pars = pars + '&' + get;
  	}
	var myAjax = new Ajax.Request(ajax_file, {		method: 'post',
		parameters: pars,
		onLoading: function() {
			$('button_class').value = 'Подождите...';
			$('button_class').disabled = true;
		},
		onComplete: function(originalRequest) {
			$('button_class').value = old_name;
			$('button_class').disabled = false;
			if (encodeURIComponent(trim(originalRequest.responseText)) == '') {
				pars = str_replace('action=check', 'action=add', pars);
				var myAjax_add = new Ajax.Request(ajax_file, {					method: 'post',
					parameters: pars,
					onComplete: function(originalRequest) {
						var tmp = new Array();
						tmp = (file_end.substr(0)).split(':');
						if (tmp.length == 1) {
							document.location.href = file_end;
						}else {
							switch (tmp[0]) {
								case 'no_reboot':
									$(tmp[1]).innerHTML = originalRequest.responseText;
									document.location.href = '#' + a_result;
								break;
								case 'reboot':
									if ($(tmp[1]) == null) {										document.location.href = tmp[tmp.length - 1];
									}else {
										document.location.href = tmp[(parseInt($(tmp[1]).value) + 2)];
									}
								break;
								case 'continue':
									document.location.href = tmp[1] + '?' + trim(originalRequest.responseText);
								break;
							}
						}
					}
				});
			}else {
				$(span_errors).innerHTML = originalRequest.responseText;
				document.location.href = '#' + a_result;
			}
		}
	});
}

function select_category_class(id_category, table, onchange_select_category) {
	var url = '_ajax_select_category_class.php';
	var pars = 'id_category=' + id_category + '&use_table=' + table + '&onchange_select_category=' + onchange_select_category;
  	var get = location.search;
  	if (get != '') {
  		get = str_replace('?', '', get);
  		pars = pars + '&' + get;
  	}
	var myAjax = new Ajax.Request(url, {		method: 'post',
		parameters: pars,
		onComplete: function(originalRequest) {
			if (originalRequest.responseText.indexOf('<!--continue-->') == -1) {
				$('select_category').innerHTML = originalRequest.responseText;
			}else {
				var a = originalRequest.responseText.split('<!--continue-->');
				$('select_category').innerHTML = a[0];
			}
		}
	});
}

function search_categorys_class(table) {
	var url = '_ajax_search_category_class.php';
	var pars = 'table='+table+'&search_category='+$('search_category').value;;
	var myAjax = new Ajax.Request(url, {		method: 'post',
		parameters: pars,
		onComplete: function(originalRequest) {
			if (encodeURIComponent(originalRequest.responseText) != ''){
				$('select_category').innerHTML = originalRequest.responseText;
			}else{
				document.location.reload();
			}
		}
	});
}

function update_from_ajax(id, td_class, url) {	var pars = 'id=' + id + '&action=onclick';
	var myAjax = new Ajax.Request(url, {
		method: 'post',
		parameters: pars,
		onComplete: function(originalRequest) {
			$(td_class).innerHTML = originalRequest.responseText;
		}
	});
}



