var ismc = (navigator.appVersion.indexOf("Mac") != -1);
var issafari = (navigator.appVersion.indexOf("Safari") != -1);
var nscp = ( (navigator.appName == "Netscape") && ( ! issafari ) );
var vers = parseFloat(navigator.appVersion.substring(22,25));
var isNS6 = (!document.all && document.getElementById) ? true : false;

	var bIE=0;bOp=0;bFF=0;
	var verBr=navigator.userAgent;
	if (verBr.indexOf("Opera")!=-1)
	     bOp=1;
	  else 
	   {
	   if (verBr.indexOf("MSIE")!=-1)
	      bIE=1;
	    else
		 {
	      //if (verBr.indexOf("Firefox")!=-1)
	        bFF=1;
		 }
	   }

function onLoadTest() {
alert('Message from ' + window.name + ': Hello, World.');
}


function selextText(obj) {
	obj.focus();
	obj.select();
}

function delRow() {
	return confirm("Delete, are you sure?");
}

function toggle(obj) {
	var el = $(obj); // document.getElementById(obj);
	if ( el.style.display == 'none' ||  el.style.display == '') {
//	    el.style.display = 'block';
	    el.style.display = '';
	}
	else {
		el.style.display = 'none';
	}
}

function copy_clip(text) {
	if (window.clipboardData) {
		// Internet Explorer
		window.clipboardData.setData("Text", text);
		return true;
	} else {
		return false;
	}
}


/*--------------------------------------------------------------------------*/
/* Common '$' extensions                                                    */
/*--------------------------------------------------------------------------*/
function $F(element) {
	var value = $(element).getValue();
	if (typeof(value) == 'string') {value = value.trim();}
	return value;
}

function $show(element) {
//alert(element);
	if ($(element).style != null) {
		return $(element).style.display = '';
	} else {
		return '';
	}
}

function $hide(element) {
//alert('$hide::  element = ' + element.toString());
	if ($(element).style != null) {
		return $(element).style.display = 'none';
	} else {
		return '';
	}
}

function $toggle(element) {
    element = $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
}


function getBodyScrollTop()
{
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft()
{
  return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}


function getClientCenterX()
{
//  return parseInt(getClientWidth()/2)+getBodyScrollLeft();
  return getBodyScrollLeft();
}

function getClientCenterY()
{
  return getBodyScrollTop();
}

function getClientWidth() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}


function showLoadingIndicator() {
	var y = getBodyScrollTop();
	var x = getBodyScrollLeft();
//alert ('x = ' + x + '; y = ' + y);

	$('loading_bar').style.top = y + 300 + "px";
	$('loading_bar').style.left = x + 400 + "px";
	$show('loading_bar');
}

function showWindow( divName, title, value ) {
	var y = getBodyScrollTop();
	var x = getBodyScrollLeft();
	$(divName).style.top = y + 50 + "px";
	$(divName).style.left = x + "px";
	$show(divName);
//	$('info_bar').innerHTML = '<div id="invoiceForm">'+value+ '</div>';
	$(divName).innerHTML = '<table border="0" cellpadding="0" cellspacing="0"><tr><td><div id="invoiceForm">'+value+ '</div></td></tr></table>';
	var x_size_body = parseInt($(divName).offsetWidth);
	$(divName).style.width = x_size_body + "px";
	if (bIE==1) {
		var y_size_body = parseInt($(divName).offsetHeight);
		$(divName).style.height = y_size_body + "px";
	}

} // function showWindow


function hideLoadingIndicator() {
	$hide('loading_bar');
}

/*--------------------------------------------------------------------------*/
/* Send Ajax Request with the Form data                                     */
/*--------------------------------------------------------------------------*/
function SendFormByAjax(process, form_id, callback_func) {

   	showLoadingIndicator();
	var aj = new Ajax('process.php?process='+process, {
		method: 'post',
		data: $(form_id),
		onSuccess: function(o){
			var ret = Json.evaluate(o);
			callback_func(ret);
		 	hideLoadingIndicator();
		},
		onFailure: function(o) {
			alert(Langs.ajax_error); //  o.status + o.statusText
   			hideLoadingIndicator();
		}
	}).request();

}


