
function flashObj(name,id,arg,w,h,align,classname,fvars,scale,salign)
{
this.id=id;
this.name=name;
this.src=arg;
if (scale)this.scale=scale;
else this.scale='';
if (document.getElementById(id)) this.elem=document.getElementById(id);
else this.elem=false;
if (w!='0') {this.width=' width="'+w+'"';}
else this.width='';
if (h!='0') {this.height=' height="'+h+'"';}
else this.height='';
if (classname.length>0)
this.classname=' class="'+classname+'"';
else this.classname='';
if (salign) this.salign=salign;
else this.salign='';

if (fvars.length>0)this.fvars='<PARAM NAME=FlashVars VALUE="'+fvars+'">';
else this.fvars='';
this.align=' align="'+align+'"';	
this.counter=0;
this.timeoutId;
this.writeFlash();}

flashObj.prototype.writeFlash=function()
{
var alterscale='';
var fl='<object '+this.classname+'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id=fl'+this.id+' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"'+this.width+this.height+this.align+'>';
fl=fl+'<param name="allowScriptAccess" value="sameDomain" />';
fl=fl+'<param name="movie" value="'+this.src+'" /><param name="quality" value="autohigh" />';
fl=fl+'<param name="menu" value="false" /><param name="wmode" value="transparent" />';
if (this.scale.length>0)
	{
	fl=fl+'<param name="scale" value="'+this.scale+'" />';
	alterscale=' scale="'+this.scale+'" ';
	}
if (this.salign.length>0)
	{
	fl=fl+'<param name="salign" value="'+this.salign+'" />';
	alterscale=' salign="'+this.salign+'" ';
	}

fl=fl+this.fvars;
fl=fl+'<embed  '+this.classname+'" src="'+this.src+'" '+alterscale+' quality="autohigh" menu="false" wmode="transparent" id=ffl'+this.id+this.width+this.height+this.align+'  allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
fl=fl+'</embed></object>';
this.elem.innerHTML=fl;
if (parseInt(this.elem.offsetWidth)==0&&this.counter<5)
	{
	this.timeoutId = setTimeout(this.name+".writeFlash()", 30);
	}
else clearTimeout(this.timeoutId);

}

function movedDivs()
{
this.divs=new Array();
this.freedivs=new Array();
this.fl=this.freedivs.length;
this.sortflag=null;
}
function trObject (id,ballkoeff,ball,koeff,year,changepositionup,changepositiondown)
{
this.id=id;
this.ballkoeff=ballkoeff;
this.ball=ball;
this.koeff=koeff;
this.ballkoeff=ballkoeff;
this.year=year;
this.changepositionup=changepositionup;
this.changepositiondown=changepositiondown;
this.html=document.getElementById(id).innerHTML;
}

movedDivs.prototype.simplecompare=function (a,b)
{
return b[moved.sortflag]-a[moved.sortflag];
}
movedDivs.prototype.simplebackcompare=function (a,b)
{
return a[moved.sortflag]-b[moved.sortflag];
}
movedDivs.prototype.checkTr=function()
{
if (this.sortflag)
	{
	if (trobjects.length>0)
		{
		trobjects.sort(moved.simplebackcompare);
		if (this.backcompare) trobjects.reverse();
		var myTable=document.getElementById('sorttable');

		var htm='<TR id="tophead"><TD class=tab5></td><TD class=tab5 title="итоговое место в ТОП-100">#</td><td class=tab5>Студия</td><td class=tab5 style="cursor:pointer;" onClick="if (moved.sortflag!=\'changepositionup\'&&moved.sortflag!=\'changepositiondown\'){moved.backcompare=true;moved.sortflag=\'changepositionup\';moved.checkTr();}else{if (moved.sortflag!=\'changepositiondown\'){moved.sortflag=\'changepositiondown\';}else {if (moved.sortflag!=\'changepositionup\'){moved.sortflag=\'changepositionup\';}};moved.backcompare=false;moved.checkTr();}" title="Изменение позиции студии по сравнению с Рейтингом-2009">Изменение позиции</td><td class=tab5 style="cursor:pointer;" onClick="if (moved.sortflag!=\'ballkoeff\'){moved.sortflag=\'ballkoeff\';moved.backcompare=true;moved.checkTr();}else {moved.backcompare=!moved.backcompare;moved.checkTr();}" title="Итоговый рейтинговый балл студии">Балл</td><td class=tab5 style="cursor:pointer;" title="Год основания студии"  onClick="if (moved.sortflag!=\'year\'){moved.sortflag=\'year\';moved.backcompare=false;moved.checkTr();}else {moved.backcompare=!moved.backcompare;moved.checkTr();}">Год</td><td class=tab5 id="koeff" style="cursor:pointer;" onClick="if (moved.sortflag!=\'koeff\'){moved.sortflag=\'koeff\';moved.backcompare=true;moved.checkTr();}else {moved.backcompare=!moved.backcompare;moved.checkTr();}"  title="Единый поправочный коэффициент">K</td><td class=tab5 id="ball" style="cursor:pointer;"  onClick="if (moved.sortflag!=\'ball\'){moved.sortflag=\'ball\';moved.backcompare=true;moved.checkTr();}else {moved.backcompare=!moved.backcompare;moved.checkTr();}"" title="Балл, набранный студией по результатам голосования">Базовый балл</td></tr>';
		var i=myTable.rows.length-1;
		var j;
		var data;
		bordered=true;
		var inner='';
		for (j=0;j<i;j++)
			{
			data=j+1;
			
			if (bordered)inner=inner+'<tr class=tab3 id="'+trobjects[j].id+'">'+trobjects[j].html+'</tr>';
			else inner=inner+'<tr class=tab2 id="'+trobjects[j].id+'">'+trobjects[j].html+'</tr>';
			bordered=!bordered;
			}
		htm='<table cellspacing=3 cellpadding=5><tbody id="sorttable">'+htm+inner+'</tbody></table>';
		document.getElementById('otherform').innerHTML=htm;
		}
	}
}
movedDivs.prototype.addForm=function(id,url,cloned,nodeid)
{
var newid=this.divs.length;
if (this.fl>0)
	{
	newid=this.freedivs.shift();
	this.fl--;
	}
var object=new formObject(id,url,nodeid,newid);
this.divs[newid]=object;	
object.cloneMe(cloned);

}

movedDivs.prototype.removeDiv=function(id)
{
this.freedivs[this.fl]=id;
this.fl++;
this.divs[id]=null;

}

function formObject(id,url,nodeid,arrid)
{
this.domEl=document.getElementById(id);
this.url=url;
this.arrid=arrid;
this.formid='';
this.form=null;
this.nodeid=parseInt(nodeid);
if (!isNaN(this.nodeid)&&this.nodeid>0&&this.url.length>0)this.url=this.url+'&id='+this.nodeid;
this.formobj=null;
this.parent=this.domEl.parentNode;

}

