var indRes	= {};
var indArr	= [];
var indColor = [];
var sFileAttr	= {};
var ImgCash	= {};
var hsvHash	= {};


function g4Flash(jComm, it) {
//alert('g4Flas22h= ' + it);
	var ok = true; if(it) { try { eval(it); } catch(e){ ok = false; } }
	switch (jComm) {
		case 'sFileAttr':
//alert('11sFileAttr= ' + sFileAttr.size);
			for(var prop in sFileAttr) {
				var divName = 'imgParam_'+prop+'_Div';
				var zn = sFileAttr[prop];
				if(!zn) {
					ClassAdd(divName, 'Hide');
				} else {
					ClassDel(divName, 'Hide');
					_html('imgParam_'+prop, zn);
				}
			}

			ClassAdd('imgParam_Warn_Div', 'Hide');
			if($cnf.uploadFileMaxSize < sFileAttr.size) {
				ClassDel('imgParam_Warn_Div', 'Hide');
				var zn = _('loc_BadFileSize', $cnf.lang);
				zn += ' ' + $cnf.uploadFileMaxSize + ' bytes<br>';
				zn += _('loc_UploadCancel', $cnf.lang);
				_html('imgParam_Warn_Title', zn);
			}
			_css('imgParam', { display: 'block' });
			break;
		case 'sFileComplete':
//alert('sFileComplete= ' + $cnf.uSess);
			var ddd = new Date(); var dd = ddd.getTime();
			var img = '<img id="imgView1" class="imgFromServer" src="'+$gHash.env.sHost + $gHash.env.imgUrl+'/uploadtmp/'+$cnf.uSess+'.png?'+dd+'">';
			var iObj = document.getElementById('imgView');
			if(!iObj) return;
			var iObj = _html('imgView', img);
//			iObj.innerHTML = img;
			_css(iObj, { display: 'block' });

			var iObj = document.getElementById('imgView1');
			if(iObj) {
				iObj.onmousedown = gPixHSB;
				iObj.onload = setPXInfo;
//alert('iObj= ' + iObj.clientWidth);
//showPropOld(iObj.style);
			}
			getFilegist(dd);
			break;
		default:
			break;
	}
}

function getFilegist(dd) {
	var rUrl = $gHash.env.sHost + $gHash.env.imgUrl + '/uploadtmp/' + $cnf.uSess + '.js';
	rUrl += '?tStamp=' + dd;
//alert('rUrl= ' + rUrl);
	_getSPage({ 'gUrl': rUrl, 'ans': pansgetFilegist });
}

function pansgetFilegist(data) {
	var cxmlhttp = $gHash.env1.xmlhttp[0];
	if(!cxmlhttp) {
		dHide('loading', 1);
//alert('bad req pansgetFilegist 0');
		return;
	}

	if(cxmlhttp.readyState != 4) return;

	var recRes = cxmlhttp.responseText;

	delete $gHash.env1.xmlhttp[0];
//	delete $gHash.env.xmlhttp;
//	$gHash.env.xmlhttp = null;
	dHide('loading', 1);

	var ok = true; try { eval(recRes); } catch(e){ ok = false; }
	if(!ok) return;

//var tstr = Dumper(2, indColor, 'indColor');
//alert('tstr1=' + tstr);

	var tMin = $cnf.tMin;
	var it = '';
	for(i=0;i<indColor.length;i++) {
		var iHash = indColor[i];
		if(iHash.rgb == 'ffffff' || iHash.rgb == 'FFFFFF' || iHash.rgb == '000000') continue;
		var farg = iHash.hsb+",'"+iHash.rgb+"'";
		var r = iHash.hsb.split(',');
		var r1 = [4*r[0], r[1]*20+tMin, r[2]*20+tMin ];
		var rgb1 = hsv2hex(r1);
		it += '<span title="RGB: #'+rgb1+' HSB: '+iHash.hsb+'" style="background-color: #'+rgb1+'"><img onClick="_css(\'result\', { \'display\':\'block\'});_css(\'FirstHelp\', { \'display\':\'none\'});_normHSB(90, true, \''+iHash.hsb+'\');" class="colorImg3" src="css/blank.gif"></span>';
	}
	_html('imgIndex', it);

}

function setPXInfo() {
	var iObj = document.getElementById('imgView1');
	if(iObj) {
		var px = iObj.clientWidth + 'x' + iObj.clientHeight + ' px';
		_html('imgParam_px', px);
	}
}

function call2Flash() {
	var swfVer = GetSwfVer();

//alert(swfVer + ' =FlashObj= ' + $gHash.env.FlashObj);
	if($gHash.env.FlashObj && $gHash.env.FlashObj.Comm2Flash) {
		$gHash.env.FlashObj.Comm2Flash('set', 'upScript', $gHash.env.sScript + '?gg=ff&res=JS');
		$gHash.env.FlashObj.Comm2Flash('set', 'uSess', $cnf.uSess);
		$gHash.env.FlashObj.Comm2Flash('set', 'uploadFileMaxSize', $cnf.uploadFileMaxSize);
		$gHash.env.FlashObj.Comm2Flash('UpLoad','','');
	}
}

function thisMovie(movieName) {
	if($browser.msie) return document[movieName]; // IE
	else { // Opera + FireFox
		if(document.embeds) {
			for(var i=0;i<document.embeds.length;i++) {
				var tObj = document.embeds[i];
				if(tObj.id == movieName) return tObj;
			}
		}
	}
return null;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
//alert('flashDescription= ' + flashDescription);
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ($browser.msie) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}


function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

/*	#########	End: Временные переменные	########	*/
//	document.onreadystatechange = art_ready;

function art_load() {
art_init();
return;
}

function art_ready(e) {
alert('dddddddd' + document.readyState);
}

/*	#########	Begin: Утилиты Art	########	*/
function art_init() {	// 1 Загрузка экрана
//alert('$gHash.art=' + $gHash.art);
	if($gHash.art) return;	// уже инициализоран экран

	_browser();						// определение Браузера
	_ev_fun( {com:'init'} );		// установка деструктора
	art_Param();

}

