
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 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("Строка поиска должна содержать не менее 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;


}

// форматирует вывод числа, аналог number_format() в PHP
function number_format(number, decimals, dec_point, thousands_sep){
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
 var i, z;
  if(eindex > -1){
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }
  
  if(decimals != null){
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ? 
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
  
  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
  if(decimals != null && decimals > 0){
    for(i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }
  
  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
                  thousands_sep : null;
  if(thousands_sep != null && thousands_sep != ""){
  for (i = integer.length - 3; i > 0; i -= 3)
   integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  return sign + integer + fractional + exponent;
}


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];
}