formObject.prototype.listNodes=function()
{
var list=new Array();
try
	{
	var treeWalker = document.createTreeWalker(
		   this.domEl,
		NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_COMMENT + NodeFilter.SHOW_TEXT,
		{ acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
		   false
		);
	while (treeWalker.nextNode())
		{
		list.push(treeWalker.currentNode)
		}
	}
catch (e)
	{
	if (document.all)
		{
		var cl=this.domEl.all.length;
		for (var i=0;i<cl;i++)
			{
			list.push(this.domEl.all[i]);
			}
		}
	}



return list}

formObject.prototype.cloneMe=function(cloned)
{
if (cloned)
	{
	this.domEl=this.domEl.cloneNode(true);
	if (this.domEl.id&&this.domEl.id.length>0)this.domEl.id=this.arrid+this.domEl.id;
	this.parent.appendChild(this.domEl);
	}
var nl=this.listNodes();	 

var cl=nl.length;

for (var i=0;i<cl;i++)
	{
	if (nl[i].id&&nl[i].id.length>0)nl[i].id=this.arrid+nl[i].id;
	if (nl[i].tagName&&nl[i].tagName.toLowerCase()=='form')
		{
		this.formid=nl[i].id;
		this.form=nl[i];
		}
	}
this.formobj=new chekf(this.form,'moved.divs['+this.arrid+'].formobj',this.nodeid);
if (this.url.length>0) this.formobj.url=this.url;
this.formobj.createForm();
this.domEl.style.display='block';

}

formObject.prototype.killMe=function()
{
this.formobj.deleteIt();
this.formobj=null;
var domEl=this.domEl.cloneNode(false);
this.parent.removeChild(this.domEl);
this.domEl=domEl;
this.parent.appendChild(this.domEl);
moved.removeDiv(this.arrid);

}

function ContentLoader(url,method,params,component)
{
	this.head=false;
	this.component=component;
	this.url=url;
	this.method=method;
	this.params=params;
	this.par='';

}

ContentLoader.prototype.getTransport=function()
{
var transport=null;
	try
		{
		   transport=new ActiveXObject('Msxml2.XMLHTTP');
		}
	catch (e)
		{
		try
			{
			transport=new ActiveXObject('Microsoft.XMLHTTP');
			}
		catch (e)
			{
			if(window.XMLHttpRequest)
				{
				transport=new XMLHttpRequest();
				}
			}
		}


return transport}

ContentLoader.prototype.setParams=function()
{
if (!this.method) this.method="GET";
	if (this.method=="POST")
		{
		this.head='application/x-www-form-urlencoded';
		var parL=this.params.length;
		if (parL>0)
			{
			this.par= this.params[0].name +'=' + encodeURIComponent(this.params[0].value);
			for (i=1;i<parL;i++)
				{
				this.par+='&' + this.params[i].name +'=' + encodeURIComponent( this.params[i].value);
				}
			}
		}}

ContentLoader.prototype.loadXMLDoc=function()
{
var request=this.getTransport();
		if (request)
			{
			this.setParams();
			if (request.overrideMimeType)
				{
				request.overrideMimeType('text/html');
				}
			var loader=this;
			request.onreadystatechange=function ()
				{
				loader.onReadyState(request);
				}
			request.open (this.method,this.url,true);
			if (this.head)
				{
				request.setRequestHeader("Content-Type",this.head);
				request.setRequestHeader("Content-length", this.params.length);
				  request.setRequestHeader("Connection", "close");
				}
			request.send (this.par);
			}

}

ContentLoader.prototype.onReadyState=function(request)
{
var ready=request.readyState;	
		if (ready==4)
			{
			var httpStatus=request.status;
			if (httpStatus==200||httpStatus==0)
				{
				if (this.component.ajaxUpdate) this.component.ajaxUpdate(request);
				else
					{
					this.component=new chekf(this.component,this.component.id)
					this.component.ajaxUpdate(request);
					}
				}
			}

}

function chekf(domEl,name,node_id)
{
this.name=name;
	this.node_id=node_id;
	this.sending=false;
	this.id=domEl.id;
	this.url='/index.'+'php?action=sendform&id='+this.node_id+'&formid='+this.id;
	this.domEl=domEl;
	this.childs=this.domEl.elements;
	this.elemNumb=this.childs.length;
	this.divid=this.domEl.parentNode.id;
	this.diverr=this.id+'err';
	this.childobjs=new Array();
	this.childNumb=this.childobjs.length;
	this.beginload=true;
	this.domEl.inpuObj=this;
	this.domEl.onsubmit=this.sendForm;
	this.error=false;
	this.wait=false;
this.groups=new Array();
	this.pars=new Array();
	this.timeout_id;
	this.sending=false;
	this.lowdiverr=this.id+'lowerr';}

chekf.prototype.ajaxUpdate=function(request)
{
var div=document.getElementById(this.diverr);
	var data=request.responseText;
	var arr = data.split('myperfectdevidehtml');
	var unchange=false;
	if (arr.length>1)
		{
		if (arr[1]=='myperfectsamehtml')
			{
			var testinner=new String(div.innerHTML);
			var testar=testinner.split('<script>');
			if (testar.length==1)testar=testinner.split('<SCRIPT>');
			arr[1]=testar[0];
			unchange=true;
			}
		div.innerHTML=arr[1];
		}
	arr = data.split('myperfectdevidejavascript');
	if (arr.length>1)
		{
		var theScript;
		if (unchange)
			{
			if (testar.length>1&&testar[1].length>0)
				{
				testinner=testar[1].split('<'+'/script>');
				if (testinner.length==1)testinner=testar[1].split('</'+'SCRIPT>');
				theScript= document.createElement('script');
				theScript.text=testinner[0];
				div.appendChild(theScript);
				} 
			}
		if (arr[1].length>0)
			{
			if (navigator.appVersion.indexOf('MSIE 6.0')>0)		eval (arr[1])
			else
				{
				theScript= document.createElement('script');
				theScript.text = arr[1];
				div.appendChild(theScript);
				}
			}
		}
	this.sending=false;
this.pars=new Array();

}

chekf.prototype.checkError=function()
{
this.error=false;
		document.getElementById(this.diverr).innerHTML='';
		if (this.beginload)
			{
			var inner='';
			for (var i=0;i<this.childNumb;i++)
				if (this.childobjs[i].error==true)
					{
					this.error=true;
					}
				else
					{
					if (!this.childobjs[i].beginload&&this.childobjs[i].requred)
						{
						if (this.childobjs[i].diverr)this.childobjs[i].diverr.innerHTML='Вы не заполнили обязательное поле ' + this.childobjs[i].defaultValue;	
						else
							{
							if (inner.length>0) inner=inner + '<br>';
							inner=inner+'Вы не заполнили обязательное поле ' + this.childobjs[i].defaultValue;
							}						
						this.error=true;
						}
					}
			if (inner.length>0) document.getElementById(this.diverr).innerHTML=inner;
			}
		else
			{
			this.error=true;
			document.getElementById(this.diverr).innerHTML='Вы не заполнили форму';
			}
	if (this.error&&this.lowdiverr&&document.getElementById(this.lowdiverr))document.getElementById(this.lowdiverr).innerHTML='При заполнении формы допущены ошибки';

}

chekf.prototype.deleteIt=function()
{
for (var i=0;i<this.childNumb;i++)
	{
	this.childobjs[i]=null;
	}

}

chekf.prototype.checkWait=function()
{
this.wait=false;
		for (var i=0;i<this.childNumb;i++)
			if (this.childobjs[i].wait)
				{
				this.wait=true;
				break;
				}

}

chekf.prototype.prepareForm=function()
{
	for (var i=0;i<this.elemNumb;i++)
		{
		if (this.childs[i].value==this.childs[i].defaultValue)this.childs[i].value='';
		}
this.pars=new Array();

}

chekf.prototype.createForm=function()
{
this.childobjs=new Array();
this.elemNumb=this.domEl.elements.length;
var vl;
var j=0;
var call=false;
	for (var i=0;i<this.elemNumb;i++)
		{
		this.childobjs[i]=new chekEl(this.childs[i]);
		if (this.domEl.elements[i].id)
			{
			this.childobjs[i].minvalue=parseInt(this.domEl.elements[i].getAttribute('minvalue'));	
			this.childobjs[i].defaultValue=this.domEl.elements[i].getAttributeNode('defaultValue').value;	
			if (this.childobjs[i].defaultValue=='') this.childobjs[i].defaultValue=this.domEl.elements[i].getAttribute('defaultValue');	
			if (this.childobjs[i].defaultValue=='')
				{
				vl=this.domEl.elements[i].attributes.length;
				for (j=0;j<vl;j++)
					{
					if (this.domEl.elements[i].attributes[j].name=='defaultValue')
						{
						this.childobjs[i].defaultValue=this.domEl.elements[i].attributes[j].value;
						}
					}
				}
			this.childobjs[i].requred=this.domEl.elements[i].getAttribute('requred').parseBoolean();	
			this.childobjs[i].ajax=this.domEl.elements[i].getAttribute('ajax').parseBoolean();	
			this.childobjs[i].linked=this.domEl.elements[i].getAttribute('linked').parseBoolean();	
			this.childobjs[i].defaultFill=this.domEl.elements[i].getAttribute('defaultFill').parseBoolean();	
			this.childobjs[i].testedTogether=this.domEl.elements[i].getAttribute('testedTogether').parseBoolean();	
			this.childobjs[i].beginload=this.domEl.elements[i].getAttribute('beginload').parseBoolean();	
			if (!this.childobjs[i].beginload)this.beginload=false;	
			this.childobjs[i].testedTogetherJsMet=this.domEl.elements[i].getAttribute('testedTogetherJsMet').parseBoolean();	
			if (this.childobjs[i].linked&&this.childobjs[i].domEl.type=='text')
				{
				var id1=this.childobjs[i].id+'1';
				this.childobjs[i].divid=id1+'err';
				if (document.getElementById(this.childobjs[i].divid))this.childobjs[i].diverr=document.getElementById(this.childobjs[i].divid);
				var passdefault=this.childobjs[i].defaultValue;
				}
			if (this.childobjs[i].linked&&this.childobjs[i].domEl.type=='password')
				{
				this.childobjs[i].defaultValue=passdefault;
				}
			}
		if (this.domEl.elements[i].type=='radio'||this.domEl.elements[i].type=='checkbox')
			{
			if (this.groups[this.domEl.elements[i].id])this.groups[this.domEl.elements[i].id][this.groups[this.domEl.elements[i].id].length]=this.childobjs[i];
			else
				{
				this.groups[this.domEl.elements[i].id]=new Array();
				this.groups[this.domEl.elements[i].id][this.groups[this.domEl.elements[i].id].length]=this.childobjs[i];
				} 
			if ((this.domEl.elements[i].type=='radio'||this.domEl.elements[i].type=='checkbox')&&this.domEl.elements[i].checked&&this.childobjs[i].testedTogetherJsMet)
				{
				call=true;
				}

			}

		}
	this.childNumb=this.childobjs.length;
	if (call)
		{
		for (var i=0;i<this.elemNumb;i++)
			{
			if ((this.domEl.elements[i].type=='radio'||this.domEl.elements[i].type=='checkbox')&&this.domEl.elements[i].checked&&this.childobjs[i].testedTogetherJsMet)
				{
				if (typeof this.childobjs[i].testedTogetherJsMet=='function')this.childobjs[i].testedTogetherJsMet.call(this.childobjs[i]);
				else Function[this.childobjs[i].testedTogetherJsMet].call(this.childobjs[i]);
				}
			}
		}

}

chekf.prototype.clearForm=function()
{
for (var i=0;i<this.elemNumb;i++)
		{
		this.childobjs[i].clearMe();
		}
		this.pars=new Array();
	
}

chekf.prototype.checkForm=function()
{
	for (var i=0;i<this.elemNumb;i++)
		{
		this.childobjs[i].CheckMe();
		}

}

chekf.prototype.sendForm=function()
{
if (!this.id)
		{
		var inpuObj=this.inpuObj.formEl.inpuObj;
		}
	else
		{
		var inpuObj=this;
		}
	var cmd=inpuObj.name+'.sendForm()';
	inpuObj.checkWait();
	if (!inpuObj.wait&&!inpuObj.sending)
		{
		if (inpuObj.timeout_id)clearTimeout(inpuObj.timeout_id);
		inpuObj.checkError();
		if (!inpuObj.error)
			{
			var par;
			var name;

			var name1;
			var name2;
			var arrmypar=''
			
			var checkempty=new Array();				
			var other;
			var othl;
			for (var i=0;i<inpuObj.elemNumb;i++)
				{
				if (inpuObj.domEl.elements[i].type!='button'&&inpuObj.domEl.elements[i].inpuObj.defaultFill&&inpuObj.domEl.elements[i].value==inpuObj.domEl.elements[i].inpuObj.defaultValue)inpuObj.domEl.elements[i].value='';
				if (inpuObj.domEl.elements[i].type=='radio')
					{
					if (inpuObj.domEl.elements[i].checked) inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.domEl.elements[i].name,inpuObj.domEl.elements[i].value);
					}
				else if (inpuObj.domEl.elements[i].type=='checkbox')
						{
						if (!checkempty[inpuObj.domEl.elements[i].id])
							{
							checkempty[inpuObj.domEl.elements[i].id]=true;
							other=inpuObj.groups[inpuObj.domEl.elements[i].id];
							othl=other.length;
							for (var j=0;j<othl;j++)
								{
								if (other[j].domEl.checked)
									{
									checkempty[inpuObj.domEl.elements[i].id]=-1;
									break;
									}
								}					
							if (checkempty[inpuObj.domEl.elements[i].id]&&checkempty[inpuObj.domEl.elements[i].id]!=-1) inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.domEl.elements[i].name,'');
							else if (inpuObj.domEl.elements[i].checked) inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.domEl.elements[i].name,inpuObj.domEl.elements[i].value);
							}
						else if (inpuObj.domEl.elements[i].checked) inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.domEl.elements[i].name,inpuObj.domEl.elements[i].value);
						}
					else inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.domEl.elements[i].name,inpuObj.domEl.elements[i].value);
				}
			inpuObj.pars[inpuObj.pars.length]=new inhtObject('myformname',inpuObj.name);
			var sender=new ContentLoader(inpuObj.url,'POST',inpuObj.pars,inpuObj);
			inpuObj.sending=true;
			sender.loadXMLDoc();
			}
		}
	else
		{
		inpuObj.timeout_id=setTimeout (cmd,50);
		}

}

