var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
// example registering simple callback function for messages
php.messages.myCallBack = function (msg, params){
    alert ("My messages CallBack func: " + msg);
}

// example registering simple callback function for errors
php.errors.myCallBack = function (msg, params){
    alert ("My errors CallBack func: " + msg);
}

function ajaxUpdate(div, uri, param, TForm)
{
var ParamStr='';
if (div.indexOf('#',0)==-1)
	 div = '#'+div;
	 param = '&'+param; 	 
	
if (TForm!=='')
{
	if (TForm.indexOf('#',0)==-1)
	 TForm = '#'+TForm;
//	 ParamStr = $(TForm).serialize();

	ParamStr=$.param($(TForm).formToArray(true));
	param = ParamStr + param; 
}
//alert(param);
$(div).show();
 $(div).html('<div class="loadindicator"><img  src="../images/indicator.gif"></div>');

 //var ajax = new Ajax.Updater(div, uri,{methot:'get', parameters:param});
//$.post(uri, param , function(data){$(div).html(data);
 //            }, 'html');
 //return false;
 $.ajax({
       // AJAX-specified URL
       url: uri,
       // JSON
       type: "POST",
       data: param,
       dataType : "html",
       
       /* Handlers */       
       // Handle the beforeSend event
       beforeSend: function(){
           return php.beforeSend();
       },
       // Handle the success event
       success:  function(data){$(div).html(data);
             },
       // Handle the error event
       error: function (xmlEr, typeEr, except) {
          return php.error(xmlEr, typeEr, except);                  
      },
       // Handle the complete event
       complete: function (XMLHttpRequest, textStatus) {              
           return php.complete(XMLHttpRequest, textStatus);
       }
    });
 return true;
}
//----------------
function ajaxUpdate2(div, uri, param, TForm)
{
var ParamStr='';
//alert(TForm);
if (TForm!=='')
{
	ParamStr=CreateParamStr(TForm);
	param = ParamStr + param; 
//	alert(param);
}
//alert(div);
$(div).style.display = 'block';
// $(div).innerHTML = 'Загрузка данных......';
 $(div).innerHTML = '<div class="loadindicator"><img  src="../images/indicator.gif"></div>';

//	alert(uri+'?'+param);
//alert(param);
 var ajax = new Ajax.Updater(div, uri,{methot:'get', parameters:param});

 return false;
}  
//---
function CreateParamStr(Tform)
{
var i;
var d=document;
//var val=new String("");
var val="";
var ParamStrl='';
var count_elements =d.forms[Tform].elements.length;
//alert(count_elements);
 for(i=0;i<count_elements;i++)
  {
	  val=jsCodeHtmlChars(d.forms[Tform].elements[i].value);
	  	//  val=d.forms[Tform].elements[i].value;
		//  val.replace(/&/gi, "%26" );
  if  ((d.forms[Tform].elements[i].type== 'checkbox') || (d.forms[Tform].elements[i].type== 'radio'))
   {
      if (d.forms[Tform].elements[i].checked==true)
	  	ParamStrl=ParamStrl+d.forms[Tform].elements[i].name+'='+val+'&';
	}
   else
		ParamStrl=ParamStrl+d.forms[Tform].elements[i].name+'='+val+'&';
  }
 return ParamStrl; 
}
function befor_submit(Tform,Mess)
  {
	if (confirm(Mess)==1)
	 return true;
	else
	 return false;
  }
function RowSelect(table,obj,color)
{
		var Span = $(obj);
	    Span.className = color;
}
function RowClick(div,uri, param, TForm)
{
	 var ParamStr='';
	 if (div.indexOf('#',0)==-1)
	 div = '#'+div;
	 param = '&'+param; 	 
if (TForm!=='')
{
	if (TForm.indexOf('#',0)==-1)
	 TForm = '#'+TForm;
	ParamStr=$.param($(TForm).formToArray(true));
	param = ParamStr + param; 
}
//	alert(param);	
      document.location.replace(uri+'?'+param); 
	//  document.href(uri+'?'+param);
 }

function OMCLICK(url)
     {
      window.open(url,'tableview','menubar=yes,scrollbars=yes,status=no,toolbar=no,resizable=yes');
 	 }
function OMCLICKBLANK(url)
     {
      window.open(url,'_BLANK','width=800,height=600,menubar=yes,scrollbars=yes,status=no,toolbar=no,resizable=yes');
 	 }

function onout(id){
document.all[id].style.visibility="hidden";
}
function checking(formname)
  {
    var i;
    var d=document;
	flag= d.forms[formname].checkall.checked;
   for (i=1;i<d.forms[formname].elements.length;i++)
     if  (d.forms[formname].elements[i].type== 'checkbox')   d.forms[formname].elements[i].checked = flag ;
  }