/*----------------------------------------------------------------*/
/* Send Ajax Request with the any data                           */
/*----------------------------------------------------------------*/
function SendRequestByAjax(script_url, params, callback_func) {
//alert('SendRequestByAjax script_url ==== ' + script_url);

   	showLoadingIndicator();
	var aj = new Ajax(script_url, {
		method: 'post',
		data: params,
		onSuccess: function(o){
			var ret = Json.evaluate(o);
			callback_func(ret);
		 	hideLoadingIndicator();
		},
		onFailure: function(o) {
			alert(Langs.ajax_error); //  o.status + o.statusText
   			hideLoadingIndicator();
		}
	}).request();

}


/*--------------------------------------------------------------------------*/
/* Load content into the block                                              */
/*--------------------------------------------------------------------------*/
function $ld1(script_url, div_name){
	showLoadingIndicator();
//	$(div_name).innerHTML = '' ;

//alert('ld1 script_url ==== ' + script_url);
//alert('ld div_name ==== ' + div_name);

	var AJ = new Ajax(script_url,
		{update: $(div_name),
		method: 'get',
		onComplete: function(o) {hideLoadingIndicator();},
		onFailure: function(o) {
			alert(Langs.ajax_error);
   			hideLoadingIndicator();
		}
		}).request();
}



function $ld2(process, div_1_name, div_2_name){

alert('ld2 process ==== ' + process);

     var fnCallback = function(res){
//alert('ld2 div_1_name ==== ' + res.print());
//alert(res.print());
	   $(div_1_name).innerHTML = res.mainMenu;
	   $show(div_1_name);
	   $(div_2_name).innerHTML = res.entityPresent;
	   $show(div_2_name);
	}
   SendRequestByAjax(process, '', fnCallback);
}


function $ld3(process, divMainMenu, divEntityPresent, divPhotoPresent){

//alert( 'ld3 process ==== ' + process );

//     var process = 'http://test1.ru/sa_auction/controllers/login.php';
     var fnCallback = function(res){
//	alert(res.print()); // "tdMainMenu", "tdEntityPresent", "tdPhotoPresent"
	   $(divMainMenu).innerHTML = res.tdMainMenu;
	   $show(divMainMenu);
	   $(divEntityPresent).innerHTML = res.tdEntityPresent;
	   $show(divEntityPresent);
	   $(divPhotoPresent).innerHTML = res.tdPhotoPresent;
	   $show(divPhotoPresent);
	}
   SendRequestByAjax(process, '', fnCallback);
}

function $ld5Zons(	process, divNameEntity, divDeskriptEntity, tdMainMenu, tdEntityPresent, tdPhotoPresent){
     var fnCallback = function(res){
	   $(divNameEntity).innerHTML = res.divNameEntity;
	   $show(divNameEntity);

	   $(divDeskriptEntity).innerHTML = res.divDeskriptEntity;
	   $show(divDeskriptEntity);

	   $(tdMainMenu).innerHTML = res.tdMainMenu;
	   $show(tdMainMenu);

	   $(tdEntityPresent).innerHTML = res.tdEntityPresent;
	   $show(tdEntityPresent);

	   $(tdPhotoPresent).innerHTML = res.tdPhotoPresent;
	   $show(tdPhotoPresent);
	}
   SendRequestByAjax(process, '', fnCallback);
}

function $ld6Zons(	process, tdObjMenu, tdObjName, tdEntityIntrodaktion, tdEntityDeskription, tdEntityRelations, tdPhotoPresent){
     var fnCallback = function(res){
	   $(tdObjMenu).innerHTML = res.tdObjMenu;
	   $show(tdObjMenu);

	   $(tdObjName).innerHTML = res.tdObjName;
	   $show(tdObjName);

	   $(tdEntityIntrodaktion).innerHTML = res.tdEntityIntrodaktion;
	   $show(tdEntityIntrodaktion);

	   $(tdEntityDeskription).innerHTML = res.tdEntityDeskription;
	   $show(tdEntityDeskription);

	   $(tdEntityRelations).innerHTML = res.tdEntityRelations;
	   $show(tdEntityRelations);

	   $(tdPhotoPresent).innerHTML = res.tdPhotoPresent;
	   $show(tdPhotoPresent);
	}
   SendRequestByAjax(process, '', fnCallback);
}