function checkstatic(domEl,name,url)
{
	this.name=name;
	this.id=domEl.id;
	this.url=url;
	this.domEl=domEl;
	this.diverr=this.id;
	this.domEl.inpuObj=this;

}

checkstatic.prototype.ajaxUpdate=function(request)
{
	var div=document.getElementById(this.diverr);
	var data=request.responseText;
	var arr = data.split('myperfectdevidehtml');
	var unchange=false;
	if (arr.length>1)
		{
		if (arr[1]=='myperfectsamehtml')
			{
			var testinner=new String(div.innerHTML);
			var testar=testinner.split('<script>');
			if (testar.length==1)testar=testinner.split('<SCRIPT>');
			arr[1]=testar[0];
			unchange=true;
			}
		div.innerHTML=arr[1];
		}
	arr = data.split('myperfectdevidejavascript');
	if (arr.length>1)
		{
		var theScript;
		if (unchange)
			{
			if (testar.length>1&&testar[1].length>0)
				{
				testinner=testar[1].split('<'+'/script>');
				if (testinner.length==1)testinner=testar[1].split('</'+'SCRIPT>');
				theScript= document.createElement('script');
				theScript.text=testinner[0];
				div.appendChild(theScript);
				} 
			}
		if (arr[1].length>0)
			{
			if (navigator.appVersion.indexOf('MSIE 6.0')>0)		eval (arr[1])
			else
				{
				theScript= document.createElement('script');
				theScript.text = arr[1];
				div.appendChild(theScript);
				}
			}
		}

}