function showlavel2(menu_lavel_id)
{

var element = document.getElementById(menu_lavel_id);

 if (element.style.display=="block")
 {
	element.style.display="none" ;
 }
 else
 {
	element.style.display="block" ;
 }
}

function changevalue(id)
{
var d=document;
var element = d.getElementById(id);
 //  alert('До - '+element.value); 	
//if (!element) return false;
  if (element.value == "")
   element.value = "desc";
  else 
   element.value = "";
 //  alert('После - '+element.value); 
//	alert($(id).value);   
}

function showlavel22(parent,menu_lavel_str, menu_lavel_id)
{
 var s = new String("");
 var d=document;
var divs = d.getElementById(parent).getElementsByTagName('div');
//alert(menu_lavel_str);
for (i=0; i<divs.length; i++)
 {
  s = divs[i].id;
//  alert(s+' '+menu_lavel_str+' '+s.indexOf(menu_lavel_str));
  if ( s.indexOf(menu_lavel_str) !== -1)
 	{
	  if ( divs[i].id !== menu_lavel_id) 
//	  divs[i].style.display="block";
//	  else 
	  divs[i].style.display="none";
	 }
 }	
 d.getElementById(menu_lavel_id).style.display="block";
}
//----------------
function showlavel23(parent,menu_lavel_str,tag, menu_lavel_id, ClassNameCur, ClassNameAll)
{
 var s = new String("");
 var d=document;
// alert(parent);
var divs = d.getElementById(parent).getElementsByTagName(tag);
//alert(menu_lavel_str);
for (i=0; i<divs.length; i++)
 {
  s = divs[i].id;
//  alert(s+' '+menu_lavel_str+' '+s.indexOf(menu_lavel_str));
  if ( s.indexOf(menu_lavel_str) !== -1)
 	{
	  if ( divs[i].id !== menu_lavel_id) 
	  {
//	  divs[i].style.display="block";
//	  else 
		//alert(s);
	  divs[i].className=ClassNameAll;
	  }
	 }
 }	
 d.getElementById(menu_lavel_id).className=ClassNameCur;
}

//---------------
function checkmail(e)
{
	var returnval=emailfilter.test($(e).val())
	
	if (returnval==false)
	{
		alert("Неверный адрес электронной почты.")
		$(e).css( "background", "red" );
		$(e).select()
	}
	return returnval
}
function jsCodeHtmlChars(r)
{
//r=jsStringReplace(r,"&","&amp;");
r=jsStringReplace(r,"&","%26");
r=jsStringReplace(r,"<","&lt;");
r=jsStringReplace(r,">","&gt;");

//r=jsStringReplace(r,"'","';");
//r=jsStringReplace(r,'"',"&quot;");
return (r);
}
function jsStringReplace(text,searchString, replaceString)
{
lengthSearchString=searchString.length;
lengthReplaceString=replaceString.length;
rezultText=text;
start_poz=0;//начальная позиция с которой начинаем поиск заданной подстроки
while ((poz=rezultText.indexOf(searchString,start_poz))!=-1)
{
firstPart=rezultText.substring(0,poz);
lengthRezultText=rezultText.length;
endPart=rezultText.substring(poz+lengthSearchString, lengthRezultText );
rezultText=firstPart+replaceString+endPart;
start_poz=poz+lengthReplaceString;
}
return (rezultText);
}
function mousePageXY(e){
 e=e||window.event;
 cX=e.clientX;
 cY=e.clientY;
 alert('X='+cX+', Y='+cY);
}

//----
function region_change(url, paramname, parent_id, child_id)
{
  $(child_id).html('<div class="loadindicator"><img  src="../images/indicator.gif"></div>');
  $.post(url, { paramname : $(parent_id).fieldValue() }, function(data){$(child_id).html(data);
             }, 'html');

 return true;
}

function getBrowserInfo() {
 var t,v = undefined;
 if (window.opera) t = 'Opera';
 else if (document.all) {
  t = 'IE';
  var nv = navigator.appVersion;
  var s = nv.indexOf('MSIE')+5;
  v = nv.substring(s,s+1);
 }
 else if (navigator.appName) t = 'Netscape';
 return {type:t,version:v};
}
 
function bookmark(a){
 var url = window.document.location;
 var title = window.document.title;
 var b = getBrowserInfo();
 if (b.type == 'IE' && 7 > b.version && b.version >= 4) window.external.AddFavorite(url,title);
 else if (b.type == 'Opera') {
  a.href = url;
  a.rel = "sidebar";
  a.title = url+','+title;
  return true;
 }
 else if (b.type == "Netscape") window.sidebar.addPanel(title,url,"");
 else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
 return false;
}

		



