function set_select(list,pid) {
	var i=0;
	var j=1;
	while (list.options[i] && j) {
		if (list.options[i].value==pid) {
			list.selectedIndex=i;
			j=0;
		}
		i++;
	}
}

function set_radio(radioObj,pid)
{
	var radioLength=radioObj.length;
	if (radioLength==undefined) {
		radioObj.checked=(radioObj.value==pid)?true:false;
		return;
	}
	for (var i=0;i<radioLength;i++) {
		if (radioObj[i].value==pid) radioObj[i].checked=true;	
	}
}

function get_radio_value(radioObj)
{
	if(!radioObj) return "";
	var radioLength = radioObj.length;
	if (radioLength == undefined) {
		if(radioObj.checked) return radioObj.value; else return "";
	}
	for (var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function page_x()
{
	var D = document;
	return Math.max(
		Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
		Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
		Math.max(D.body.clientWidth, D.documentElement.clientWidth)
	);
}


function page_y()
{
	var D = document;
	return Math.max(
		Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
		Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
		Math.max(D.body.clientHeight, D.documentElement.clientHeight)
	);
}

function win_x()
{
	var v;
	v=window.innerWidth;
	if (!v) v=document.body.clientWidth;
//	v.replace("px","");
	return 1*v;
}

function win_y()
{
	var v;
	v=window.innerHeight;
	if (!v) v=document.body.clientHeight;
//	v.replace("px","");
	return 1*v;
}

function scroll_x()
{
	var a=document.documentElement;
	if (!a) return document.body.scrollLeft;
	return a.scrollLeft?a.scrollLeft:document.body.scrollLeft;
}

function scroll_y()
{
	var a=document.documentElement;
	if (!a) return document.body.scrollTop;
	return a.scrollTop?a.scrollTop:document.body.scrollTop;
}

function getElementByIdOrParent(name)
{
	var v1=document.getElementById(name);
	if (v1) return v1;
	return parent.document.getElementById(name);
}

function window_show(name,i)
{
	if (!document.getElementById(name)) {
		if (parent.document.getElementById(name)) return parent.window_show(name,i);
		return;
	}
	var st=document.getElementById(name).style;
	if (i==0) {
		st.visibility="hidden";
		st.display="none";
	} else {
		if (name=="shader") {
			var a=page_y()-1;
			var b=page_x()-1;
			st.height=st.pixelHeight=a+"px";
			st.width=st.pixelWidth=b+"px";
		}
		if (name=="popup") {
			st.left=st.pixelLeft=((win_x()-800)/2+scroll_x())+"px";
			st.top=st.pixelTop=((win_y()-500)/2+scroll_y())+"px";
		}
		if (name=="cartamountpopup") {
			st.left=st.pixelLeft=(win_x()-300)/2+scroll_x();
			st.top=st.pixelTop=(win_y()-100)/2+scroll_y();
		}
		if (name=="progress") {
			st.left=st.pixelLeft=((win_x()-200)/2+scroll_x())+"px";
			st.top=st.pixelTop=((win_y()-100)/2+scroll_y())+"px";
		}
		if (name=="gallerypopup") {
			st.left=st.pixelLeft=((win_x()-128)/2)+'px';
			st.top=st.pixelTop=((win_y()-150)/2+scroll_y())+'px';
		}
		st.visibility="visible";
		st.display="block";
	}
}
var popup_prefix;
function popup_open(url,prefix)
{
	
	popup_prefix=prefix;
	window_show('shader',1);
	window_show('popup',1);
	document.getElementById('popupframe').src=url;
}

function progress_open()
{
	var x1=getElementByIdOrParent('popuperr');if (x1) x1.innerHTML="";
	var x2=getElementByIdOrParent('progressimg'); if (x2) x2.src=progress_image_path+'progress.gif';
	window_show('shader',1);
	window_show('progress',1);
}

function progress_close()
{
	window_show('shader',0);
	window_show('progress',0);
}

function popup_close()
{
	window_show('popup',0);
	window_show('cartamountpopup',0);
	window_show('shader',0);
	window_show('progress',0);
	if (document.getElementById('popupframe')) {
		document.getElementById('popupframe').src="";
	}
}

function popup_image_commit(img)
{
	if (!document.forms.frm) alert("popup_commit: no document.forms.frm found!");
	if (!document.forms.frm[popup_prefix]) alert("popup_commit: no document.forms.frm."+popup_prefix+" found!");
	document.forms.frm[popup_prefix].value=img;
	popup_close();
}

var gimage=new Image();
var progress_image_path="/shared/1/";

function progress_image_path_set(name)
{
	progress_image_path=name;
}

gimage.onload=function(){
	document.getElementById('galleryimg').src=gimage.src;
	gallery_switch();
}

function gallery_open_old(url)
{
	document.getElementById('galleryimg').style.visibility='hidden';
	document.getElementById('galleryimg').style.display='none';
	document.getElementById('galleryprogress').style.visibility='visible';
	document.getElementById('galleryprogress').style.display='block';
	window_show('shader',1);
	window_show('gallerypopup',1);
	gimage.src=url;
//	document.getElementById('galleryimg').src=url;
}

var gallery_id;
var gallery_i;
var gallery_previewmodifier;
var gallery_divbg;
function gallery_open(img,previewmodifier,divbg)
{
	var url;
	if (divbg) {
		url=img.style.backgroundImage;
		url=url.replace('url(','').replace(')','');
	} else {
		url=img.src;
	}
	url=url.replace(/-preview\d+\w*\d*\./,"-"+previewmodifier+".");
	gallery_id=img.id;
	gallery_previewmodifier=previewmodifier;
	gallery_divbg=divbg;
	
	document.getElementById('galleryimg').style.visibility='hidden';
	document.getElementById('galleryimg').style.display='none';
	document.getElementById('galleryprogress').style.visibility='visible';
	document.getElementById('galleryprogress').style.display='block';
	window_show('shader',1);
	window_show('gallerypopup',1);
	gimage.src=url;

	var has_prev=0;
	var has_next=0;
	if (gallery_id) {
		var pos=gallery_id.indexOf('_');
		gallery_i=1*gallery_id.substr(pos+1,gallery_id.length);
		gallery_id=gallery_id.substr(0,pos+1);
		if (gallery_i) {
			if (document.getElementById(gallery_id+(gallery_i-1))) has_prev=1;
		}
		if (document.getElementById(gallery_id+(gallery_i+1))) has_next=1;
	}
	document.getElementById('galleryprev').style.visibility=has_prev?'visible':'hidden';
	document.getElementById('galleryprev').style.display=has_prev?'block':'none';
	document.getElementById('gallerynext').style.visibility=has_next?'visible':'hidden';
	document.getElementById('gallerynext').style.display=has_next?'block':'none';
//	document.getElementById('galleryimg').src=url;
}

function gallery_next()
{
	gallery_open(document.getElementById(gallery_id+(gallery_i+1)),gallery_previewmodifier,gallery_divbg);
}

function gallery_prev()
{
	gallery_open(document.getElementById(gallery_id+(gallery_i-1)),gallery_previewmodifier,gallery_divbg);
}


function gallery_close()
{
	window_show('gallerypopup',0);
	window_show('shader',0);
}

function gallery_switch()
{
	setTimeout("gallery_switch2()",200);
}

function gallery_switch2()
{
	document.getElementById('galleryprogress').style.visibility='hidden';
	document.getElementById('galleryprogress').style.display='none';
	
	var st=document.getElementById('gallerypopup').style;
	var img=document.getElementById('galleryimg');
	st.left=st.pixelLeft=((win_x()-gimage.width)/2)+'px';
	st.top=st.pixelTop=((win_y()-gimage.height-60)/2+scroll_y())+'px';
	img.style.visibility='visible';
	img.style.display='block';
}

function popup_commit(id,name,p1)
{
	var inp=document.forms.frm[popup_prefix];
	inp.value=id;
	document.getElementById(popup_prefix+'_text').innerHTML=name;
	if (inp.change) {
		if (inp.change.constructor == Array) {
			var i=0;
			while (i<inp.change.length) {
				inp.change[i](inp,p1);
				i++;
			}
		} else {
			inp.change(inp,p1);
		}
	}
	popup_close();
}

function icon_commit(id)
{
	document.forms.frm.icon_id.value=id;
	document.getElementById("icon_id_img").src="/files/icons/"+id+"-preview1.png";
	popup_close();
}

function reload_cmd()
{
	var x=window.location+"";
	x.replace(/setposx?=\\d+/g,"");
	var a="?";
	if (x.indexOf("?")!=-1) a="&";
	window.location=x+a+"setpos="+scroll_y()+"&setposx="+scroll_x();
}

function createRequestObject()
{
	if (window.XMLHttpRequest) {
		try {
			return new XMLHttpRequest();
		} catch (e){}
	} else if (window.ActiveXObject) {
		try {
			return new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e){}
		try {
			return new ActiveXObject('Microsoft.XMLHTTP');
		} catch (e){}
	}
	return null;
}


function escape2(a)
{
	var v=escape(a);
	return v.replace(/\+/g,'%2B');
}

function ajaj(frm,no_progress)
{
	var params="ajaj=1";
	var i;
//	alert(frm.length);
	var j=0;
	var t;
	var v;
	var tmp;
	for(i=0;i<frm.length;i++) {
		t=frm.elements[i].type;
		switch (t) {
			case 'hidden':
			case 'text':
			case 'password':
			case 'textarea':
				params+="&";
				if (!frm.vis) {
					v=frm.elements[i].value;
				} else if (frm.vis.value.indexOf(","+frm.elements[i].name+",")!=-1) {
					v=tinyMCE.get(frm.elements[i].name).getContent();
				} else {
					v=frm.elements[i].value;
				}
				params+=escape(frm.elements[i].name);
				params+="=";
				params+=escape2(v);
				j++;
				break;
			case 'checkbox':
				if (frm.elements[i].checked) {
					params+="&";
					params+=escape(frm.elements[i].name);
					params+="=";
					params+=escape2(frm.elements[i].value);
					j++;
				}
				break;
			case 'select':
			case 'select-one':
				params+="&";
				params+=escape(frm.elements[i].name);
				params+="=";
				params+=escape2(frm.elements[i].options[frm.elements[i].selectedIndex].value);
				j++;
				break;
			case 'radio':
				tmp=get_radio_value(frm.elements[i]);
				if (tmp.length) {
					params+="&";
					params+=escape(frm.elements[i].name);
					params+="=";
					params+=escape2(tmp);
					j++;
				}
				break;
			case 'button':
			case 'submit':
				break;
			default:
			alert("Unknown type "+t);
		}
	}
	if (!no_progress) progress_open();
	var obj=createRequestObject();
	obj.open("POST",frm.action,true);
	obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	obj.setRequestHeader("Connection", "close");
	obj.onreadystatechange = function() {ajaj_done(obj);}
	obj.send(params);
}

function ajaj_href(href,noprogress)
{
	var url;
	var params="ajaj=1";
	var pos=href.indexOf("?");
	if (pos==-1) {
		url=href;
	} else {
		url=href.substring(0,pos);
		params+="&";
		params+=href.substring(pos+1,href.length);
	}
	if (!noprogress) progress_open();
	var obj=createRequestObject();
	obj.open("POST",url,true);
	obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	obj.setRequestHeader("Connection", "close");
	obj.onreadystatechange = function() {ajaj_done(obj);}
	obj.send(params);
}

function ajaj_select_update(href,frmname,selname,no_progress)
{
	var url;
	var params="ajaj=1";
	var pos=href.indexOf("?");
	if (pos==-1) {
		url=href;
	} else {
		url=href.substring(0,pos);
		params+="&";
		params+=href.substring(pos+1,href.length);
	}
	params+="&frmname="+frmname+"&selname="+selname;
	if (!no_progress) progress_open();
	var obj=createRequestObject();
	obj.open("POST",url,true);
	obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	obj.setRequestHeader("Connection", "close");
	obj.onreadystatechange = function() {ajaj_done(obj);}
	obj.send(params);
}

function ajaj_show_error(text,show_close_button)
{
	if (!document.getElementById('progressimg')) {
		if (parent.document.getElementById('progressimg')) {
			return parent.ajaj_show_error(text);
		}
	}
	if (document.getElementById('progressimg')) {
		document.getElementById('progressimg').src=progress_image_path+'progress-done.gif';
	}
	if (document.getElementById('popuperr')) {
		if (show_close_button) text+='<div align="right"><input type="button" value="Закрыть" onclick="popup_close();"/></div>';
		document.getElementById('popuperr').innerHTML=text;
	}
}

function ajaj_done(obj)
{
	//strResult=objHTTP.responseText;
	if(obj.readyState!=4) return;
	if (obj.status != 200) {
		//alert(obj.responseText);
		ajaj_show_error(obj.responseText,1);
		return;
	}
	if (obj.responseText.substring(0,12)=="<!--ERROR-->") {
		ajaj_show_error(obj.responseText,1);
		return;
	}
	if (obj.responseText.substring(0,20)=="<!--SELECT UPDATE-->") {
		var p=eval("("+obj.responseText.substring(20,obj.responseText.length)+")");
		var frm=document.forms[p.frmname];
		if (!frm) {
			ajaj_show_error("Объект document.forms."+p.frmname+" не найден");
			return;
		}
		var sel=frm[p.selname];
		if (!sel) {
			ajaj_show_error("Объект document.forms."+p.frmname+"."+p.selname+" не найден");
			return;
		}
		sel.options.length=0;
		var i=0;
		while(p.options[i]) {
			sel.options[i]=new Option(p.options[i].name,p.options[i].value);
			i++;
		}
		if (p.callback) {
			eval(p.callback+'(p)');
		}
		if (sel.onchange) sel.onchange();
		if (!p.no_progress_close) progress_close();
	
	} else if (obj.responseText.substring(0,21)=="<!--ST PART UPDATE-->") {
		var p=eval("("+obj.responseText.substring(21,obj.responseText.length)+")");
		document.getElementById(p.divid).innerHTML=p.html;
		popup_close();
	
	} else if (obj.responseText.substring(0,15)=="<!--CALLBACK-->") {
		var p=eval("("+obj.responseText.substring(15,obj.responseText.length)+")");
		eval(p.callback+'(p)');
		if (!p.no_popup_close) popup_close();

	} else {
		popup_close();
		if (document.getElementById('popuperr')) {
			document.getElementById('popuperr').innerHTML=obj.responseText;
		} else {
			document.getElementById('popuperr2').innerHTML=obj.responseText;
		}
		if (document.forms.redirectfrm) {
			document.forms.redirectfrm.submit();
		}
	}
}

function erpfilebrowser(field_name, url, type, win)
{
	cmsURL='/popup_std_file_browser/?simple=1&start='+escape(url);
	tinyMCE.activeEditor.windowManager.open({
		file : cmsURL,
		title : 'File Browser',
		width : 800,
		height : 500,
		resizable : "yes",
		inline : "yes",
		close_previous : "no"
	}, {
		window : win,
		input : field_name
	});
	return false;
}

function slavetable_add_entry(stid,aref,ln)
{
	var txt="";
	var i=0;
	while (i<aref.length) {
		var a=aref[i];
		a=a.replace(/\&lt;/g,'<');
		a=a.replace(/\&gt;/g,'>');
		a=a.replace(/\&amp;/g,'&');
		a=a.replace(/iii/g,'new'+ln);
		txt+=a;
		i++;
	}
	var div=document.createElement('DIV');
	document.getElementById(stid).appendChild(div);
	div.innerHTML=txt;
//	recurse_attach_to_form(document.forms.frm,div);
}

function ajaj_std_partition_update(href,divid)
{
	var url;
	var params="ajaj=1";
	var pos=href.indexOf("?");
	if (pos==-1) {
		url=href;
	} else {
		url=href.substring(0,pos);
		params+="&";
		params+=href.substring(pos+1,href.length);
	}
	params+="&divid="+divid;
	progress_open();
	var obj=createRequestObject();
	obj.open("POST",url,true);
	obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	obj.setRequestHeader("Connection", "close");
	obj.onreadystatechange = function() {ajaj_done(obj);}
	obj.send(params);
}

var cartposid;
var cartprice;
var cartcurrency;

function cart_update_counter(id,name,price,cnt,currency)
{
	cartposid=id;
	cartcurrency=currency?currency:"руб.";
	document.getElementById('cartpopupname').innerHTML=name;
	document.getElementById('cartpopupprice').innerHTML=price+" "+cartcurrency;
	if (!cnt) cnt=0;
	document.forms.cartpopup.cnt.value=cnt;
	cartprice=price.replace(' ','').replace(',','.');
	document.getElementById('cartpopupsumm').innerHTML=(cartprice*cnt)+" "+cartcurrency;
	window_show('shader',1);
	window_show('cartamountpopup',1);
}

function cart_update_summ()
{
	var cnt=document.forms.cartpopup.cnt.value;
	document.getElementById('cartpopupsumm').innerHTML=(cartprice*cnt)+" "+cartcurrency;
}

function cart_update_ajaj(action)
{
	popup_close();
	var href=action+"?mode=cart_amount_set&position_id="+cartposid+"&amount="+document.forms.cartpopup.cnt.value;
	ajaj_href(href);
}

function video_open(v,p)
{
	popup_open('/std_video_popup/?flv='+escape2(v)+'&preview='+escape2(p));
}

var tagshashes={};
function tags_selector_init(prefix,tagshash)
{
	var r="<div class='tagswindow' id='divw_"+prefix+"'>\n";
	for (var id in tagshash) {
		r+='<div onclick="tags_selector_add(\''+prefix+'\',\''+id+'\')">'+tagshash[id]+"</div>\n";
	}
	r+="</div>\n";
	tagshashes[prefix]=tagshash;
	tags_selector_rebuild(prefix);
	return r;
}

function tags_selector_switch_adder(prefix,e)
{
	var st=document.getElementById('divw_'+prefix).style;
	var vis=st.visibility=='visible';
	tags_selector_set_adder(prefix,e,!vis);
}

function tags_selector_set_adder(prefix,e,vis)
{
	var st=document.getElementById('divw_'+prefix).style;

	if (vis) {
/*		st.left=st.pixelLeft=scroll_x()+e.pageX+10;
		st.top=st.pixelTop=scroll_y()+e.pageY+5;*/
		st.left=st.pixelLeft=(e.clientX+10+scroll_x())+'px';
		st.top=st.pixelTop=(e.clientY+5+scroll_y())+'px';
	}
	var opener=document.getElementById('opener_'+prefix);
	st.visibility=vis?'visible':'hidden';
	st.display=vis?'block':'none';
	opener.classname=vis?'tagsAdderA':'tagsAdder';
}

function tags_selector_rebuild(prefix)
{
	var vals=document.getElementById(prefix+'_ids').value;
	var r="";
	var arr=vals.split(',');
	var i=0;
	while (arr[i]) {
		var id=arr[i];
		r+="<span class='tagsTag'>"+tagshashes[prefix]['t'+id]+"</span><span class='tagsDel' onclick=\"tags_selector_del('"+prefix+"','"+id+"')\">x</span>&nbsp; ";
		i++;
	}
	document.getElementById(prefix+'_names').innerHTML=r;
}

function tags_selector_add(prefix,id)
{
	var id1=id.substr(1);
	tags_selector_set_adder(prefix,null,0);
	var inp=document.getElementById(prefix+'_ids');
//	alert('id='+id+', id1='+id1+', value='+inp.value);
	if (inp.value.length==0) {
		inp.value=id1;
	} else {
		inp.value+=','+id1;
	}
//	alert('id='+id+', id1='+id1+', value='+inp.value);
	tags_selector_rebuild(prefix);
}

function tags_selector_del(prefix,id)
{
	var vals=document.getElementById(prefix+'_ids').value;
	var arr1=vals.split(',');
	var arr2=new Array();
	var i=0;
	var j=0;
	while (arr1[i]) {
		if (arr1[i]!=id) {
			arr2[j]=arr1[i];
			j++;
		}
		i++;
	}
	document.getElementById(prefix+'_ids').value=arr2.join(',');
	tags_selector_rebuild(prefix);
}

var __isIE =  navigator.appVersion.match(/MSIE/);
var __userAgent = navigator.userAgent;
var __isFireFox = __userAgent.match(/firefox/i);
var __isFireFoxOld = __isFireFox && (__userAgent.match(/firefox\/2./i) || __userAgent.match(/firefox\/1./i));
var __isFireFoxNew = __isFireFox && !__isFireFoxOld;


function __parseBorderWidth(width) {
	var res = 0;
	if (typeof(width) == "string" && width != null && width != "" ) {
		var p = width.indexOf("px");
		if (p >= 0) {
			res = parseInt(width.substring(0, p));
		}
		else {
	 		//do not know how to calculate other values (such as 0.5em or 0.1cm) correctly now
			//so just set the width to 1 pixel
			res = 1; 
		}
	}
	return res;
}


//returns border width for some element
function __getBorderWidth(element) {
	var res = new Object();
	res.left = 0; res.top = 0; res.right = 0; res.bottom = 0;
	if (window.getComputedStyle) {
		//for Firefox
		var elStyle = window.getComputedStyle(element, null);
		res.left = parseInt(elStyle.borderLeftWidth.slice(0, -2));  
		res.top = parseInt(elStyle.borderTopWidth.slice(0, -2));  
		res.right = parseInt(elStyle.borderRightWidth.slice(0, -2));  
		res.bottom = parseInt(elStyle.borderBottomWidth.slice(0, -2));  
	}
	else {
		//for other browsers
		res.left = __parseBorderWidth(element.style.borderLeftWidth);
		res.top = __parseBorderWidth(element.style.borderTopWidth);
		res.right = __parseBorderWidth(element.style.borderRightWidth);
		res.bottom = __parseBorderWidth(element.style.borderBottomWidth);
	}
   
	return res;
}

//returns absolute position of some element within document
function getAbsolutePos(element) {
	var res = new Object();
	res.x = 0; res.y = 0;
	if (element !== null) {
		res.x = element.offsetLeft;
		res.y = element.offsetTop;
		
		var offsetParent = element.offsetParent;
		var parentNode = element.parentNode;
		var borderWidth = null;

		while (offsetParent != null) {
			res.x += offsetParent.offsetLeft;
			res.y += offsetParent.offsetTop;
			
			var parentTagName = offsetParent.tagName.toLowerCase();	

			if ((__isIE && parentTagName != "table") || (__isFireFoxNew && parentTagName == "td")) {			
				borderWidth = __getBorderWidth(offsetParent);
				res.x += borderWidth.left;
				res.y += borderWidth.top;
			}
			
			if (offsetParent != document.body && offsetParent != document.documentElement) {
				res.x -= offsetParent.scrollLeft;
				res.y -= offsetParent.scrollTop;
			}

			//next lines are necessary to support FireFox problem with offsetParent
   			if (!__isIE) {
				while (offsetParent != parentNode && parentNode !== null) {
					res.x -= parentNode.scrollLeft;
					res.y -= parentNode.scrollTop;
					
					if (__isFireFoxOld) {
						borderWidth = _getBorderWidth(parentNode);
						res.x += borderWidth.left;
						res.y += borderWidth.top;
					}
					parentNode = parentNode.parentNode;
				}	
			}

   			parentNode = offsetParent.parentNode;
			offsetParent = offsetParent.offsetParent;
		}
	}
	return res;
}

function std_forms_dropdown_item_onclick(e)
{
	if (!e) e=window.event;
	var pel=this.parentNode;
	var pname=pel.id;

	if (!pname.match(/^([^_]+)_(.*)_selector$/)) alert('No match!\n');
	var frmname=RegExp.$1;
	var inputname=RegExp.$2;
//	alert('pname="'+pname+'", frm="'+frmname+'", inp="'+inputname+'"');
	document.forms[frmname][inputname].value=this.innerHTML;
	std_forms_dropdown_show(frmname+"_"+inputname,0);
}

var dropdown_arrays={};
function std_forms_dropdown_create(name,arr,do_clean)
{
	dropdown_arrays[name]=arr;
	var el=document.getElementById(name+"_selector");
	if (!el) alert("No element '"+name+"_selector' found!");
	if (do_clean) {
		var a=el.firstChild;
		while (a) {
			var a1=a.nextSibling;
			el.removeChild(a);
			a=a1;
		}
	}
	var i=0;
	while (arr[i]) {
		var e=document.createElement('div');
		var a=arr[i].name;
		e.innerHTML=a;
		el.appendChild(e);
		e.onclick=std_forms_dropdown_item_onclick;
		i++;
	}
}

function std_forms_update_fields(p)
{
	var i=0;
	while (p.fields[i]) {
		var f=p.fields[i];
		switch (f.type) {
			case "select":
				
				break;
			case "select_or_new":
				std_forms_dropdown_create(p.form+"_"+f.name,f.values,1);
				break;
		} 
		i++;
	}
}

function std_forms_dropdown_filter_i(inp,name)
{
	var el=document.getElementById(name+"_selector");
	var st=el.style;
	var txt=inp.value.toLowerCase();
	var a=el.firstChild;
	var arr=dropdown_arrays[name];
	var i=0;
	while (a) {
		var flag=1;
		if (txt.length) {
			flag=(arr[i].name.toLowerCase().substring(0,txt.length)==txt)?1:0;
		}
		a.style.visibility=flag?"visible":"hidden";
		a.style.display=flag?"block":"none";
		a=a.nextSibling;
		i++;
	}
	st.visibility='visible';
}

function std_forms_dropdown_filter_alias(inp,name)
{
	var el=document.getElementById(name+"_selector");
	var st=el.style;
	var txt=","+inp.value.toLowerCase();
	var a=el.firstChild;
	var arr=dropdown_arrays[name];
	var i=0;
	while (a) {
		var flag=1;
		if (txt.length>1) {
			flag=(arr[i].aliases.indexOf(txt)!=-1)?1:0;
		}
		a.style.visibility=flag?"visible":"hidden";
		a.style.display=flag?"block":"none";
		a=a.nextSibling;
		i++;
	}
	st.visibility='visible';
}


function std_forms_dropdown_show_switch(name)
{
	var el=document.getElementById(name+"_selector");
	var st=el.style;
	var flag=(st.visibility=='visible')?0:1;
	std_forms_dropdown_show(name,flag);
}

function std_forms_dropdown_show(name,flag)
{
	var el=document.getElementById(name+"_selector");
	var st=el.style;
	st.visibility=flag?'visible':'hidden';
	var a=el.firstChild;
	while (a) {
		a.style.visibility="";
		a.style.display="";
		a=a.nextSibling;
	}
}

function std_forms_dropdown_hide_delayed(inp,e,name)
{
	setTimeout("std_forms_dropdown_show('"+name+"')",20);
}

function parse_xml(text)
{
	var text;
	if (window.DOMParser) {
		var parser=new DOMParser();
		xmlDoc=parser.parseFromString(text,"text/xml");
	} else {
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(text);
	}
	return xmlDoc;
}

function xml_get_text(a)
{
	while (a.firstChild) {
		a=a.firstChild
	}
	return a.nodeValue;
}

function ajajsearch_updated_real(frmname)
{
	var frm=document.forms[frmname];
	if (!frm) alert("No form "+frmname);
	ajaj(frm,1);
}

function inner_gallery_back(divname,img_prefix)
{
	var i=document.getElementById(divname).innerHTML;
	if (i==1) return;
	var st1,st2;
	st1=document.getElementById(img_prefix+(i-1)).style;
	st2=document.getElementById(img_prefix+(i-2)).style;
	st1.visibility='hidden';
	st1.display='none';
	st2.visibility='visible';
	st2.display='block';
	i--;
	document.getElementById(divname).innerHTML=i;
}

function inner_gallery_next(divname,img_prefix)
{
	var i=document.getElementById(divname).innerHTML;
	if (!document.getElementById(img_prefix+i)) return;
	var st1,st2;
	st1=document.getElementById(img_prefix+(i-1)).style;
	st2=document.getElementById(img_prefix+i).style;
	st1.visibility='hidden';
	st1.display='none';
	st2.visibility='visible';
	st2.display='block';
	i++;
	document.getElementById(divname).innerHTML=i;
}