function chekEl(domEl)
{
this.domEl=domEl;
	this.defaultFill=true;
	this.linked=false;
	this.id=domEl.id;
	this.testedTogether=false;
	this.requred=false;
	this.formEl=this.domEl.form;
	this.divid=this.id+'err';
	this.beginload=false;
	this.name=this.domEl.name;
	this.oldname=this.domEl.name;
	this.testedTogetherJsMet=false;
	if (document.getElementById(this.divid))
	this.diverr=document.getElementById(this.divid);
	else this.diverr=null;
	this.value=this.domEl.value;
	this.defaultValue=this.domEl.defaultValue;
	this.color=colobj.color2;
	this.errorcolor=colobj.color1;
	this.minvalue=0;
	this.error=false;	
	this.wait=false;
	this.pars=new Array();
	this.nodeid=false;
	this.domEl.inpuObj=this;
	if (this.domEl.type=='radio')
		{
		this.domEl.onclick=this.prepareMe;
		this.domEl.onfocus=null;
		}
else this.domEl.onfocus=this.prepareMe;
	this.domEl.onblur=this.tryMe;
	if (this.domEl.type=='button')
		{
		this.domEl.onclick=this.formEl.inpuObj.sendForm;
		this.domEl.onfocus=null;
		this.domEl.onblur=null;
		this.beginload=true;
		}

}

chekEl.prototype.clearPass=function()
{
var inpuObj=this;
var ind=inpuObj.id.length-1;
var id1=inpuObj.id.substring(0,ind);
var newdEl=document.getElementById(id1);
newdEl.style.visibility='visible';
newdEl.style.display='block';
inpuObj.domEl.style.visibility='hidden';
inpuObj.domEl.style.display='none';
if (inpuObj.defaultFill) newdEl.value=inpuObj.defaultValue;
inpuObj.domEl.value='';
inpuObj.beginload=false;

}

chekEl.prototype.clearMe=function()
{
this.pars=new Array();
if (this.domEl.type!='button')
	{
	if (this.diverr) this.diverr.innerHTML='';
	this.domEl.style.color=this.color;
	if (this.defaultFill)
		{
		this.value=this.defaultValue;
		this.domEl.value=this.defaultValue;
		}
	this.beginload=false;
	if (this.domEl.type=='password') this.clearPass();
	}
else
	{
	this.domEl.onclick=this.formEl.inpuObj.sendForm;
	this.domEl.onfocus=null;
	this.domEl.onblur=null;
	this.beginload=true;
	}

}

chekEl.prototype.ajaxUpdate=function(request)
{
var div=this.diverr;
	var data=request.responseText;
	var arr = data.split("myperfectdevidehtml");
	var unchange=false;
	if (arr.length>1)
		{
		if (arr[1]=="myperfectsamehtml")
			{
			var testinner=new String(div.innerHTML);
			var testar=testinner.split("<"+"script>");
			if (testar.length==1)testar=testinner.split("<"+"SCRIPT>");
			arr[1]=testar[0];
			unchange=true;
			div.innerHTML=arr[1];
			}
		else
			{
			if (arr[1].length==0)
				{
				this.error=false;
				this.domEl.style.color=this.color;
				div.innerHTML='';
				}
			else
				{
				this.error=true;
				this.domEl.style.color=this.errorcolor;
				div.innerHTML=arr[1];

				}
			}
		}
	arr = data.split("myperfectdevidejavascript");
	if (arr.length>1)
		{
		var theScript;
		if (unchange)
			{
			if (testar.length>1&&testar[1].length>0)
				{
				testinner=testar[1].split("</"+"script>");
				if (testinner.length==1)testinner=testar[1].split("</"+"SCRIPT>");
				theScript= document.createElement('script');
				theScript.text=testinner[0];
				div.appendChild(theScript);
				} 
			}
		if (arr[1].length>0)
			{
			if (navigator.appVersion.indexOf('MSIE 6.0')>0)		eval (arr[1])
			else
				{
				theScript=document.createElement('script');
				theScript.text = arr[1];
				div.appendChild(theScript);
				}
			}

		}
	this.pars=new Array();
	this.wait=false;}

chekEl.prototype.prepareMe=function()
{
var inpuObj;
if (this.parentNode)inpuObj=this.inpuObj;
else inpuObj=this;
if (this.type=='text'&inpuObj.linked) inpuObj.preparePass();
else
	{
	
	if (!inpuObj.formEl.inpuObj.beginload)
		{
		if (document.getElementById(inpuObj.formEl.inpuObj.diverr)&&document.getElementById(inpuObj.formEl.inpuObj.diverr).innerHTML!='')
			{
			document.getElementById(inpuObj.formEl.inpuObj.diverr).innerHTML='';
			inpuObj.formEl.inpuObj.error=false;
			if (inpuObj.formEl.inpuObj.lowdiverr&&document.getElementById(inpuObj.formEl.inpuObj.lowdiverr))document.getElementById(inpuObj.formEl.inpuObj.lowdiverr).innerHTML='';
			}
		inpuObj.formEl.inpuObj.beginload=true;
		}
	if (inpuObj.requred&&inpuObj.formEl.inpuObj.lowdiverr&&document.getElementById(inpuObj.formEl.inpuObj.lowdiverr))document.getElementById(inpuObj.formEl.inpuObj.lowdiverr).innerHTML='';
	if (inpuObj.defaultFill&&inpuObj.domEl.value==inpuObj.defaultValue)
		{
		inpuObj.value='';
		inpuObj.domEl.value='';
		}
	if (!inpuObj.beginload)
		{
		if (inpuObj.domEl.type!='radio'&&inpuObj.domEl.type!='checkbox')
			{
			if (inpuObj.diverr)inpuObj.diverr.innerHTML='';
			inpuObj.value='';
			inpuObj.domEl.value='';
			}
		else
			{
			if (inpuObj.diverr)inpuObj.diverr.innerHTML='';
			if (inpuObj.domEl.type=='radio') inpuObj.domEl.checked=true;
			var len=inpuObj.formEl.inpuObj.groups[this.id].length;
			for (var i=0;i<len;i++)
				{
				inpuObj.formEl.inpuObj.groups[this.id][i].beginload=true;
				inpuObj.formEl.inpuObj.groups[this.id][i].error=false;
				inpuObj.formEl.inpuObj.groups[this.id][i].requred=false;
				}
			}	
		inpuObj.beginload=true;
		}
	if ((inpuObj.domEl.type=='radio'||inpuObj.domEl.type=='checkbox')&&inpuObj.domEl.checked&&inpuObj.testedTogetherJsMet)
		{
		if (typeof inpuObj.testedTogetherJsMet=='function')inpuObj.testedTogetherJsMet.call(inpuObj);
		else Function[inpuObj.testedTogetherJsMet].call(inpuObj);
		}	
	}
	

}

chekEl.prototype.preparePass=function()
{
var inpuObj=this;
var id1=inpuObj.id+'1';
var newdEl=document.getElementById(id1);
inpuObj.domEl.style.visibility='hidden';
inpuObj.domEl.style.display='none';
newdEl.style.visibility='visible';
newdEl.style.display='block';
newdEl.focus();

}

chekEl.prototype.tryMe=function()
{
var inpuObj=this.inpuObj;
if (this.type=='password'&inpuObj.linked) inpuObj.tryMePass();
else
	{
	if (inpuObj.beginload)
		{
		inpuObj.value=this.value;
		inpuObj.checkMe();	
		}
	}

}

