var g_isDebug=0;

function getCookieBasket(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 setCookieBasket (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function resetCookieBasket(name, path, domain) {
        if (getCookie(name)) {
                document.cookie = name + "=" + 
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT"
        }
}

// Функция создания объекта XMLHttpRequest
function createXmlHttpRequestObject()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Ваш браузер не поддерживает AJAX!");
      return false;
      }
    }
  }
  return xmlHttp;
}


function GeoGetFieldHTML(e_strFieldName)
{
	if (document.getElementById(e_strFieldName) && (document.getElementById(e_strFieldName)!='undefined'))
	{
		var myDivBasket= document.getElementById(e_strFieldName);
		return myDivBasket.innerHTML;
	}
	return "";
}

function GeoSetFieldHTML(e_strFieldName,e_strValue)
{
	if (document.getElementById(e_strFieldName) && (document.getElementById(e_strFieldName)!='undefined'))
	{
		var myDivBasket= document.getElementById(e_strFieldName);
		myDivBasket.innerHTML= e_strValue;
	}
}


function GeoRenderArgValue(e_strFieldName,e_URLParam)
{
	if (document.getElementById(e_strFieldName) && (document.getElementById(e_strFieldName)!='undefined'))
	{
		myDivBasket= document.getElementById(e_strFieldName);
		return "&"+e_URLParam+"="+myDivBasket.value;
	}
	return "";
}

function GeoRenderArgChecked(e_strFieldName,e_URLParam)
{
	if (document.getElementById(e_strFieldName) && (document.getElementById(e_strFieldName)!='undefined'))
	{
		myDivBasket= document.getElementById(e_strFieldName);
		return "&"+e_URLParam+"="+((myDivBasket.checked==true) ? "1" : "0");
	}
	return "";
}



function UniversalSender(e_strUrl,e_strParam,e_strAlert,e_funcResult)
{
var m_xmlHttp = createXmlHttpRequestObject();
      var m_nocache = Math.random();
	 if (e_strUrl.indexOf('?')==-1)
		var m_strURL=e_strUrl+"?nocache="+m_nocache;
	else
		var m_strURL=e_strUrl+"&nocache="+m_nocache;
		
  if (m_xmlHttp)
  {
    try
    {
//		 $('#ajaxBusy').show(); 
//		alert(m_strURL);

		m_xmlHttp.open('POST', m_strURL, true);
		
		m_xmlHttp.onreadystatechange = function()
			{
			//alert("Answer");
			var m_strMessage="";
			var m_strElementName="";
			var m_iGarnitur=0;
			var el_Value="&nbsp;";
			//var m_strMessage="";


				// Только в этом состоянии ответа обрабатываем прищедшие данные
			  if (m_xmlHttp.readyState == 4)
			  {
			//	$('#ajaxBusy').hide(); 
				// Данные читаем только если статус - "OK"
				if (m_xmlHttp.status == 200)
				{
				  try
				  {
						m_strResponse = m_xmlHttp.responseText;
						if (m_strResponse=="") return;
//						alert (m_strResponse);

					// Чтение сообщения сервера
					if (g_isDebug==1)
					{
						m_strResponse = m_xmlHttp.responseText;
			//			alert (m_strResponse);
						if (document.getElementById("divDebug"))
						{
							myDiv = document.getElementById("divDebug");
							myDiv.innerHTML =m_strResponse;
						} 
					}
					
					if (e_funcResult!=null)
						e_funcResult(m_strResponse,e_strAlert);
					else
					{
						if (e_strAlert!="") {alert(e_strAlert);}
					}
			
//					return m_Obj;
					

				  }
				  catch(e)
				  {
			//		m_strResponse = xmlHttp.responseText;
			//		alert (m_strResponse);
					// Сообщение об ошибке
//					alert("Ошибка при чтении ответа:"+m_strResponse);
				  }
				}
				else
				{
				  // Вывод сообщения о статусе ответа
				  alert("Возникла проблема при получении данных с сервера:\n" + m_xmlHttp.statusText);
				}
			  }

			};
			
		
		m_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		m_xmlHttp.setRequestHeader("Content-Length", e_strParam.length);
		m_xmlHttp.send(e_strParam);
    }

    // Сообщение об ошибке в случае неудачи
    catch (e)
    {
      alert("Не удается соединиться с сервером");
    }
  }

}

function UniversalSenderFormForJSON(e_strURL,e_strForm,e_strMessageSuccess,е_funcResult)
{
	var str='ajax=1';

	$("#"+e_strForm+" input").each(function(n,element)
	{
		if(($(element).attr('type')!='button') && ($(element).val()!="")){ str=str +'&'+ $(element).attr('id') +'='+$(element).val();}
	
	});

	$("#"+e_strForm+" textarea").each(function(n,element)
	{
		if(($(element).val()!="")){ str=str +'&'+ $(element).attr('id') +'='+$(element).val();}
	
	});

//	alert(e_strURL);
	if (e_strMessageSuccess=='X')
	{
		alert(str);
	
	}
	else
	{
		UniversalSender(e_strURL,str,e_strMessageSuccess, 
		function(e_strResponse) 
		{
//			m_strResponse=str_replace("\\/", "/", m_strResponse)
//			alert (e_strResponse);
			m_Obj=eval('(' + e_strResponse + ')');
//			alert(m_Obj);
			DoStandardJSONAnswerElementAll(m_Obj);
		});
	}

}