function $ld7Zons(	process, tdParentObj, tdObjMenu, tdObjName, tdEntityIntrodaktion, tdEntityDeskription, tdEntityRelations, tdPhotoPresent){
     var fnCallback = function(res){

	   $(tdParentObj).innerHTML = res.tdParentObj;
	   $show(tdParentObj);

	   $(tdObjMenu).innerHTML = res.tdObjMenu;
	   $show(tdObjMenu);

	   $(tdObjName).innerHTML = res.tdObjName;
	   $show(tdObjName);

	   $(tdEntityIntrodaktion).innerHTML = res.tdEntityIntrodaktion;
	   $show(tdEntityIntrodaktion);

	   $(tdEntityDeskription).innerHTML = res.tdEntityDeskription;
	   $show(tdEntityDeskription);

	   $(tdEntityRelations).innerHTML = res.tdEntityRelations;
	   $show(tdEntityRelations);

	   $(tdPhotoPresent).innerHTML = res.tdPhotoPresent;
	   $show(tdPhotoPresent);

//alert( 'res.typeObject =  '  + res.typeObject );

		typeObj = res.typeObject;

		if( typeObj == 12 ) {
			hide('tdEntityIntrodaktion');
			hide('tdEntityDeskription');
			show('tdEntityRelations');
		} else {
			if( typeObj == 102 ) {
				hide('tdEntityIntrodaktion');
				show('tdEntityDeskription');
				hide('tdEntityRelations');
			} else {
				show('tdEntityIntrodaktion');
				hide('tdEntityDeskription');
				hide('tdEntityRelations');
			}
		}
//alert( 'typeObj =  '  + typeObj );
	}
   SendRequestByAjax(process, '', fnCallback);
}


/*--------------------------------------------------------------------------*/
/* Load content into the block                                              */
/*--------------------------------------------------------------------------*/
function $doubleDivLoadOld___(script_url, div_1_name, div_2_name){
	showLoadingIndicator();
//	$(div_name).innerHTML = '' ;

	var AJ = new Ajax(script_url,
		{update: $(div_1_name),
		method: 'get',
		onComplete: function(o) {hideLoadingIndicator();},
		onFailure: function(o) {
			alert(Langs.ajax_error);
   			hideLoadingIndicator();
		}
		}).request();


/*
//alert( 'AJ.request() ==== ' + AJ.request().toSource() );
alert( 'AJ.request() ==== ' + AJ.request().response );
alert( 'AJ.request() ==== ' + AJ.request().response.toSource() );
//toString(obj)
//var myObject12 = Json.evaluate(AJ.request().response);
var myObject12 = Json.toString(AJ.request().response);
alert( 'myObject Json.evaluate(AJ.request()) ==== ' + myObject12.toSource() );

alert( 'myObject12[apple] ==== ' + myObject12['apple'] );
alert( 'myObject12[lemon]  ==== ' + myObject12['lemon'] );

*/

	var AJ1 = new Ajax(script_url,
		{update: $(div_2_name),
		method: 'get',
		onComplete: function(o) {hideLoadingIndicator();},
		onFailure: function(o) {
			alert(Langs.ajax_error);
   			hideLoadingIndicator();
		}
		}).request();
}

function getObj(obj)
{
	if (isNS6) 	{
		var souStyle =  document.getElementById(obj);
		if (souStyle  != null) { 
			compLayr = document.getElementById(obj).style;
		} else {
			compLayr = '';
		}
	} 	else
	 if (nscp) 	{	
	 	compLayr = document.layers[obj];
	} else {	
		if (eval("document.all." + obj + ".style") != null) {
			compLayr = eval("document.all." + obj + ".style");
		} else {
			compLayr = '';	
		}
	}
	return compLayr
}


function show(objName)
{
//	document.getElementsByName(objName).visibility = "visible";
	obj = getObj(objName);
	obj.visibility = "visible";
}

function hide(layr)
{
	obj = getObj(layr);
	obj.visibility = "hidden";
}

function $filLoad($_SERVER, ind, parentId )
{
	servScr = 'http://' + $_SERVER + '/contnt_loader.php?PG=' + ind + '&PnT=' + parentId ;
//alert( 'filLoad  servScr ==== ' + servScr );

	$ld7Zons( servScr, 'tdParentObj', 'tdObjMenu', 'tdObjName', 'tdEntityIntrodaktion', 'tdEntityDeskription', 'tdEntityRelations', 'tdPhotoPresent');

//onSuccess:alert( 'filLoad  Load data onSuccess ' );


}