chekEl.prototype.tryMePass=function()
{
var inpuObj=this;
inpuObj.value=inpuObj.domEl.value;
var str=new String(inpuObj.value);
inpuObj.value=str.trim();
if (inpuObj.beginload)
	{
	if (inpuObj.value.length<=inpuObj.minvalue)
		{
		var mess;
		inpuObj.error=true;
		if (inpuObj.minvalue==0)
			{
			mess='Вы не заполнили обязательное поле "'+inpuObj.defaultValue+ '"';
			inpuObj.clearPass();
			}
		else mess='Длина обязательного поля "'+inpuObj.defaultValue+ '" меньше '+inpuObj.minvalue;
		if (inpuObj.diverr)inpuObj.diverr.innerHTML=mess;
		var ind=inpuObj.id.length-1;
		var id1=inpuObj.id.substring(0,ind);
		var newdEl=document.getElementById(id1);
		newdEl.style.color=inpuObj.errorcolor;				 
		}
	else
		{
		inpuObj.error=false;
		var ind=inpuObj.id.length-1;
		var id1=inpuObj.id.substring(0,ind);
		var newdEl=document.getElementById(id1);
		newdEl.style.color=inpuObj.color;				 
		if (inpuObj.diverr)inpuObj.diverr.innerHTML='';
		}	
	}

}

chekEl.prototype.findOthers=function()
{
var res=new Array();
for(var i=0;i<this.formEl.inpuObj.childNumb;i++)
	{
	if (this.formEl.inpuObj.childobjs[i].testedTogetherJsMet.toString()==this.testedTogetherJsMet.toString()) res[res.length]=this.formEl.inpuObj.childobjs[i];
	}

return res}

chekEl.prototype.findElem=function(name)
{
for(var i=0;i<this.formEl.inpuObj.childNumb;i++)
	{
	if (this.formEl.inpuObj.childobjs[i].testedTogetherJsMet.toString()==this.testedTogetherJsMet.toString()&&this.formEl.inpuObj.childobjs[i].oldname.toString()==name) return this.formEl.inpuObj.childobjs[i];
	}

}

chekEl.prototype.riseIt=function(name)
{
this.requred=true;
if (this.domEl.type=='text'||this.domEl.type=='textarea')
		{
		this.beginload=false;
		}
else this.beginload=true;
this.error=false;
if (this.domEl.options)this.domEl.options[0].selected=true;
this.domEl.parentNode.parentNode.style.display='block';
this.domEl.name=name;

}

chekEl.prototype.hideIt=function(affected)
{
if (this.requred)
	{
	this.requred=false;
	this.beginload=true;
	this.domEl.parentNode.parentNode.style.display='none';
	this.domEl.value='';
	this.domEl.name=this.oldname;
	this.name=this.oldname;
	var elem;
	if (affected[this.oldname].length>0)
		{
		var toCheck=this.findOthers();
		elem=toCheck.shift();
		while(elem.domEl.name.toString()!=affected[this.oldname]&&toCheck.length>0)
			{
			elem=toCheck.shift();
			}
		elem.hideIt(affected);
		}
	}

}

chekEl.prototype.checkMe=function()
{
var inpuObj=this;
if (inpuObj.formEl.inpuObj.error&&inpuObj.formEl.inpuObj.lowdiverr&&document.getElementById(inpuObj.formEl.inpuObj.lowdiverr))document.getElementById(inpuObj.formEl.inpuObj.lowdiverr).innerHTML='';
	var mess;
	if (inpuObj.requred)
		{
		if (inpuObj.ajax)inpuObj.wait=true;
		var str=new String(inpuObj.value);
		inpuObj.value=str.trim();
		if (inpuObj.value.length<=inpuObj.minvalue)
			{
			inpuObj.error=true;
			if (inpuObj.minvalue==0)
				{
				mess='Вы не заполнили обязательное поле "'+inpuObj.defaultValue+ '"';
				inpuObj.clearMe();
				}
			else mess='Введенная длина обязательного поля "'+inpuObj.defaultValue+ '" меньше '+(inpuObj.minvalue+1);
			if (inpuObj.diverr)inpuObj.diverr.innerHTML=mess;
			inpuObj.domEl.style.color=inpuObj.errorcolor;				 
			inpuObj.wait=false;			
			}
		else
			{
			if (inpuObj.testedTogetherJsMet)
				{
				if (typeof inpuObj.testedTogetherJsMet=='function')inpuObj.testedTogetherJsMet.call(inpuObj);
				else Function[inpuObj.testedTogetherJsMet].call(inpuObj);
				}
			else inpuObj.error=false;
			if (!inpuObj.error)	
				{
				if (inpuObj.ajax)
					{
					var pars;
					inpuObj.wait=true;
					if (inpuObj.testedTogether)
						{
						var formob=inpuObj.formEl.inpuObj;
						var name;
						var name1;
						var name2;
						var arrmypar=''
						for (var k=0;k<formob.childNumb;k++)
							{
							if (formob.childobjs[k].beginload)
								{
								inpuObj.pars[inpuObj.pars.length]=new inhtObject(formob.childobjs[k].name,formob.childobjs[k].value);
								}
							}
						}
					else
						{
						inpuObj.pars[inpuObj.pars.length]=new inhtObject(inpuObj.name,inpuObj.value);
						}
					var url='/index.'+'php?action=check&what='+inpuObj.domEl.name;
					var sender= new ContentLoader(url,'POST',inpuObj.pars,inpuObj);
					sender.loadXMLDoc();
					}
				else
					{
					inpuObj.error=false;
					if (inpuObj.diverr&&inpuObj.diverr.innerHTML.length>0)inpuObj.diverr.innerHTML='';
					inpuObj.domEl.style.color=inpuObj.color;				 
					}	
				}
			}
		}
	else
		{
			if (inpuObj.testedTogetherJsMet)
				{
				if (typeof inpuObj.testedTogetherJsMet=='function')inpuObj.testedTogetherJsMet.call(inpuObj);
				else Function[inpuObj.testedTogetherJsMet].call(inpuObj);
				}
		
		}	
}

chekEl.prototype.riseItRadio=function()
{
if ((this.domEl.type=='text'||this.domEl.type=='textarea')&&this.domEl.value=='') this.beginload=false;
this.error=false;
if (this.domEl.options)this.domEl.options[0].selected=true;
this.domEl.parentNode.parentNode.style.display='block';

}

chekEl.prototype.hideItRadio=function(affected)
{
this.requred=false;
	this.beginload=true;
	this.domEl.parentNode.parentNode.style.display='none';
	if (this.domEl.type=='text'||this.domEl.type=='textarea'||this.domEl.type=='select') this.domEl.value='';
	if (this.formEl.inpuObj.groups[this.id])
		{
		var len=this.formEl.inpuObj.groups[this.id].length;
		for (var i=0;i<len;i++)
			{
			this.formEl.inpuObj.groups[this.domEl.id][i].domEl.checked=false;
			}
		}
	var elem;
	
	if (affected[this.name]&&affected[this.name].length>0)
		{
		var toCheck=this.findOthersNext();
		elem=toCheck.shift();
		elem.hideItRadio(affected);
		}}

chekEl.prototype.findOthersNext=function()
{
var res=new Array();
begin=false
for(var i=0;i<this.formEl.inpuObj.childNumb;i++)
	{
	if (this.formEl.inpuObj.childobjs[i]==this)begin=true;
	if (begin&&this.formEl.inpuObj.childobjs[i].testedTogetherJsMet.toString()==this.testedTogetherJsMet.toString()&&this.formEl.inpuObj.childobjs[i].domEl.id!=this.domEl.id) res[res.length]=this.formEl.inpuObj.childobjs[i];
	}
return res;}

chekEl.prototype.findButOthers=function()
{
var res=new Array();
for(var i=0;i<this.formEl.inpuObj.childNumb;i++)
	{
	if (this.formEl.inpuObj.childobjs[i].testedTogetherJsMet.toString()==this.testedTogetherJsMet.toString()&&this.formEl.inpuObj.childobjs[i]!=this&&this.formEl.inpuObj.childobjs[i].domEl.value!='') res[res.length]=this.formEl.inpuObj.childobjs[i].domEl.value.trim();
	}

return res;

}

