/*	#########	Begin: Глобальные переменные	########	*/
var $extPar = {
};

var dHost = 'artisite.com';
//var dHost = '127.0.0.1:8083';
var $win = {
	'tmp': {
		'init': null
	}
	,'def': {
		'url': 'http://'+dHost+'/artisite/index.htm?sID=3'
		,'ourScript': 'http://'+dHost+'/cgi-bin/artisite/art.fcgi'
		,'title': {
			'width': 17
			,'height': 17
		}
	}
	,'init': null
	,'Obj': null
	,'dHash': {}
	,'otl': {}
};
/*	#########	End: Глобальные переменные	########	*/

/**
	$('#insBlockDiv').win({ 
		url: 'http://127.0.0.1:8083/artisite/index.htm?sID=3'	// URL загружаемый в окно (по умолчанинию 'http://127.0.0.1:8083/sChat/asc.html?ddd343')
		,tTitle:'Артисайт'		// Заголовок (по умолчанинию null)
		,width: 700				// width окна (по умолчанинию 600px)
		,height: 300			// height окна (по умолчанинию 300px)
		,Opacity: -1 || {	// HASH opacity (по умолчанинию включено c параметрами по умолчанию, для отключения '-1')
			start: { ...,opDX: 5 }	// Begin параметры для opacity 
			,end: { ...,opDX: 5 }	// End параметры для opacity 
			}	
		,Opacity: false || {...,opDX: 5}	// HASH opacity (по умолчанинию включено c параметрами по умолчанию, для отключения 'no')
		,reInit: 1				// повторная инициализация (по умолчанинию null)
		,hideID: []		сделать		// массив ID которые необходимо скрывать (по умолчанинию [])
	});
*/
function win(iHash) {
	if(!iHash) iHash = {};
//	if($cnf_Ext.browser.mozilla) iHash.Opacity = -1;
//alert('iHash.Opacity= ' + iHash.Opacity);

	this.tComHash.par = iHash;
	this.sOpacity = false;
	this.eOpacity = false;
	if(!iHash.Opacity) iHash.Opacity = {};
	else if(typeof(iHash.Opacity) == 'object') {
		if(iHash.Opacity.start) this.sOpacity = iHash.Opacity.start;
		if(iHash.Opacity.end) this.eOpacity = iHash.Opacity.end;
	}
	this.Opacity = iHash.Opacity;

	if($win.Obj && $win.Obj.tID && !iHash.reInit && iHash.url == $win.Obj.tUrl) {
		var opPar = this.sOpacity || {};
		opPar.fn = $win.Obj.ShowHide;
//		opPar.fObj = $win.Obj.tID;
//		if(iHash.opDX) opPar.opDX = iHash.opDX;
//alert('iHash.Opacity= ' + iHash.Opacity);

//		if(iHash.Opacity) _OpacityRun( opPar );
//		else _css_Ext($win.Obj.tID, {display:'block'});
//_css_Ext($win.Obj.tID, {display:'block'});
		SetWinPos($win.Obj.tID, $win.Obj.tComHash);

		return;
	}
	$win.Obj = this;

	function ShowHide(tID, fl) {	//	
		if(!tID) tID = $win.Obj.tID;
		var disp = _css_Ext(tID, 'display');
		var cssHash = { display: 'block' };

		var hideID = $win.Obj.tComHash.par.hideID || [];
//alert('ShowHide');

var ovClass = ($cnf_Ext.browser.mozilla ? 't_overlayBG' : 't_overlayBG1');

var ttObj = document.getElementById('overlayBG');
		if(fl || _css_Ext(tID, 'display') == 'block') {
if(ttObj) ttObj.className = '';
if($cnf_Ext.browser.mozilla) ttObj.style.opacity = 1;
//else ttObj.style.opacity = 0.75;

			cssHash.display = 'none';
			if($win.Obj.tComHash.par.Opacity) {
				var opPar = $win.Obj.eOpacity || { 'opEnd': 100 };
//opPar.iObj = tID;
opPar.iObj = tID;
				_OpacityRun(opPar);
			}
		} else {
if(ttObj) ttObj.className = ovClass;

		}

		_css_Ext(tID, cssHash);
		var cssHash1 = { display: 'block' };
		if(cssHash.display == 'block') cssHash1.display = 'none';
		for(var i=0; i<hideID.length; i++) _css_Ext(hideID[i], cssHash1);
	}
	this.ShowHide = ShowHide;

	function SetWinPos(tID, nHash) {	//	
		var iFrID = 'insBlock_'+tID;
		var tTitle = nHash.par.tTitle || '';
		var cssHash = { width: nHash.par.width || 777, height: nHash.par.height || 610, pLev:2 };
		var dPos = getPosInDiv_Ext(tID, cssHash);
		cssHash.top = dPos.centr.top; cssHash.left = dPos.centr.left;
//var tstr = Dumper(2, dPos, 'dPos');
//alert('tstr1=' + tstr);
//var tstr = Dumper(2, cssHash, 'cssHash');
//alert('tstr1=' + tstr);


//alert(cssHash.top);
//		if($cnf_Ext.browser.mozilla) {
//			cssHash.top -= dPos.w_scrollTop; cssHash.left -= dPos.w_scrollLeft;
//		}

		if($win.Obj.Opacity != -1) {
			var opPar = $win.Obj.sOpacity || {};
//			opPar.fn = $win.Obj.ShowHide;
//if($win.Obj.tComHash.par.opDX) opPar.opDX = $win.Obj.tComHash.par.opDX;
//var tstr = Dumper(2, opPar, 'opPar');
//alert('tstr1=' + tstr);
opPar.iObj = tID;
opPar.fObj = tID;

			if(nHash.par.nOpenFName) nHash.par.nOpenFName(opPar);
			else _OpenWin( opPar );
//			else _OpacityRun( opPar );
		} else cssHash.display = 'block';
cssHash.display = 'block';
//		cssHash.zIndex = 1000;
		_css_Ext(tID, cssHash);
		
		if(tTitle) {
			var titleDiv = getPosInDiv_Ext('iTitID');
			_css_Ext(iFrID, { width: cssHash.width, height: cssHash.height - titleDiv.divHeight });
		}

	}
	this.SetWinPos = SetWinPos;

	function _Init(iHash) {	//	Инициализация win
		if(!$cnf_Ext.DOM_Ready) return false;

		var nHash = this.tComHash;
		if(!nHash.arr || nHash.arr.length<1) return false;
		var tID = nHash.arr[0];
		this.tID = tID;
		var iFrID = 'insBlock_'+tID;
		var iTitID = 'titleDiv_'+tID;

//var tstr = Dumper(2, nHash, 'nHash');
//alert('tstr1=' + tstr);
		var extReq = nHash.par.ExtFilter;
		var ourScript = $win.def.ourScript;

	  if(nHash.par.ExtFilterForm) {
		var data = '';
		if(nHash.par.ExtFilterForm.extFuncParam) {
			data = nHash.par.ExtFilterForm.extFuncParam();
//alert('data1=' + data);
		} else {
			var tForm = document.forms[nHash.par.ExtFilterForm.form];
			var tFields = nHash.par.ExtFilterForm.fields;
			var tmp = [];
			for(var prop in tFields) {
//alert(prop + ' =prop= ' + tFields[prop]);
				var rs = $extPar[prop];
				if(!rs && tForm && tForm[prop]) {
					var obj =  tForm[prop];// || document.getElementById(fields[j]);
					if(obj) rs = obj.value || (obj.checked ? 1:'');
				}
				if(!rs && tFields[prop] != null) rs = tFields[prop];
				if(rs) tmp.push(prop + '=' + rs);
			}
			data = tmp.join('&');

		}
		data += '&uSess=' + $cnf_Ext.uSess;
		data += '&ourScript=' + escape(ourScript);
		data += '&ExtFilterDescr=' + escape(nHash.par.ExtFilterDescr);
//alert('tFields=' + tFields);

//alert('data=' + data);
_getSPage({ 'gUrl': extReq, 'data': data, 'metod': 'POST', 'ans': _getAnswer1 });
	  }
		
		var tTitle = nHash.par.tTitle || '';
		var nCloseTitle = nHash.par.nCloseTitle || '';
		var nCloseFName = nHash.par.nCloseFName || '_CloseWin';

		var it = '<div id="'+iTitID+'">'+tTitle+'<span id="nClose" title="Close me" onclick="'+nCloseFName+'(\''+tID+'\', 1);">'+nCloseTitle+'</span></div>';
it += '<img id="loading'+iTitID+'" class="waiting1" src="http://'+dHost+'/artisite/css/loading.gif" title="Searching..." />';

//		var it = '<div id="'+iTitID+'">'+tTitle+'<span id="nClose" title="Close me" onclick="$win.Obj.ShowHide(\''+tID+'\', 1);"></span></div>';
//alert(it);
		var tUrl = nHash.par.url || $win.def.url || ('http://'+dHost+'/artisite/index.htm');
		this.tUrl = tUrl;
		tUrl += (tUrl.match(/\?/) ? '&':'?') + 'uSess=' + $cnf_Ext.uSess;
		tUrl += '&int=1';
//		var tHeight = (tUrl.match(/rp=/) ? 96:100);
		var tHeight = 97;

//alert(tUrl);
$win.otl.tID = iFrID; 
$win.otl.tUrl = tUrl; 
nHash.par.loading = 'http://'+dHost+'/artisite/loading.htm';
	  if(nHash.par.ExtFilterForm) {
		tUrl = (nHash.par.loading ? nHash.par.loading : 'http://'+dHost+'/artisite/css/loadingcicle.gif');
	  }
$win.otl.ifr = '<IFRAME style="FILTER: chroma()" allowtransparency="true" onload="hLoading(\'loading'+iTitID+'\');" id="'+iFrID+'" name="insBlock" SRC="'+tUrl+'" style="width:100%; height:'+tHeight+'%;" frameborder="0" marginwidth="1px" marginheight="1px"></IFRAME>'; 
		it += $win.otl.ifr;
		var nObj = _html_Ext(tID, it);
//alert(it);
_css_Ext(nObj, { 'display': 'block' });
//		dHide('loading');
//window.setTimeout("hLoading()", 1550);
//alert('ddd');

//t_overlayBG

		SetWinPos(tID, nHash);
return true;
	}
	this._Init = _Init;
	if($cnf_Ext.DOM_Ready) this._Init(iHash);

	this.tComHash.initFN = $win.Obj._Init;
return this;
}

function hLoading(iname) {	//	Скрыть loading
	dHide(iname, 1);
return;
}


function _getAnswer1() {	//	Ответ от чужого сервера
	var c_debug = '_ajaxAnswer';
	var recRes = '';
//alert('_ajaxAnswer: ' + $gHash_Ext.env.xmlhttp.readyState);
//return;
	if ($gHash_Ext.env.xmlhttp.readyState == 4) {
		recRes = $gHash_Ext.env.xmlhttp.responseText;
//		$gHash_Ext.env.xmlhttp = null;
//alert('_ajaxAnswer: ' + recRes);
		var obj = document.getElementById($win.otl.tID);
		if(recRes == 'ok') {
			if(obj) obj.src = $win.otl.tUrl + '&extSearch=1';
		} else {
			if(obj) obj.src = $win.otl.tUrl;
		}
//alert('obj.src: ' + obj.src);
	}
}