function art_Param() {		// определение параметров
//alert('$gHash.par=' + $gHash.par);
	var c_debug = 'art_Param';
	if($gHash.par) return;	// уже инициализоран экран
	$gHash.par = {};
	$gHash.usrHash = {};

	var dObj = new Date(); var dd = dObj.getTime();
//	$cnf.zStamp = parseInt(dd , 10);
	$cnf.tStamp = dd.toString();
	$cnf.zStamp = 0;

	var tForm = document.forms['tForm'];
	var nURL = document.URL; 
	var pt = nURL.toString();
	var pt1 = pt.match(/http:\/\/([^\/]+)\//);
	if(pt1) $gHash.env.sHost = 'http://'+pt1[1];
	$gHash.env.sScript = $gHash.env.sHost + $gHash.env.sProg;
	tForm.action = $gHash.env.sScript;

	var i2 = nURL.lastIndexOf('?');
	var tmp = "";
	if ( i2 > 0) {
		tmp = nURL.substring(i2+1, nURL.length );
		var pt = tmp.split(/\&/);
		for(i=0;i<pt.length;i++){
			var pp = pt[i].split(/=/);
			if(pp && pp.length == 2) {
				pp[1] = pp[1].replace(/\#.+/, '');
				if(pp[1]) {
					var key = pp[0];
					$gHash.par[key] = pp[1];
					if(tForm[key]) tForm[key].value = pp[1];
				}
			}
		}
	}

	if($cnf.flDebug && $gHash.par.debug) {
		$cnf.debug = $gHash.par.debug;
	}

	if($gHash.par.noCash) {
		$cnf.noCash = $gHash.par.noCash;
	}

	var hsvHash = null;
//	Begin: Серверные Куки
	var usrParam = { uSess: null  ,hsvHistory: [], favorite: {} };
	if(!$cnf.uSess) {
		$cnf.uSess = readCookie('uSess');
		if(!$cnf.uSess) $cnf.uSess = $cnf.tStamp + '_' + Math.round(Math.random() * 1000);
		createCookie('uSess', $cnf.uSess, 360);
	}
	var rUrl = $gHash.env.sScript + '?res=JS&oper=cook&tStamp=' + $cnf.tStamp +'&uSess=' +$cnf.uSess;
	_getSPage({ 'gUrl': rUrl, 'ans': pansCook });
//alert('$gHash.par.extSearch=' + $gHash.par.extSearch);



//	End: Серверные Куки


	gotoLang($gHash.par.lang || $cnf.lang);
	if($gHash.par.nsc) $cnf.nsc = $gHash.par.nsc;

	if($gHash.par.rp) $cnf.reconpage = $gHash.par.rp;

	for(i=0; i<=40; i++) {
		if($cnf.nsc || i >= $cnf.reconpage) {		// не показывать контейнеры
			var iObj = document.getElementById('item_'+i);
			if(iObj) dHide(iObj.parentNode.parentNode, 1);
		}
	}
	if(!$gHash.par.sID) $gHash.par.sID = 'all';
	if($browser.mozilla) $cnf.gist.dx = $cnf.gist.dy = 0;
	if($browser.opera) $cnf.gist.dx = $cnf.gist.dy = 0;

	var iObj = document.getElementById('iGist');
	if(iObj) iObj.src = iObj.src.replace(/artGist_all\.png/, 'artGist_'+$gHash.par.sID+'.png') ;
//document.write('<script src="min/artGist_'+$gHash.par.sID+'.js" type="text/javascript"></script>');

//	var iObj = document.getElementById('gistJS');
//alert('iObj=' + iObj.src);
//	if(iObj) iObj.src = iObj.src.replace(/artGist_all\.js/, 'artGist_'+$gHash.par.sID+'.js') ;
//alert('iObj=' + iObj.src);

	$gHash.env.FlashObj = thisMovie('jsfFlash');

}

function cashImg(imgArr) {
//	Begin: Кеширование картинок при загрузке
//alert('cashImg:1');

		if(!$gHash.tmp.ImgCash) $gHash.tmp.ImgCash = {};
		if(!imgArr) imgArr = $gHash.cashMeImg;
		var rUrl = $gHash.env.sHost + $gHash.env.imgUrl + '/';

		for(var i=0; i<imgArr.length; i++){
			var imgPath = imgArr[i];
			if(imgPath.substr(0, 4) != 'http') imgPath = rUrl + imgPath;
			var pic = new Image();
			pic.src = imgPath;
//alert(imgPath);
			$gHash.tmp.ImgCash[imgPath] = pic;
		}
}

function getJSgist() {
//	Begin: JS дырок стандартного ColorPicker
		var rUrl = $gHash.env.sHost + $gHash.env.imgUrl + '/min/artInd_' + $gHash.par.sID + '.js';
		if($cnf.noCash == 1) rUrl += '?tStamp=' + $cnf.tStamp;
//alert('rUrl= ' + rUrl);
		_getSPage({ 'gUrl': rUrl, 'rNum':1, 'ans': pansJSgist });
}

function pansJSgist(data) {
return;
		var cxmlhttp = $gHash.env1.xmlhttp[1];
		if(!cxmlhttp) {
alert('bad req pansJSgist 1');
			return;
		}

//alert('readyState=' + cxmlhttp.readyState);
		if(cxmlhttp.readyState != 4) return;
//if(cxmlhttp.status != 200) alert('bad req pansJSgist= ' + cxmlhttp.status);
		var recRes = cxmlhttp.responseText;
//alert('recRes=' + recRes);

		
		delete $gHash.env1.xmlhttp[1];
//		delete $gHash.env.xmlhttp1;
//		$gHash.env.xmlhttp1 = null;
		dHide('loading', 1);

		var ok = true; try { eval(recRes); } catch(e){ ok = false; }
		if(!ok) return;
//alert('recRes1=' + recRes);

		if(hsvHash) $cnf.hsvHash = hsvHash;
		hsvHash = {};
//var tstr = Dumper(2, $cnf.hsvHash, 'hsvHash');
//alert('$cnf.hsvHash=' + $cnf.hsvHash);


//alert('hsvHash= ' + hsvHash);
//cashImg();
}

function pansCook(data) {
//alert('$gHash.env.xmlhttp.readyState= ' + $gHash.env.xmlhttp);
	var cxmlhttp = $gHash.env1.xmlhttp[0];
	if(!cxmlhttp)	{ dHide('loading', 1);
//alert('bad req pansCook 0');
		return;
	}

		
		if(cxmlhttp.readyState != 4) return;
//if(cxmlhttp.status != 200) alert('bad req pansCook= ' + cxmlhttp.status);
		var recRes = cxmlhttp.responseText;
		delete $gHash.env1.xmlhttp[0];
//		delete $gHash.env.xmlhttp;
//		$gHash.env.xmlhttp = null;

hsvHash = null;


		dHide('loading', 1);
		var uCook = {};
//alert('recRes=' + recRes);
		var ok = true; try { eval(recRes); } catch(e){ ok = false; }
		if(!ok) return;
		if(uCook && uCook.uSess == $cnf.uSess) {
			if(uCook.ExtFilterDescr) {
				$gHash.ExtFilterDescr = unescape(uCook.ExtFilterDescr);
//				_html('CQuery2', $gHash.ExtFilterDescr);
			}
//alert('$gHash.ExtFilterDescr=' + $gHash.ExtFilterDescr);
			$gHash.favItems = indRes;
			var t1 = uCook.uHash.uFav.split('|');
			var fidChk = {};
			var fCnt = 0;
			for(var i=0;i<t1.length;i++) {
				if(!t1[i]) continue;
				var t2 = t1[i].split(',');
				if(t2.length < 2 || fidChk[t2[0]]) continue;
				var mID = t2[1];
				fidChk[t2[0]] = 1;
				$cnf.favHash[mID] = { fid: t2[0], mID: mID };
				if(indRes[mID]) {
					var imgPath = $gHash.env.sHost + $gHash.env.imgUrl + '/min/' + indRes[mID].sID + '/' + mID + '.jpg';
					var tUrl = $gHash.favItems[mID].iPage[0];
					var tTitle = $gHash.favItems[mID].mTitle[0] + ' ';
					tTitle = tTitle.replace(/"/g, "'");
					var img = '';
					img += '<a href="'+tUrl+'" title="'+tTitle+'" onClick="return chk2Ext(this);" class="go2Ext" target="_blank">';
					img += '<img id="fmid_'+mID+'" title="'+mID+'" src="'+imgPath+'" class="favImg mID_'+mID+'">';
					img += '</a';

//					var img = '<img id="fmid_'+mID+'" title="'+mID+'" src="'+imgPath+'" class="favImg mID_'+mID+'">';
					_html(t2[0], img);
					fCnt++;
					var iObj = document.getElementById('fmid_'+mID);
					if(iObj) {
						iObj.onmousedown = bDrag;
						if(!$gHash.par.noHelp) iObj.onmouseover = _sHelp;
						iObj.onmouseout = _sOut;
//iObj.onclick = viewItem;
					}
				}
			}
			if(fCnt==0) {
				ClassAdd('FavesFull', 'Hide');
				ClassDel('FavesEmpty', 'Hide');
			} else {
				ClassDel('FavesFull', 'Hide');
				ClassAdd('FavesEmpty', 'Hide');
			}

			var t1 = uCook.uHash.uHist.split('|');
			$cnf.hsArr = [];
			for(var i=0;i<$cnf.HistoryLen;i++) {
				if(!t1[i]) continue;
				var t2 = t1[i].split(',');
				$cnf.hsArr.push({ "h":t2[0], "s":t2[1], "v":t2[2], "rgb":t2[3] });
			}
			pHistoryHSV();
		}
//		$.colpick.panswerFav();

	if(hsvHash) {
		$cnf.hsvHash = hsvHash;
//alert('hsvHash= ' + hsvHash[2]);
cashImg();
	} else {
getJSgist();
	}

//setTimeout(getJSgist, 200);
//if($browser.msie) setTimeout("getJSgist()", 200);
//else  getJSgist();
//else  setTimeout("getJSgist()", 2000);
//alert(' data= ' + recRes);

}


function addCashImg(imgPath, mID, ImgCash) {
	if(!ImgCash) ImgCash = $gHash.tmp.ImgCash;
	if(!mID) mID = imgPath;

	if(!ImgCash) ImgCash = {};
	if(!ImgCash[imgPath]) {
		var pic = new Image();
		var rUrl = $gHash.env.sHost + $gHash.env.imgUrl + '/';
//alert(imgPath.substr(0, 4));
		if(imgPath.substr(0, 4) != 'http') {
			imgPath = rUrl + imgPath;
		}
		pic.src = imgPath;
		ImgCash[mID] = pic;
	}
return ImgCash[mID].src;
}

function saveServCook(dp) {	// Серверные Куки
	var tmp = [];
	for(var i=0;i<$cnf.hsArr.length;i++) {
		var t1 = $cnf.hsArr[i];
		if(!t1) continue;
		tmp.push(t1.h+','+t1.s+','+t1.v+','+t1.rgb);
	}
	var hist = tmp.join('|');
	tmp = [];
	for(var prop in $cnf.favHash) {
		tmp.push($cnf.favHash[prop].fid +','+ prop);
	}
	var fav = tmp.join('|');

	var rUrl = $gHash.env.sScript + '?res=JS&oper=cook&set=1&tStamp=' + $cnf.tStamp +'&uSess=' +$cnf.uSess +'&uFav=' +fav +'&uHist=' +hist +'&dp=' +dp;
//alert('ddddddd ' + rUrl);
//	_getSPage({ 'gUrl': rUrl, 'ans': _getAnswer });
	_getSPage({ 'gUrl': rUrl });
}

function tabSel(iName) {	// 1 Загрузка экрана
	dHide($gHash.tab.curSelect + '_body', 1);
	ClassDel($gHash.tab.curSelect, 'tabs-selected');
//	ClassDel(iName.id + '_body', 'Hide');
	dHide(iName.id + '_body');
	$gHash.tab.curSelect = iName.id;
	ClassAdd($gHash.tab.curSelect, 'tabs-selected');

	if($gHash.tab.curSelect == 'picker02') {
		var cHSB = $cnf.gist.shsb;
		var r = cHSB.split(',');

		var y = Math.floor(0.5 + 109*r[0]/360);
		var py = y - 2 - $cnf.gist.dy;
		if($browser.opera) py -= 2;
		_css('hline', { 'top':py + 'px', 'left':'-10px' });

		var x = r[1];
		y = Math.floor(0.5 + 80*r[2]/100);
		var px = x - 6 - $cnf.gist.dx;
		py = 80 - y - $cnf.gist.dy;
		if($browser.opera) py -= 4;
		_css('svSelect', { 'top': py + 'px', 'left':px + 'px' });
		_normHSB(360, false, r[0], r[1], r[2]);
	}

	if(!$browser.msie || $browser.version > 6) {
//alert(' ddd= ' + $browser.version);
		if($gHash.tab.curSelect != 'picker01') _css('shapka', { 'height': 176 });
		else _css('shapka', { 'height': 140 });
	}

}

function _mGistClick(e) {	//	Click на гистограмме
	_css('result', { 'display':'block'});
	_css('FirstHelp', { 'display':'none'});
	$cnf.gist.sHSB = $cnf.gist.cHSB;
//alert('tstr1=' + $cnf.gist.sHSB);
	var r = $cnf.gist.sHSB.split(',');

	var svHash = $cnf.hsvHash[r[0]] || {};
	if(!svHash) return;
	if(svHash) {
		if(r[1] == -1 && (!svHash.ciV || !svHash.ciV[r[2]])) return;
		if(r[2] == -1 && (!svHash.ciS || !svHash.ciS[r[1]])) return;
	}

	$gHash.par.page = 1;
	_normHSB(90, true, r[0], r[1], r[2]);
//if($cnf.mouse.y && $cnf.mouse.x) _css('loading', { 'top':$cnf.mouse.y - 8 , 'left':$cnf.mouse.x - 8 });
}

function _mGistMove(e, fl) {	//	Координаты
	var iGist = document.getElementById('iGist');
	if(!iGist) return;
	var pos = getPosInDiv(e, iGist.parentNode);

	var hc = 90/450;
	var h = Math.floor(pos.x * hc);
	var s = Math.floor(pos.y * 5/25);
	var v = -1;
	if(pos.y>24) v = 9 - s, s = -1;
//	if(pos.y>24) v = s - 5, s = -1;
	pHSVt(h, s, v, 'nb_');

	var tit = 'HSB: ' + $cnf.gist.cHSB;

	var data = 'No data';
	var svHash = $cnf.hsvHash[h] || {};
	if(svHash) {
		if(s == -1 && svHash.ciV && svHash.ciV[v]) data = 'ok';
		if(v == -1 && svHash.ciS && svHash.ciS[s]) data = 'ok';
	}
//	tit += ' HSBserv: ' + h + ':' + s + ':' + v;
	tit += ' ' + data;

	iGist.title = tit;


//_html('status2', ' x,y' + pos.x + ',' + pos.y + ' cHSB' + $cnf.gist.cHSB);
}

function _mHueClick(e) {	//	Click в hue2
	_css('result', { 'display':'block'});
	_css('FirstHelp', { 'display':'none'});
	if($cnf.gist.hue) $cnf.gist.hue = false;
	else { $cnf.gist.chsb = $cnf.gist.shsb; $cnf.gist.hue = true; _mHueMove(e); }

	var chsb = $cnf.gist.shsb;
	var r = chsb.split(',');
	
//	_normHSB(360, true, r[0], r[1], r[2]);
	_normHSB(360, true, $cnf.gist.chsb);
//if($cnf.mouse.y && $cnf.mouse.x) _css('loading', { 'top':$cnf.mouse.y - 8 , 'left':$cnf.mouse.x - 8 });

}


function _mHueMove(e, fl) {	//	Координаты в hue2
	if(!$cnf) return;
	if(!$cnf.gist.hue) return;
	var pos = getPosInDiv(e, 'colorpicker2');
//var tstr = Dumper(2, pos, 'pos');
//alert('tstr1=' + tstr);

//	var chsb = $cnf.gist.sHSB;
	var chsb = $cnf.gist.shsb;
	var r = chsb.split(',');

	var elHeight = pos.divHeight;

	if(pos.y > 109) pos.y = 109;

	if($browser.opera) elHeight -= 0;
//	var iObj = document.getElementById('hue2');
//	if(iObj) elHeight = iObj.height;

//	if($browser.mozilla) pos.y -= 29;
	r[0] = Math.floor(0.5 + 360 * pos.y/elHeight);
	if(r[0] == 360) r[0] = 358;
	var y = Math.floor(0.5 + 109*r[0]/360);
	y -= 2 + $cnf.gist.dy;
	if($browser.mozilla) y -= 2;
	if($browser.opera) y -= 2;
	_css('hline', { 'top': y +'px', 'left':'-10px' });
	_normHSB(360, false, r[0], r[1], r[2]);
//_html('status2', ' x,y' + pos.x + ',' + pos.y + ' $cnf.gist.dy' + $cnf.gist.dy + ',' + pos.divHeight + ' cHSB' + $cnf.gist.cHSB);
}

function _normHSB(rz, sel, hsb, s, b, noZP) {	//	hsb 360,100,100
	var RB = [];
	var r = [hsb, s, b];
	if(typeof(hsb) == 'string') r = hsb.split(',');
	if(s != null) {	r[1] = s || 0;	r[2] = b || 0;	}
	if(rz == 360) {
		$cnf.gist.chsb = r.join(',');
		RB = [
			Math.floor(r[0]/4)
			,Math.floor(r[1]/20)
			,Math.floor(r[2]/20)
		];
		$cnf.gist.cHSB = RB.join(',');
	} else {
		RB = r;
		$cnf.gist.cHSB = r.join(',');
		var r = [
			Math.floor(0.5 + r[0]*4) + 2
			,(r[1]==-1 ? 99 : Math.floor(0.5 + r[1]*20) + 10)
			,(r[2]==-1 ? 99 : Math.floor(0.5 + r[2]*20) + 10)
		];
		$cnf.gist.chsb = r.join(',');
	}
	var rgb1 = hsv2hex([r[0], 99, 99]);
	_css('mask2c', { 'backgroundColor': '#'+rgb1 });

	var rgb2 = hsv2hex([r[0], r[1], r[2]]);
if(notSetForm == 0)	_css('blank2', { 'backgroundColor': '#'+rgb2 });
//alert(rz);

	var rgb3 = pHSVt(RB[0], RB[1], RB[2], 'nb_');

	if(sel) {
		$cnf.gist.shsb = $cnf.gist.chsb;
		$cnf.gist.sHSB = $cnf.gist.cHSB;
		pHSVt(RB[0], RB[1], RB[2], 'sb_');

		$cnf.hsArr.unshift({ "h":RB[0], "s":RB[1], "v":RB[2], "rgb":rgb3 });
		if($cnf.hsArr.length > $cnf.HistoryLen) $cnf.hsArr.pop();
//		dHide('backColor', 1);
		pHistoryHSV();
		if(!noZP) {
//			_comFn({com: 'gHSB'})
			$gHash.par.page = 1;
			gHSB();
		}
if(notSetForm == 0)	setRGBval(rgb3);
	}

if(notSetForm == 0) {
	_html('cp2H', RB[0]);
	_html('cp2S', RB[1]);
	_html('cp2V', RB[2]);
}
notSetForm = 0;

	_html('cp2RGB', '#' + rgb1);
//alert(rgb1);

}

function _mMaskMove(e, fl) {	//	Координаты в mask2
	var pos = getPosInDiv(e, 'colorpicker2');
	pos.x -= 20;// pos.y -= 20;
	if($browser.opera) pos.x += 2;
	if(pos.x > 99) pos.x = 99;
	if(pos.x < 0) pos.x = 0;
	if(pos.y > 79) pos.y = 79;
	if(pos.y < 0) pos.y = 0;

	var chsb = $cnf.gist.chsb;
	var r = chsb.split(',');
	r[1] = Math.floor(0.5 + pos.x);
	r[2] = 99 - Math.floor(0.5 + 100 * pos.y/80);
	_normHSB(360, false, r[0], r[1], r[2]);
}

function _mMaskClick(e, fl) {	//	Координаты в mask2
	_css('result', { 'display':'block'});
	_css('FirstHelp', { 'display':'none'});
	var pos = getPosInDiv(e, 'colorpicker2');
//alert(pos.x +', '+ pos.y);
	pos.x -= 20;// pos.y -= 20;
	if($browser.opera) pos.x += 2;
//	if($browser.mozilla) pos.x -= 20;
	if(pos.x > 99) pos.x = 99;
	if(pos.x < 0) pos.x = 0;
	if(pos.y > 79) pos.y = 79;
	if(pos.y < 0) pos.y = 0;

	var px = pos.x - $cnf.gist.dx;
	var py = pos.y - $cnf.gist.dy;
	if($browser.mozilla) px -= 4, py -= 4;
	if($browser.opera) px -= 7, py -= 5;
	_css('svSelect', { 'top':py + 'px', 'left':px + 'px' });

//alert(px +', '+ py +', cHSB='+ $cnf.gist.cHSB);

	var chsb = $cnf.gist.chsb;
	var r = chsb.split(',');
	r[1] = Math.floor(0.5 + pos.x + 2);
	r[2] = 99 - Math.floor(0.5 + 100 * pos.y/80);
	_normHSB(360, true, r[0], r[1], r[2]);
//	_normHSB(360, false, r[0], r[1], r[2]);
//_html('status2', ' x,y' + pos.x + ',' + pos.y + ' cHSB' + $cnf.gist.cHSB);
}


function setRGBval(rgbStr) {
	var tForm = document.forms['tForm1'];
	if(!tForm) return;
	if(!tForm.cp2R || !tForm.cp2G || !tForm.cp2B) return;
	var hexFl = 0;
	if(tForm.hexFl) hexFl = tForm.hexFl.value;
	var chVal = ['cp2R', 'cp2G', 'cp2B'];
	if(!rgbStr) rgbStr = '';
	var rgb = [
		rgbStr.substr(0, 2)
		,rgbStr.substr(2, 2)
		,rgbStr.substr(4, 2)
	];
//alert('rgbStr= ' + rgbStr);
	for(var i=0;i<rgb.length;i++) {
		var it = rgb[i] || '0';
		it = it.toLowerCase();
		var itf = chVal[i];
		tForm[itf].value = parseInt(it, 16);
	}
}

var notSetForm = 0;
function searchRGB() {
	_css('result', { 'display':'block'});
	_css('FirstHelp', { 'display':'none'});
	var tForm = document.forms['tForm1'];
	if(!tForm) return false;
	if(!tForm.cp2R || !tForm.cp2G || !tForm.cp2B) return;
	var hexFl = 0;
	if(tForm.hexFl) hexFl = tForm.hexFl.value;
	var chVal = ['cp2R', 'cp2G', 'cp2B'];
	var rgb = [tForm.cp2R.value, tForm.cp2G.value, tForm.cp2B.value];
//alert(' 1rgb ' + rgb[0] + ',' + rgb[1] + ',' + rgb[2]);
	for(var i=0;i<rgb.length;i++) {
		var it = rgb[i] || '0';
		var itf = chVal[i];
		if(hexFl) {
			it = it.toLowerCase();
			if(it.match(/[^0123456789abcdef]/)) {
				alert(_('loc_RGBbadValueHex', $cnf.lang));
				tForm[itf].focus(); return false;
			}
			rgb[i] = parseInt(it, 16);
		} else {
			if(it.match(/[^0123456789]/)) {
				alert(_('loc_RGBbadValue', $cnf.lang));
				tForm[itf].focus(); return false;
			}
			rgb[i] = parseInt(it);
//alert(' rgb[i] ' + i + ' : ' + rgb[i]);
		}
//alert('rgb[i] '+ rgb[i]);
		tForm[itf].value = rgb[i];

		if(rgb[i] < 0 || rgb[i]> 255) {
			alert(_('loc_RGBbadValue', $cnf.lang));
			tForm[itf].focus(); return false;
		}
	}
//alert(' rgb ' + rgb[0] + ',' + rgb[1] + ',' + rgb[2]);

	var rgb2 = rgb2hex(rgb);
	_css('blank2', { 'backgroundColor': '#'+rgb2 });

	var hsv = rgb2hsv(rgb);
//	var hsv = rgb2hsv(rgb);
//alert(' hsv1 ' + hsv[0] + ',' + hsv[1] + ',' + hsv[2]);
	var y = Math.floor(0.5 + 109*hsv[0]/360);
	y -= 2 + $cnf.gist.dy;
	if($browser.mozilla) y -= 2;
	if($browser.opera) y -= 2;
	_css('hline', { 'top': y +'px', 'left':'-10px' });

if(0) {
	var x = hsv[1];
	y = Math.floor(0.5 + 80*hsv[2]/100);
	var px = x - 6 - $cnf.gist.dx;
	py = 80 - y - $cnf.gist.dy;
	if($browser.opera) py -= 4;
	_css('svSelect', { 'top': py + 'px', 'left':px + 'px' });
}

//alert(' hsv1 ' + hsv[0] + ',' + hsv[1] + ',' + hsv[2]);
notSetForm = 1;
	_normHSB(360, true, hsv[0], hsv[1], hsv[2]);

//alert(' hsv1 ' + hsv[0] + ',' + hsv[1] + ',' + hsv[2]);
return false;
}

function gHistory(nm, spObj) {
	var iHash = $cnf.hsArr[nm];
	var flag = false;
	_css('result', { 'display':'block'});
	_css('FirstHelp', { 'display':'none'});
	if(spObj) {
		var itr = spObj.title.match(/RGB:\s\#([^\s]+)\sHSB:\s(.+)$/);
		if(itr) {
			iHash = {};
			iHash.rgb = itr[1];
			var r = itr[2].split(',');
			iHash.h = r[0]; iHash.s = r[1]; iHash.v = r[2];
//			flag = true;
//			var bObj = dHide('backColor', 1);
//			dHide(bObj);
		}
	}

	if(iHash) {
		$cnf.gist.cHSB = iHash.h + ',' + iHash.s + ',' + iHash.v;
		$gHash.par.page = 1;
		fHSV(iHash.h, iHash.s, iHash.v, flag);
		pHistoryHSV();
		_comFn({com: 'gHSB'})
	}
}

function pHistoryHSV() {

	var hTable = '';

	for(var i=0;i<$cnf.HistoryLen;i++) {
		var iHash = $cnf.hsArr[i];
		if(iHash) {
			var hid = 'h'+i;
			var iObj = document.getElementById(hid);
			if(iObj) {
				iObj.style.backgroundColor = '#'+iHash.rgb;
				iObj.title = 'RGB: #'+iHash.rgb + ' HSB: '+iHash.h+','+iHash.s+','+iHash.v;
			}
		}
	}
return;	
}

function pHSVt(h, s, v, pref) {
	if(!pref) return;
	var cHSB = h + ',' + s + ',' + v;
	$cnf.gist.cHSB = cHSB;

	var tMin = $cnf.tMin || 19;
	var tMax = 99;
var dstr = '';
	var fRGB = '';
	var flSV = (s == -1 || v == -1 ? 1:0);
	for(var j=0;j<5;j++) {
		var iName = pref+j;
		var iObj = document.getElementById(iName);
		if(!iObj) continue;

		var r = [];
		var s1 = s;
		var v1 = v;
		if(v == -1) {
			r = [4*h, s*20 + tMin, tMax - j*20 ], v1 = 4 - j;
		} else if(s == -1) {
//			r = [4*h, j*20 + tMin, v*20 + tMin ], s1 = j;
			r = [4*h, tMax - j*20, v*20 + tMin ], s1 = 4 - j;
		} else {
//			r = [4*h, s*20 + tMin, v*20 + tMin ];
			var ss = s*20 + (s==0 ? tMin : 0);
			if(s==4) ss = 90;
			var vv = v*20 + (v==0 ? tMin : 0);
			if(v==4) vv = 90;
			var hh = 4*h + (h==0 ? 2 : 0);
			r = [hh, ss, vv];
		}

//var tstr = Dumper(2, r, 'r');
//alert('tstr1=' + tstr);
		var rgb1 = hsv2hex(r);
		fRGB = rgb1;
		if(flSV) {
			fRGB = hsv2hex((s == -1 ? [4*h, tMax, v*20+tMin] : [4*h, s*20+tMin, tMax ]));
		}

		iObj.style.backgroundColor = '#'+rgb1;
		if(pref == 'sb_') {
			$cnf.sbArr[j] = { rgb: rgb1, h: h, s: s1, v: v1 };
			iObj.title = 'RGB: #'+rgb1 + ' HSB: '+h+','+s1+','+v1;
		}

	}

//	if(flSV && pref == 'sb_') dHide('backColor', 1);

//dstr += '<br>' +','+Math.floor(r[0]/4)+','+Math.floor(r[1]/20)+','+Math.floor(r[2]/20);
//$('#status3').html(dstr);
return fRGB;
}

function fHSV(h, s, v, com, e) {
	var cHSB = h + ',' + s + ',' + v;
//	if(!h) return;
	$cnf.gist.sHSB = $cnf.gist.cHSB = cHSB;

	var rgb = pHSVt(h, s, v, 'sb_');
//alert(rgb + ' =hsv= ' + h+ ','+ s+ ','+ v);

	var iObj = document.getElementById('sRGB');
	if(iObj) iObj.innerHTML = '#'+rgb;
	var iObj = document.getElementById('sHSB');
	if(iObj) { var hh = cHSB.replace(/-1/, 'x'); iObj.innerHTML = hh; }

	var tForm = document.forms['tForm'];
	if(!tForm) return;
	if(!tForm.sID) return;

	tForm.hsb.value = cHSB;
//alert(rgb + ' =hsv= ' + h+ ','+ s+ ','+ v);
//alert(' hsvs= ' + cHSB);

//$.colpick.ganswerHSB(e);

	if(com) {
		$cnf.hsArr.unshift({ "h":h, "s":s, "v":v, "rgb":rgb });
		if($cnf.hsArr.length > $cnf.HistoryLen) $cnf.hsArr.pop();
//		dHide('backColor', 1);
	}

//pHistoryHSV();

return;
}

function gHSB(dp) {
		var cHSB = $cnf.gist.sHSB;
		var r = cHSB.split(',');
		pHSVt(r[0], r[1], r[2], 'sb1_');

		var it = '';
		var page = $gHash.par.page || 1;
//		var page = parseInt($gHash.par.page, 10);
		var rp = parseInt($cnf.reconpage, 10);

		if(dp && dp!=0) {
//imgShow($gHash.curItems.indArr, dp);
//alert(' bn = ' + bn + ' en = ' + en + ' indLen=' + indLen);
//alert(' tmp.length = ' + tmp.length);
			var bn = 0;
			if(dp == 1) bn = rp + (page>1 ? rp : 0);
			var tmpArr = $gHash.curItems.indArr.slice(bn, bn + rp);
			imgShow(tmpArr, 1);

//alert(bn + ' dp = ' + tmpArr.length);
	}

		page += (dp ? dp : 0);
		$gHash.par.page = parseInt(page, 10);
		var rUrl = $gHash.env.sScript + '?fnd=1&res=JS&sID=' +$gHash.par.sID  + '&hsb=' + cHSB + '&p='+page+'&rp='+$cnf.reconpage;// + '&mWords='+$gHash.par.mWords;
//alert('rUrl=' + rUrl);
$cnf.noDrag = 1;
	dHide('navNext', 1);
	dHide('navPrevious', 1);
		_getSPage({ 'gUrl': rUrl, 'ans': panswerHSB });
}

function clrImg(flag) {
	for(i=0; i<$cnf.reconpage; i++){
		var iObj = document.getElementById('item_'+i);
		if(!iObj) continue;
iObj.src = 'css/load.gif';
//		iObj.src = addCashImg('css/load.gif', 'load');
		if($cnf.nsc) dHide(iObj.parentNode.parentNode, 1);
		iObj.className = iObj.className.replace(/ mID_\d+/g, '');
		var hObj = iObj.parentNode;
		hObj.href = 'javascript:/';
		hObj.title = '';
			
	}

	dHide('backColor', 1);
	if($cnf.hsArr.length) {
		var hisItem = $cnf.hsArr[0];
		var hsb = hisItem.h + ',' + hisItem.s + ',' + hisItem.v;
		if(hsb != $cnf.gist.sHSB) dHide('backColor');
	}
}

function imgShow(tmpArr, dp) {
	var out = { 'vArr':[] };
//	clrImg(1);
	var ln = tmpArr.length;

	for(i=0; i<tmpArr.length; i++){
		var mID = tmpArr[i];
		var iHash = $gHash.curItems.iHash[mID];
		if(!iHash) continue;

		var itName = 'item_'+i;
		var iDomObj = document.getElementById(itName);
		if(iDomObj) {
if(!iDomObj.parentNode) continue;
			iDomObj.src = addCashImg('css/load.gif', 'load');

//			if(!dp) iDomObj.src = addCashImg('css/load.gif', 'load');
//if(!dp) 
//	iDomObj.src = 'css/load.gif';
			var imgPath = $gHash.env.sHost + $gHash.env.imgUrl + '/min/' + iHash.sID + '/' + iHash.mID + '.jpg';
//			var imgPath = $gHash.env.sHost + $gHash.env.imgUrl + '/min/' + iHash.sID + '/' + iHash.mID + '.jpg';
//			if($gHash.curItems.iObj[iHash.mID]) imgPath = $gHash.curItems.iObj[iHash.mID].src;
//			iDomObj.src = imgPath; 
			iDomObj.className = iDomObj.className.replace(/ mID_\d+/g, '');
//			iDomObj.src = addCashImg(imgPath, iHash.mID, $gHash.curItems.iObj);

			iDomObj.src = addCashImg(imgPath, iHash.mID);
//			iDomObj.src = imgPath;
			_css(iDomObj.parentNode.parentNode, { 'filter':100 });
//			if($cnf.nsc) dHide(iDomObj.parentNode.parentNode);

			iDomObj.title = 'mID: '+iHash.mID;
			ClassAdd(iDomObj, 'mID_'+iHash.mID);
iDomObj.onmousedown = bDrag;
if(!$gHash.par.noHelp) iDomObj.onmouseover = _sHelp;
iDomObj.onmouseout = _sOut;
//			var hObj = iDomObj.parentNode.parentNode;
if(!iDomObj) {
continue;
//alert(i + ' hObj1 = ' + iDomObj);
//alert(iHash.mID + ' fff= ');
//alert(' hObj2 = ' + iDomObj.parentNode.tagName);
}



if(!iDomObj.parentNode) {
continue;
alert(i + ' hObj2 = ' + iDomObj);
alert(iHash.mID + ' iHash.mID hObj2 = ' + iDomObj.parentNode);
//alert(' hObj2 = ' + iDomObj.parentNode.tagName);
}
if(!iHash.iPage || !iHash.iPage[0]) {
continue;
alert(i + ' iPage = ' + iHash.iPage);
}
			var hObj = iDomObj.parentNode;
			iDomObj.parentNode.href = iHash.iPage[0];
			var tTitle = iHash.mTitle[0] + ' ';
			tTitle = tTitle.replace(/"/g, "'");

			iDomObj.parentNode.title = tTitle;
//			hObj.href = iHash.iPage[0];
//			hObj.title = iHash.mTitle[0] + ' ';

//alert(' hObj = ' + hObj.href);

//alert(' i = ' + i + ' bn = ' + bn + ' en = ' + en + ' iHash=' + iHash);
		}
	}

//return;

	for(i=ln; i<$cnf.reconpage; i++){
		var iObj = document.getElementById('item_'+i);
		if(iObj) {
			iObj.src = addCashImg('css/load.gif', 'load');
//iObj.src = 'css/load.gif';
			if($cnf.nsc) dHide(iObj.parentNode.parentNode, 1);
			iObj.className = iObj.className.replace(/ mID_\d+/g, '');
			var hObj = iObj.parentNode;
			hObj.href = 'javascript:/';
			hObj.title = '';
		}
	}

	dHide('backColor', 1);
	if($cnf.hsArr.length) {
		var hisItem = $cnf.hsArr[0];
		var hsb = hisItem.h + ',' + hisItem.s + ',' + hisItem.v;
		if(hsb != $cnf.gist.sHSB) dHide('backColor');
	}

	var indArr = $gHash.curItems.indArr;
	for(i=0; i<indArr.length; i++){
		var mID = indArr[i];
		var iHash = $gHash.curItems.iHash[mID];
		if(!iHash) continue;
		var imgPath = $gHash.env.sHost + $gHash.env.imgUrl + '/min/' + iHash.sID + '/' + iHash.mID + '.jpg';
		addCashImg(imgPath, iHash.mID);
	}

return out;
}

function panswerHSB(data) {	// Печать результата поискового запроса
//alert(' data= ' + data);
	var cxmlhttp = $gHash.env1.xmlhttp[0];
	if(!cxmlhttp) {
		dHide('loading', 1);
alert('bad req panswerHSB 0');
		return;
	}

	if(cxmlhttp.readyState != 4) return;

_destroy_dragObj();
$cnf.noDrag = 0;
	_hDestroy();
	dHide('loading', 1);
	var recRes = cxmlhttp.responseText;
	delete $gHash.env1.xmlhttp[0];
//	delete $gHash.env.xmlhttp;
//	$gHash.env.xmlhttp = null;

	var parRes = {}; var indRes = {}; var indArr = [];
//alert(recRes);
var c_debug = 'panswerHSB';
if($cnf.debug == c_debug) alert(c_debug + ': ' + recRes);

	var ok = true; try { eval(recRes); } catch(e){ ok = false; }
	if(!ok) { clrImg(); return; }
//alert(indArr);


	for(i=0; i<$cnf.reconpage; i++){
		var iObj = document.getElementById('item_'+i);
		if(iObj) {
			iObj.src = addCashImg('css/load.gif', 'load');
		}
	}


	if(setHsb) {
//alert(setRgb + ' =setHsb= ' + setHsb);
			var r = setHsb.split(',');
			_normHSB(90, true, r[0], r[1], r[2], 1);
	}

	if(!indRes || !indArr) return;
	$gHash.curItems = { 'iDomObj':{}, 'iObj':{}, 'iHash':indRes, 'indArr':indArr };

//	var iObj = document.getElementById('mini');
//	if(!iObj) return;

	var reconpage = parseInt($cnf.reconpage, 10);
	var cPage = parseInt(parRes.p, 10) || 1;
//var tstr = Dumper(2, indRes, 'indRes');
//alert('tstr=' + indRes.length);

	var indLen = indArr.length;
	var pCnt = parseInt( parRes.cnt / reconpage, 10 );// + (indLen ? 1:0);
	if(pCnt * reconpage < parRes.cnt) pCnt++;
	var nfl = 0;
	var bn = 0;
	if(cPage > 1) bn = reconpage;
	var en = bn + reconpage; en = (en > indLen ? indLen : en);

//alert(' bn = ' + bn + ' en = ' + en + ' indLen=' + indLen);
//alert(' tmp.length = ' + tmp.length);
	var tmpArr = indArr.slice(bn, en);

	dHide('NoData', 1);
	if(!tmpArr.length) { clrImg(); dHide('NoData'); }
	else imgShow(tmpArr);

	dHide('navNext', 1);
	if(cPage < pCnt) dHide('navNext').title = 'Go to '+(cPage+1)+' page from '+pCnt;
	dHide('navPrevious', 1);
	if(bn != 0) dHide('navPrevious').title = 'Go to '+(cPage-1)+' page from '+pCnt;

if(1) {
	var clrCash = {};
	for(i=0; i<indArr.length; i++){
		clrCash[indArr[i]] = 1;
	}
//var cnt = 0;var str = '';
	for(var prop in $gHash.tmp.ImgCash)	{
//		cnt++; str += ',' + prop;
		if(!clrCash[prop]) delete $gHash.tmp.ImgCash[prop];
	}

if(0) {
//alert(cnt + ' = ImgCash = ' + str);
var cnt1 = 0;
var str1 = '';
	for(var prop in $gHash.tmp.ImgCash)	{
		cnt1++; str1 += ',' + prop;
	}
alert(cnt1 + ' = ImgCash1 = ' + str1);
}
}

}

/*	#########	End: Утилиты Art ########	*/

function chk2Ext(it) {	//	Функции проверки внешнего перехода
	_destroy_dragObj();
	if(typeof(it) == 'string') it = document.getElementById(it);
	if(!it) return false;
	if(!it.title) return false;
//alert('_comFn = ' + it.href);
//showPropOld(img);
	var hObj = $cnf.sHelp.tmp;
	if(hObj.timerID) clearTimeout(hObj.timerID);

return true;
}

function _comFn(par) {	//	Функции событий
	var c_debug = '_comFn';

//var tstr = Dumper(2, $browser, 'usrParam');
//alert('tstr1=' + tstr);
	var res = 0;
	switch (par.com) {
		case 'gHSB':
			gHSB();
			break;
		default:
			break;
	}
return res;
}

function gotoLang(it) {	// Локаль
	$gHash.par.lang = it;
	$cnf.lang = $gHash.par.lang;
	for(var prop in tLang) {
		var pObj = document.getElementById(prop);
		if(pObj) pObj.innerHTML = _(prop, it);
	}
	for(var prop in titleLang) {
		var lHash = titleLang[prop];
		var pObj = document.getElementById(prop);
		if(pObj) pObj.title = lHash[it];
	}
	for(var prop in valueLang) {
		var lHash = valueLang[prop];
		var pObj = document.getElementById(prop);
		if(pObj) pObj.value = lHash[it];
	}

 return false;
}

function setHSB(hsb) {
//	_normHSB(360, true, hsb);
//return;
	$cnf.gist.sHSB = hsb;
	var r = hsb.split(',');
	pHSVt(r[0], r[1], r[2], 'sb_');
	$gHash.par.page = 1;
	gHSB();
}

function gPixHSB(e) {	// Послать запрос по картинке
	if(!e) e = event;
//alert('e '+ e );
		var x = e.pageX || e.clientX;
		var y = e.pageY || e.clientY;
		var eObj = document.documentElement;
		var sw =  eObj.scrollLeft;
		var sh =  eObj.scrollTop;
		if($browser.opera) { sw =  window.pageXOffset; sh =  window.pageYOffset; }
		var pObj = document.getElementById('imgView');
		if(pObj) {
			var dx = pObj.offsetLeft;
			var dy = pObj.offsetTop;
			x -= dx;
			y -= dy;
		}
		x += sw - 8;
		y += sh - 8;
//alert(x +', '+ y +', '+ this.offsetLeft +', '+ this.offsetTop);

	var rUrl = $gHash.env.sScript + '?fnd=1&gPix='+$cnf.uSess+'&res=JS&sID=' +$gHash.par.sID + '&x=' + x + '&y='+y + '&p=1&rp='+$cnf.reconpage;
//alert('ddddddd ' + rUrl);
	$gHash.par.page = 1;
$cnf.noDrag = 1;
	_getSPage({ 'gUrl': rUrl, 'ans': panswerHSB });
}



/////////// Bak



function imgView(iForm) {	// Показать upLoad IMG
	if(!iForm) return;
	var imgStr = iForm.value;
	imgStr = imgStr.replace(/\\/g, '/');
alert(imgStr);

//var pic = new Image();
//pic.src = imgStr;
//alert(pic);
//showPropOld(pic);

	var img = '<img id="imgView1" src="'+imgStr+'" onload="imgParam(this);">';
	var iObj = document.getElementById('imgView');
	if(!iObj) return;
	iObj.style.display = 'block';
	iObj.innerHTML = img;
return 1;
}

function callUpload(it, ind) {	// Ответ от сервера на FileUpload
//alert(it + ' =it= ' + ind);
//var tstr = Dumper(2, ind, 'ind');
//alert('tstr1=' + tstr);
	session = $cnf.uSess;
	var ddd = new Date(); var dd = ddd.getTime();
	var img = '<img id="imgView1" class="imgFromServer" src="'+$gHash.env.sHost + $gHash.env.imgUrl+'/uploadtmp/'+session+'.png?'+dd+'">';
	_css('imgView', { display: 'block' });
	_html('imgView', img);
	var iObj = document.getElementById('imgView1');
	if(iObj) iObj.onmousedown = gPixHSB;

	var tMin = $cnf.tMin;
	var it = '';
	for(i=0;i<ind.length;i++) {
		var iHash = ind[i];
		if(iHash.rgb == 'ffffff' || iHash.rgb == 'FFFFFF' || iHash.rgb == '000000') continue;
		var farg = iHash.hsb+",'"+iHash.rgb+"'";
		var r = iHash.hsb.split(',');
		var r1 = [4*r[0], r[1]*20+tMin, r[2]*20+tMin ];
		var rgb1 = hsv2hex(r1);
//var rgb1 = iHash.rgb;
		it += '<span title="RGB: #'+rgb1+' HSB: '+iHash.hsb+'" style="background-color: #'+rgb1+'"><img onClick="_normHSB(360, true, \''+iHash.hsb+'\');" class="colorImg3" src="css/blank.gif"></span>';
//		it += '<span title="RGB: #'+rgb1+' HSB: '+iHash.hsb+'" style="background-color: #'+rgb1+'"><img onClick="setHSB(\''+iHash.hsb+'\');" class="colorImg3" src="css/blank.gif"></span>';
	}
	_html('imgIndex', it);

return;
}

function imgParam(iObj) {	// Показать Param IMG
//alert(iObj + ' =iObj= ');
	if(!iObj) return;
	var iPar = '<div>width: <b>'+iObj.width+' px</b></div>';
	iPar += '<div>height: <b>'+iObj.height+' px</b></div>';
	iPar += '<div>fileSize: <b>'+iObj.fileSize+' bytes</b></div>';
//	iPar += '<div>fileModifiedDate: <b>'+iObj.fileModifiedDate+'</b></div>';
//	iPar += '<div>fileCreatedDate: <b>'+iObj.fileCreatedDate+'</b></div>';

	_html('imgParamWidth', iObj.width);
	_html('imgParamHeight', iObj.height);
	_html('imgParamFileSize', iObj.fileSize);
	
//	_html('imgParam', iPar);

//	$('#imgParam').show();
	_css('imgParam', { display: 'block' });
	_css('imgView1', { display: 'block', width:40, height:40 });
	if(iObj.fileSize > $cnf.uploadFileMaxSize) {
		alert(_('#BadUploadFileSize') + $cnf.uploadFileMaxSize, $cnf.lang);
	} else {
		dHide('uploadPhoto');
		var tForm = document.forms['tForm'];
//alert(tForm + ' =tForm= ');
		if(!tForm) return;
		if(!tForm.oper) return;
		tForm.oper.value = 'callUpload';
		tForm.uSess.value = $cnf.uSess;
		tForm.submit();
	}
}