function inhtObject(name,value)
{
this.name=name;
	this.value=value;

}

function colorObject()
{
	this.color1='#ff0000';
	this.color2='#9b9fa5';

}

function getNode(nodeid,did,pars)
{
var url='/index.'+'php?action=check&what=choose&id='+nodeid;
var stat=new checkstatic(document.getElementById(did),did,url);
sender= new ContentLoader(stat.url,'POST',pars,stat);
sender.loadXMLDoc();}

function selectMe(did,fieldname)
{
if (region)var par3=new inhtObject('region',region);
else var par3=new inhtObject('region','false');
var elem=document.getElementsByName(fieldname)[0];
var inpuObj=elem.inpuObj;
var urls=inpuObj.findButOthers();
urls[urls.length]=myUrl;
urls[urls.length]=elem.value;
var par1=new inhtObject('element',fieldname);
var urlss=urls.join(',');
var par2=new inhtObject('urls',urlss);
var pars=new Array (par1,par2,par3);
getNode(9292,did,pars);}

function setTd(name,url,id)
{
var elem=document.getElementsByName(id)[0];
if (elem.value!=url.trim())
	{
	elem.value=url.trim();
	elem.inpuObj.value=elem.value;
	elem.inpuObj.beginload=true;
	elem.inpuObj.error=false;
	elem.style.color=elem.inpuObj.color;
	elem.inpuObj.diverr.innerHTML='';
	elem.inpuObj.formEl.inpuObj.beginload=true;		
	}
var cname=id.slice(0,-4)+'_company';
elem=document.getElementsByName(cname)[0];
if (elem.value!=name.trim())
	{
	elem.value=name.trim();
	elem.inpuObj.value=elem.value;
	elem.inpuObj.beginload=true;
	elem.inpuObj.error=false;
	elem.style.color=elem.inpuObj.color;
	elem.inpuObj.diverr.innerHTML='';		
	elem.inpuObj.formEl.inpuObj.beginload=true;		
	}
document.getElementById('choose').style.display='none';}

function checkmyAnswer(answer,elId)
{
answer=parseInt(answer);
if (isNaN(answer))answer=0;
if (answer>5)answer=5;
if (document.getElementById('ball'+elId))document.getElementById('ball'+elId).innerHTML=answer;
document.getElementById(elId).value=answer;
pos=answer*25-125;
if (document.getElementById('star'+elId))document.getElementById('star'+elId).style.backgroundPosition=pos+'px';}

function voteMe(evt,type)
{
evt=(evt)?evt:(window.event)?window.event : "";
var elem=(evt.target)?evt.target:evt.srcElement;
var offsetx=(evt.offsetX)?evt.offsetX:evt.pageX-elem.offsetLeft-document.body.offsetLeft;
var pos=parseInt(offsetx/25)+1;
if (pos>5)pos=5;
var elidind=elem.id.indexOf('star')+4;
var elid=elem.id.slice(elidind);

pointElem=elem.parentNode;

do
	{
	pointElem=pointElem.nextSibling;
	} while(pointElem.nodeType!=1)

pointElem=pointElem.getElementsByTagName('span');
pointElem=pointElem[0];
pointElem.innerHTML=pos;

pointElem=document.getElementsByName(elid)[0];

pointElem.value=pos;
pointElem.inpuObj.beginload=true;
pointElem.inpuObj.error=false;
pointElem.inpuObj.error=false;
pointElem.inpuObj.diverr.innerHTML='';		
pointElem.inpuObj.formEl.inpuObj.beginload=true;		
pos=pos*25-125;
elem.style.backgroundPosition=pos+'px';

}

function email(str)
{
var ind=str.lastIndexOf('@')+1;
if (ind>0)str=str.slice(ind);
else str='';return str}

function url(str)
{
	var regexp=/http:/gi;
	str=str.replace(regexp,'');
	var regexp=/:/gi;
	str=str.replace(regexp,'');
	var regexp=/\//gi;
	str=str.replace(regexp,'');
	var regexp=/^www\./gi;
	str=str.replace(regexp,'');return str}

function normalizeUrl(str)
{
	str='http://'+url(str);
return str}

function setRemember(nodeid)
{
var elem=document.getElementById('authcont');
var forms=elem.getElementsByTagName('form');
var cmd=forms[0].inpuObj.name.slice(0,-8)+'.killMe();';
eval(cmd);
var inner='<form name=remember id="remember" method="POST"><div id=remembererr class=error ></div><h2>Вспомнить пароль</h2><div class=authfield><input type=text minvalue="0" requred=true ajax=false defaultValue="Логин" linked=false defaultFill=true testedTogether=false beginload=false testedTogetherJs=false testedTogetherJsMet=false id=email name=email class=areasmall value="Логин"></div><input class=butt name=but type="Button" value=">>" class=but></form><p><a href=/registr.html><strong>регистрация</strong></a>&nbsp;|&nbsp;<a href="javascript:setAuth(\'\','+nodeid+');">авторизация</a></p>';
elem=document.getElementById('authcont');
elem.innerHTML=inner;
moved.addForm('authcont','/index.'+'php?action=check&what=remember',false,nodeid);}

function addObject(objecttype,nodeid,what)
{
var divid=what.divid;
var act='/index.'+'php?action=addobject&what='+objecttype+'&id='+nodeid+'&divid='+divid;
var pars=new Array();
var cmd=what.name.slice(0,-8)+'.killMe();';
eval(cmd);
var stat=new checkstatic(document.getElementById(divid),divid,act);
sender= new ContentLoader(stat.url,'POST','',stat);
sender.loadXMLDoc();}

function logOut(some)
{
var act;
if (some.length>0) act='/index.'+'php?action=check&what=out&id='+some;
else act='/index.'+'php?action=check&what=out';
var pars=new Array();
var divid='authcont';
var stat=new checkstatic(document.getElementById('authcont'),'authcont','/index.php');
stat.url=act;
sender= new ContentLoader(stat.url,'POST','',stat);sender.loadXMLDoc();}

function setAuth(txt,nodeid)
{
var elem=document.getElementById('authcont');
var forms=elem.getElementsByTagName('form');
if (forms[0])
	{
	var cmd=forms[0].inpuObj.name.slice(0,-8)+'.killMe();';
	eval(cmd);
	elem=document.getElementById('authcont');
	}
var inner='<form name=auth id="auth" method="POST"><div id=autherr class=error>'+txt+'</div><h2>Вход</h2><div class=authfield><input type=text minvalue="0" requred=true ajax=false defaultValue="Логин" linked=false defaultFill=true testedTogether=false beginload=false testedTogetherJs=false testedTogetherJsMet=false id=email name=email class=areasmall value="Логин"></div><div class=authfield><input type="text" id="pass" minvalue="0" requred=false ajax=false defaultValue="Пароль" linked=true defaultFill=true testedTogether=false beginload=false testedTogetherJs=false testedTogetherJsMet=false  class=areasmall1 value="Пароль"><input type="Password" name=password style="visibility:hidden;display:none;" id="pass1"  minvalue="0" requred=true ajax=false defaultValue="Пароль" linked=true defaultFill=true testedTogether=false beginload=false testedTogetherJs=false testedTogetherJsMet=false	class=areasmall1 value=""></div><input class=but name=but type="Button" value=">>" class=but></form><p><a href=/registr.html><strong>регистрация</strong></a>&nbsp;|&nbsp;<a href="javascript:setRemember('+nodeid+');">забыли пароль?</a></p>';
elem.innerHTML=inner;
moved.addForm('authcont','/index.'+'php?action=auth',false,nodeid);}