function sendMessage(_SERVER, obj, app)
{
	url = "http://" + _SERVER + "message.php?obj=" + obj + "&app=" + app;
	window2=open(url, "messageWindow","scrollbars=yes,width=800, height=600");
}

function createForm( _URL, width_v,  height_v)
{
//alert( 'width_v= ' + width_v + '; height_v= ' + height_v);
	window2=open(_URL, "editWindow", "scrollbars=yes", "width=width_v", "height=height_v");
//	window2=open(_URL, "editWindow", "scrollbars=yes, width=width_v,height=height_v");
}



function createEditForm( name, _URL, width_v,  height_v)
{
//	window2=open(_URL, name, "scrollbars=yes, width=width_v,height=height_v");
	window2=open(_URL, name, "scrollbars=yes", "width=width_v", "height=height_v");
}

//Стоит определить, и где - то хранить ТЕКУЩИЙ тип сущьности, (serch_obj_type)
//далее... это все ... надо удалять все, что было введено, или предупредить пользователя, что мот быть удалено... 

//ну и дальше...

function showCooseBar() {
	$show('field_bar');
}


function hideCooseBar() {
	if($('field_bar')!=null) {
		$hide('field_bar');
	}
}

function addChooseField(){
	alert ('addChooseField  = ' );
}

function showDiv(divName) {
	$show(divName);
}

function hideDiv(divName) {
	if($('field_bar')!=null) {
		$hide('field_bar');
	}
	hideLoadingIndicator();
	$hide(divName);
}

function hideDivOne(divName) {
	hideLoadingIndicator();
	$hide(divName);
}

function showForm(formWidth, formHeight) {
	var x = parseInt(getBodyScrollLeft());
	var y = parseInt(getBodyScrollTop());
//alert ('x = ' + x + '; y = ' + y);
	var srX = parseInt( ((screen.width - formWidth)/4).toFixed(0) );
	var srY = parseInt( ((screen.height - formHeight)/4).toFixed(0) ); 
//alert ('srX = ' + srX + '; srY = ' + srY);

	$('info_bar').style.left = x + srX + "px";
	$('info_bar').style.top = y + srY + "px";
	
//	$('info_bar').style.height = formHeight + "px";
//	$('info_bar').style.width = formWidth + "px";
	
	$show('info_bar');
}

function showFormPhoto(H, picBody) {
	showLoadingIndicator();
	$show('info_bar');
	var clientW = getClientWidth();
	var clientH = getClientHeight();
	var srX = parseInt((screen.width - clientW)/4);
	var srY = parseInt((screen.height - clientH)/4); 
//alert("Размер clientH:" + clientH +"; clientW = "+ clientW );
	
//	if (clientH < y_size_body) {
//		H = 0;
//	} else {
//		H = (((y_size_body - clientH)/4).toFixed(0));
//	}
//	$hide('info_bar');
	var y = getBodyScrollTop();
	var x = getBodyScrollLeft();
//alert("смещение страницы:" + x +"x"+ y );
	var x_size_body = parseInt($(picBody).offsetWidth);
	var y_size_body = parseInt($(picBody).offsetHeight);
//alert("окончательные размеры: x_size_body " + x_size_body + '; y_size_body = ' + y_size_body );
//alert("Размер элемента:" + x_size_body +"x"+ y_size_body );
//	if (x_size_body > 0)  {
//		$('info_bar').style.width = x_size_body + 50 + "px";
//	}
//	if (y_size_body > 0)  {
//		$('info_bar').style.height = y_size_body + "px";
//	}
	var srY = parseInt(H) + parseInt(y); // parseInt((screen.height - formHeight)/4); 
	var srX = (parseInt(screen.width) - parseInt(x_size_body))/4;
	srX = parseInt((srX).toFixed(0)) + parseInt(x);
//alert("окончательное смещение: " + '; srX = ' + srX + '; srY = ' + srY );
	$('info_bar').style.left = srX + "px";
	$('info_bar').style.top =  srY + "px";
	$('info_bar').style.width = x_size_body + "px";
	$('info_bar').style.height = y_size_body + "px";
	hideLoadingIndicator();
//	$show('info_bar');
//alert("showFormPhoto: End ");
}