function setLogOut(uid,name,nodeid)
{
var elem=document.getElementById('authcont');
var forms=elem.getElementsByTagName('form');
if (forms[0])
	{
	var cmd=forms[0].inpuObj.name.slice(0,-8)+'.killMe();';
	eval(cmd);
	elem=document.getElementById('authcont');
	}
var inner='<div class="mylogname"><a href=/index.php?action=show&id='+uid+'>'+name+'</a> <span class=more>(<span class=symlink onClick="logOut(\''+nodeid+'\');">выйти</span>)</span></div>';
elem.innerHTML=inner;}

var colobj=new colorObject();
var moved=new movedDivs(); 

Function.prototype.checkMyPrograms=function()
{
var elid=this.id.slice(0,-2)+'_languages';
if (document.getElementById(elid+'_cont')&&this.domEl.checked)
	{
	if (this.formEl[elid].value=='')this.formEl[elid].value=this.formEl[elid].inpuObj.defaultValue;
	document.getElementById(elid+'_cont').style.display='block';
	}
else if (document.getElementById(elid+'_cont')&&!this.domEl.checked)
	{
	this.formEl[elid].value='';
	this.formEl[elid].inpuObj.value='';
	document.getElementById(elid+'_cont').style.display='none';
	}
}

Function.prototype.aPlatform=function()
{
	var affected=new Array();
	affected['studio_step4_platform']='studio_step4_platfo_languages';
	affected['studio_step4_platfo_languages']='';
	var toCheck=this.findOthersNext();
	var elem=toCheck.shift();
	if (this.name=='studio_step4_platform')
		{
		if (this.domEl.value=='Другая') elem.riseItRadio();
		else elem.hideItRadio(affected);
		}
}


Function.prototype.checkMyUrls=function()
{
var mess='';
if (!(this.error&&this.domEl.value==this.defaultValue))
	{
	this.error=false;
	this.domEl.value=this.domEl.value.trim().toLowerCase();
	if (this.domEl.value.length>0)
		{
		this.domEl.value=url(this.domEl.value.trim().toLowerCase());
		this.domEl.value=normalizeUrl(this.domEl.value);
		if (this.domEl.value==myUrl)
			{
			this.error=true;
			mess='Голосование за свою компанию запрещено. Измените URL';
			this.domEl.value='';
			}
		if (!this.error)
			{
			var toCheck=this.findButOthers();
			if (toCheck.contains(this.domEl.value))
				{
				this.error=true;
				mess='Вы уже выбрали эту компанию. Измените URL';
				}
			}
		}
	else
		{
		if (this.requred)
			{
			this.error=true;
			mess='Вы не заполнили поле '+ this.defaultValue;
			}	
		}	 
	if (this.diverr)this.diverr.innerHTML=mess;
	if (this.error)	this.domEl.style.color=this.errorcolor;		
	else
		{
		this.domEl.style.color=this.color;
		var siblings=this.findOthers();
		for (var i=siblings.length-1;i>-1;i--)
			{
			if (siblings[i].error)
				{
				if (typeof siblings[i].testedTogetherJsMet=='function')siblings[i].testedTogetherJsMet.call(siblings[i]);
				else Function[siblings[i].testedTogetherJsMet].call(siblings[i]);
				break;
				}
			}
		}		
	}
}




Function.prototype.checkMyConcurents=function()
{
var mess='';
if (!(this.error&&this.domEl.value==this.defaultValue))
	{
	this.error=false;
	this.domEl.value=this.domEl.value.trim().toLowerCase();
	if (this.domEl.value.length>0)
		{
		this.domEl.value=url(this.domEl.value.trim().toLowerCase());
		this.domEl.value=normalizeUrl(this.domEl.value);
		if (this.domEl.value==myUrl)
			{
			this.error=true;
			mess='Указывать URL своей компании запрещено. Измените URL';
			this.domEl.value='';
			}
		if (!this.error)
			{
			var toCheck=this.findButOthers();
			if (toCheck.contains(this.domEl.value))
				{
				this.error=true;
				mess='Вы уже выбрали эту компанию. Измените URL';
				}
			}
		}
	else
		{
		if (this.requred)
			{
			this.error=true;
			mess='Вы не заполнили поле '+ this.defaultValue;
			}	
		}	 
	if (this.diverr)this.diverr.innerHTML=mess;
	if (this.error)	this.domEl.style.color=this.errorcolor;		
	else
		{
		this.domEl.style.color=this.color;
		var siblings=this.findOthers();
		for (var i=siblings.length-1;i>-1;i--)
			{
			if (siblings[i].error)
				{
				if (typeof siblings[i].testedTogetherJsMet=='function')siblings[i].testedTogetherJsMet.call(siblings[i]);
				else Function[siblings[i].testedTogetherJsMet].call(siblings[i]);
				break;
				}
			}
		}		
	}
}

Function.prototype.checkMyTenders=function()
{
var mess='';
if (!(this.error&&this.domEl.value==this.defaultValue))
	{
	this.error=false;
	this.domEl.value=this.domEl.value.trim().toLowerCase();
	if (this.domEl.value.length>0)
		{
		this.domEl.value=url(this.domEl.value.trim().toLowerCase());
		this.domEl.value=normalizeUrl(this.domEl.value);
		if (this.domEl.value==myUrl)
			{
			this.error=true;
			mess='Указывать URL своей компании запрещено. Измените URL';
			this.domEl.value='';
			}
		if (!this.error)
			{
			var toCheck=this.findButOthers();
			if (toCheck.contains(this.domEl.value))
				{
				this.error=true;
				mess='Вы уже выбрали эту компанию. Измените URL';
				}
			}
		}
	else
		{
		if (this.requred)
			{
			this.error=true;
			mess='Вы не заполнили поле '+ this.defaultValue;
			}	
		}	 
	if (this.diverr)this.diverr.innerHTML=mess;
	if (this.error)	this.domEl.style.color=this.errorcolor;		
	else
		{
		this.domEl.style.color=this.color;
		var siblings=this.findOthers();
		for (var i=siblings.length-1;i>-1;i--)
			{
			if (siblings[i].error)
				{
				if (typeof siblings[i].testedTogetherJsMet=='function')siblings[i].testedTogetherJsMet.call(siblings[i]);
				else Function[siblings[i].testedTogetherJsMet].call(siblings[i]);
				break;
				}
			}
		}		
	}
}


Function.prototype.aCms=function()
{
	var affected=new Array();
	affected['studio_step4_cms-yes-no']='studio_step4_cms-how-use';
	affected['studio_step4_cms-how-use']='studio_step4_cms-name';
	affected['studio_step4_cms-name']='';
	var toCheck=this.findOthersNext();
	var elem=toCheck.shift();
	if (this.name=='studio_step4_cms-yes-no')
		{
		if (this.domEl.value=='Да') elem.riseItRadio();
		else elem.hideItRadio(affected);
		}
	else if (this.name=='studio_step4_cms-how-use')
			{
			if (this.domEl.value=='Используем только свою внутреннюю CMS')
				{ 
				elem.hideItRadio(affected);
				this.domEl.name=this.oldname;
				}
			else elem.riseItRadio();
			}
	
}


var region;