function showFormWidth( view_item, H, formWidth, formHeight) {
	showLoadingIndicator();
	$show('info_bar');
	var y = parseInt( getBodyScrollTop() );
	var x = parseInt( getBodyScrollLeft() );
	var srY = H; // parseInt((screen.height - formHeight)/4); 
	var srX = 50;
	if (formWidth != 0) {
		srX = parseInt( ( (parseInt(screen.width) - parseInt(formWidth))/4).toFixed(0) );
		$('info_bar').style.width = formWidth + "px";
	} 
	if (formHeight != 0) {
		$('info_bar').style.height = formHeight + "px";
		$('info_bar').style.scroll = 'auto';
	} else {
		of_Height = parseInt($(view_item).offsetHeight);
		$('info_bar').style.height = of_Height + "px";
	}
	$('info_bar').style.top = y + srY + "px";
	$('info_bar').style.left = x + srX + "px";
//	$('info_bar').style.left = srX + "px";
	hideLoadingIndicator();
}

function presentDataForm( presentForm, view_item, topPos, formWidth, formHeight) {
	showLoadingIndicator();
	$show(presentForm);
	var y = parseInt( getBodyScrollTop() );
	var x = parseInt( getBodyScrollLeft() );
	var srY = topPos; // parseInt((screen.height - formHeight)/4); 
	var srX = 50;
	if (formWidth != 0) {
		srX = parseInt( ( (parseInt(screen.width) - parseInt(formWidth))/4).toFixed(0) );
		$(presentForm).style.width = formWidth + "px";
	} 
	if (formHeight != 0) {
		$(presentForm).style.height = formHeight + "px";
		$(presentForm).style.scroll = 'auto';
	} else {
		of_Height = parseInt($(view_item).offsetHeight);
		$(presentForm).style.height = of_Height + "px";
	}
	$(presentForm).style.top = y + srY + "px";
	$(presentForm).style.left = x + srX + "px";
//	$(presentForm).style.left = srX + "px";
	hideLoadingIndicator();
}

function presentSerchData( presentForm, view_item, topPos, formWidth, formHeight) {
	showLoadingIndicator();
	$show(presentForm);
//	var y = parseInt( getBodyScrollTop() );
//	var x = parseInt( getBodyScrollLeft() );
	var srY = topPos; // parseInt((screen.height - formHeight)/4); 
	var srX = 50;
	if (formWidth != 0) {
		srX = parseInt( ( (parseInt(screen.width) - parseInt(formWidth))/4).toFixed(0) );
		$(presentForm).style.width = formWidth + "px";
	} 
	if (formHeight != 0) {
		$(presentForm).style.height = formHeight + "px";
		$(presentForm).style.scroll = 'auto';
	} else {
		of_Height = parseInt($(view_item).offsetHeight);
//alert("окончательное смещение: " + '; of_Height = ' + of_Height  );
		$(presentForm).style.height = of_Height + "px";
	}
	$(presentForm).style.top = srY + "px";
	$(presentForm).style.left = srX + "px";
//	$(presentForm).style.left = srX + "px";
	hideLoadingIndicator();
}

function hideForm() {
	$hide('info_bar');
}


function isValidEmail (email)
{
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9_\-]+\.)+[a-z]{2,4}$/i).test(email);
}

//picWindow(picFileName, title, alt, name)
//
//function picWindow( options, picFileName, title, alt, name, servReq, dt, hs ) {
//	showLoadingIndicator();
//	if (options) {
//		hideLoadingIndicator();
//		if (options.error > 0) {
//			alert (err_all + options.error_desc);
//		} else {
//			$('info_bar').innerHTML = options.reviewListForm;		
////			showForm(700, 420);
////			showFormWidth(30, 800, 400);
//			showFormWidth(30, 800, 0);
//		}
//		return false;
//	}
//	var requestServ = servReq+'/tools.php';
//	var requestParam = 'prc=pw&&pn='+ pn + '&pg='+ pg + '&dt='+ dt + '&hs='+ hs;
//	SendRequestByAjax( requestServ, requestParam, reviewListPresent);
//}