Function.prototype.checkurl=function()
	{
	if (this.domEl.name!='email')
		{
		var toCheck=this.findOthers();
		
		var mail=toCheck.shift();
		while(mail.domEl.name.toString()!='email'&&toCheck.length>0)
			{
			mail=toCheck.shift();
			}
		mail.domEl.value=mail.domEl.value.trim().toLowerCase();
		this.domEl.value=this.domEl.value.trim().toLowerCase();
		var error=true;
		if (mail.beginload&&this.beginload)
			{
			var mval=email(mail.domEl.value);
			var uval=url(this.domEl.value);
			uval=uval.toLowerCase();
			mval=mval.toLowerCase();
			if (uval.substr(uval.lastIndexOf(mval))==mval)error=false;
			if (!error)
				{
				if (mail.diverr.innerHTML.length=='')
					{
					this.diverr.innerHTML='';
					this.error=false;
					this.domEl.style.color=this.color;	
					}
				else
					{
					this.error=true;
					this.domEl.style.color=this.errorcolor;	
					this.diverr.innerHTML='Вы неправильно заполнили поле URL официального сайта';
					}
				}
			else
				{
				this.error=true;
				this.domEl.style.color=this.errorcolor;	
				this.diverr.innerHTML='URL почтового домена должен совпадать с URL официального сайта компании';
				}
			}
		}
	else 
		{
					myurl=this.findElem('siteurl');
					this.diverr.innerHTML='';
					this.error=false;
					this.domEl.style.color=this.color;
					myurl.checkMe();	

		}	
	}

Function.prototype.checkMyPrice=function()
	{
	if (document.getElementById(this.domEl.id+'comment'))
		{
var mess='<p>Высокий ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
switch (this.domEl.value){
case 'Менее 15':
mess='<p>Низкий ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
case '15-50':
mess='<p>Низкий ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
case '50-100':
mess='<p>Низкий ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
case '100-150':
mess='<p>Средний ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
case '150-200':
mess='<p>Средний ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
case '200-300':
mess='<p>Средний ценовой сегмент (для участия в срезе по ценовым сегментам)</p>';
break;
}
document.getElementById(this.domEl.id+'comment').innerHTML=mess;
		}


	}
	

Function.prototype.testPhone=function()
{
var str='';
var val=this.value.trimPhone();
if (val.length>0)
	{
	str='Вы неправильно заполнили обязательное поле "'+this.defaultValue+'"';
	this.error=true;
	this.domEl.style.color=this.errorcolor;
	}
else
	{
	this.error=false;
	this.domEl.style.color=this.color;
	}
if (this.diverr)this.diverr.innerHTML=str;
}


Function.prototype.aOwnerRegion=function()
{
	var affected=new Array();
	affected['region']='city';
	affected['city']='another';
	affected['another']='';
	affected['cityinput']='';
	var elem;
	var hide;
	if (this.oldname=='region')
		{
		if (this.domEl.value=='Россия')
			{
			elem=this.findElem('city');
			hide=this.findElem('cityinput');
			}
		else
			{
			elem=this.findElem('cityinput');
			hide=this.findElem('city');
			}					
		}
	else if (this.oldname=='city')elem=this.findElem('another');
		
	if (this.oldname=='region')
		{
		elem.riseIt(elem.oldname);
		hide.hideIt(affected);
		}
		
	else if (this.oldname=='city')
			{
			if (this.domEl.value=='Другое')
				{ 
				if (this.domEl.name!='fakevalue')
					{
					elem.riseIt(this.domEl.name);
					this.domEl.name='fakevalue';
					}
				}
			else
				{
				elem.hideIt(affected);
				this.domEl.name=this.oldname;
				}
			}
	
}


Function.prototype.aBusinessSphere=function()
{
	var affected=new Array();
	affected['sector']='anothersector';
	affected['anothersector']='';

	if (this.oldname=='sector')
		{
		elem=this.findElem('anothersector');
		if (this.domEl.value=='Иное')
			{ 
			if (this.domEl.name!='fakevalue')
				{
				elem.riseIt(this.domEl.name);
				this.domEl.name='fakevalue';
				}
			}
		else
			{
			elem.hideIt(affected);
			this.domEl.name=this.oldname;
			}
		}
}


Function.prototype.aCityregion=function()
{
	var affected=new Array();
	affected['region']='city';
	affected['city']='another';
	affected['another']='';
	var toCheck=this.findOthers();
	var elem=toCheck.shift();
	while(elem!=this&&toCheck.length>0)
		{
		elem=toCheck.shift();
		}
	if (toCheck.length>0)elem=toCheck.shift();
	if (this.oldname=='region')
		{
		if (this.domEl.value=='Россия')
			{ 
			if (this.name==this.oldname)
				{
				elem.riseIt(elem.oldname);
				this.name='fakevalue';
				}
			}
		else
			{
			elem.hideIt(affected);
			this.domEl.name=this.oldname;
			this.name=this.oldname;
			}
		}
	else if (this.oldname=='city')
			{
			if (this.domEl.value=='Другой')
				{ 
				if (this.domEl.name!='fakevalue')
					{
					elem.riseIt(this.domEl.name);
					this.domEl.name='fakevalue';
					}
				}
			else
				{
				elem.hideIt(affected);
				this.domEl.name=this.oldname;
				}
			}
	
}

var isIE4=(navigator.appName.indexOf("Microsoft")==0);
if (navigator.userAgent.indexOf("Opera")>-1)
	var isOpera=true;

String.prototype.trim=new Function("return this.replace(/^\\s+|\\s+$/g,'')");
String.prototype.trimPhone=new Function("return this.replace(/[0-9]*[()]{0,1}[-]*[+]{0,1}[ \t]*/g,'')");
String.prototype.trimDec=new Function("return this.replace(/[0-9]*/g,'')");




Array.prototype.indexOf=function(obj)
{
var result=-1;
for (var i=0;i<this.length;i++)
	{
	if(this[i]==obj)
		{
		result=i;
		break;
		}
	}
return result;
}

Array.prototype.contains=function (obj)
{
return(this.indexOf(obj)>=0);
}

Array.prototype.append=function (obj,nodup)
{
if (!(nodup&&this.contains(obj))) this[this.length]=obj;
}


if (window.Node && window.XMLSerializer)
{
  Node.prototype.__defineGetter__('outerHTML', function() {
	return new XMLSerializer().serializeToString(this);
  });
}

Object.prototype.parseBoolean=function()
{
if(this=='true') return true;
else if (this=='false') return false;
else return this; 
}



function setMyDiv()
{
document.getElementById("choose").style.display="block";
var mySdvandHeight;
if (window.scrollY) mySdvandHeight=parseInt(document.getElementById("choose").offsetHeight+window.scrollY+100);
else mySdvandHeight=parseInt(document.getElementById("choose").offsetHeight+document.getElementById("choose").parentNode.parentNode.scrollTop+100);
if (mySdvandHeight>parseInt(document.getElementById("choose").parentNode.childNodes[0].offsetHeight))
	{
	if ((parseInt(document.getElementById("choose").offsetHeight)-parseInt(document.getElementById("choose").parentNode.childNodes[0].offsetHeight))<0) mySdvandHeight=parseInt(document.getElementById("choose").parentNode.childNodes[0].offsetHeight);
	else mySdvandHeight=parseInt(document.getElementById("choose").offsetHeight);
	}
document.getElementById("choose").style.top=mySdvandHeight-parseInt(document.getElementById("choose").offsetHeight)+"px";}



rowobject = function(id,ballkoeff,ball,koeff,c)
{
this.id=id;
this.elem=document.getElementById(id);
this.order=this.elem.rowIndex;
this.html=this.elem.innerHTML;
this.ballkoeff=ballkoeff;
this.ball=ball;
this.koeff=koeff;
this.c=c;
}
function compare (a,b)
{
return b[sortflag]-a[sortflag];
}
function checkTr()
{
myTrs.sort(compare);
var myTable=document.getElementById('sorttable');
while(myTable.rows.length>1&&!isIE4)
	{
	myTable.deleteRow(1);
	}
var data;
var i;
for (i=0;i<100;i++)
	{
	data=i+1;
	if (i%2!=0)myTrs[(i)].elem.className='tab2';
	else myTrs[(i)].elem.className='tab3';
	myTable.appendChild(myTrs[(i)].elem);
	myTrs[(i)].order=data;
	}
}



