/*	JavaScript helping script                                             */
/*                                                                            */
/*	2002(c)Студия БИПЛАН                                                  */

  var servername='http://'+location.hostname+'/';

  function createInstance(dataname,uniqueid,optional)
  {
	if (dataname=='document')
	{
		document.location.href=servername+modifyInstance('location','ClsId',uniqueid);
	}
	if (dataname=='postedid')
	{
		var pathname=modifyInstance('location','ClsId',uniqueid);
		var instance=window.open('http://'+location.hostname+location.pathname+'fetch.php'+pathname,'fetchwindow','width=650,height=560,resize=0,scrollbars=1');
		    instance.focus();
	}
	if (dataname=='filterid')
	{
		document.forms['filterid-'+uniqueid].submit();
	}
	if (dataname=='external')
	{
		window.external.addFavorite('http://'+location.hostname, 'www.geebee.ru');
	}

	if (dataname=='defaults')
	{
		uniqueid.style.behavior='url(#default#homepage)';
		uniqueid.setHomePage('http://www.geebee.ru');
	}
	if (dataname=='pagerUIN')
	{
		var instance=/^\d+$/i;
		if (instance.exec(uniqueid))
		{
			location.href='http://wwp.icq.com/scripts/contact.dll?msgto='+uniqueid;
		}
		else
		{
			alert('Автор не ввел или ввел неверный номер ICQ/AIM.');
		}
	}
	if (dataname=='viewerUI')
	{
		instance=window.open('http://'+location.hostname+'/sysdoc/?ClsId='+uniqueid+'&KeyId='+optional+'&ClsUI='+arguments[3],'','width=400,height=550,resize=0');
	}
	if (dataname=='mailmsgs')
	{
		if ( (document.location.search.indexOf('KeyId')<0)||(document.location.search.indexOf('KeyPW')<0) )
		{
			instance=window.confirm('Данная функция доступна только зарегистрированным пользователям.\nПерейти к регистрации?');
			if (instance)
			{
				createInstance('document',-1);
			}
		}
		else
		{
			var instance=/^[\w|\d|_|\-|\.]+\@[\w|\d|_|\-|\.]+\.[\w]+$/i;

			if (instance.exec(document.forms['sendmail'].elements['mailinfo'].value))
			{
				document.forms['function'].action=modifyInstance('location','ClsId',document.forms['subcall'].elements['uniqueid'].value);
				document.forms['function'].elements['actionid'].value='sendmail';
				document.forms['function'].elements['optional'].value=document.forms['sendmail'].elements['mailinfo'].value;
				document.forms['function'].submit();
			}
			else
			{
				alert('Вы должны указать правильный адрес электронной почты\nCоответствующий следующий формату : "xxx@yyy.zzz"');
			}
		}
	}
	if (dataname=='instance')
	{
		var instance=window.open('http://www.geebee.ru/'+modifyInstance('location','ClsId','2'),'','');
	}
  }

  function editInstance(dataname,uniqueid)
  {
	if ( (dataname=='myposted') )
	{
	document.forms['function'].elements['actionid'].value='editid';
	document.forms['function'].elements['optional'].value=uniqueid;
	document.forms['function'].submit();
	}
  }

  function deleteInstance(dataname,uniqueid)
  {
	if ( (dataname=='myposted')||(dataname=='filterid')||(dataname=='favorite') )
	{
		document.forms['function'].elements['actionid'].value='deleteid';
		document.forms['function'].elements['optional'].value=uniqueid;
		document.forms['function'].submit();
	}
	else if (dataname=='password')
	{
		document.forms['function'].action=modifyInstance('location','ClsId',document.forms['subcall'].elements['uniqueid'].value);
		document.forms['function'].elements['actionid'].value='deleteid';
		document.forms['function'].elements['optional'].value=document.forms['subcall'].elements['password'].value;
		document.forms['function'].submit();
	}
  }
  function seekToInstance(dataname,itemfrom,itemcntr,cityname,queryinf,datatype,hasphone,hasimage,with_icq,datetime,usertype,sections)
  {
	document.forms['apicall'].elements['itemfrom'].value=itemfrom;
	document.forms['apicall'].elements['itemcntr'].value=itemcntr;
	for (posindex=0;posindex<document.forms['apicall'].elements['cityname'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['cityname'].options[posindex].value==cityname)
		{
			document.forms['apicall'].elements['cityname'].selectedIndex=posindex;
		}
	}
	document.forms['apicall'].elements['queryinf'].value=queryinf;

	for (posindex=0;posindex<document.forms['apicall'].elements['datatype'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['datatype'].options[posindex].value==datatype)
		{
			document.forms['apicall'].elements['datatype'].selectedIndex=posindex;
		}
	}

	document.forms['apicall'].elements['hasphone'].checked=((hasphone=='1')?true:false)
	document.forms['apicall'].elements['hasimage'].checked=((hasimage=='1')?true:false)
	document.forms['apicall'].elements['with_icq'].checked=((with_icq=='1')?true:false)

	for (posindex=0;posindex<document.forms['apicall'].elements['datetime'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['datetime'].options[posindex].value==datetime)
		{
			document.forms['apicall'].elements['datetime'].selectedIndex=posindex;
		}
	}

	for (posindex=0;posindex<document.forms['apicall'].elements['usertype'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['usertype'].options[posindex].value==usertype)
		{
			document.forms['apicall'].elements['usertype'].selectedIndex=posindex;
		}
	}

	var uniqueid=sections.substr(0,sections.indexOf(','));
	var parentid=sections.substr(sections.indexOf(',')+1);

	for (posindex=0;posindex<document.forms['apicall'].elements['toplevel'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['toplevel'].options[posindex].value==parentid)
		{
			document.forms['apicall'].elements['toplevel'].selectedIndex=posindex;
		}
	}

	modifyInstance('toplevel');

	for (posindex=0;posindex<document.forms['apicall'].elements['sections'].options.length;posindex++)
	{
		if (document.forms['apicall'].elements['sections'].options[posindex].value==sections)
		{
			document.forms['apicall'].elements['sections'].selectedIndex=posindex;
		}
	}

	document.forms['apicall'].submit();
  }

  function modifyInstance(dataname,uniqueid,optional,datatext)
  {
	if (dataname=='location')
	{
		var textdata=(arguments.length>3?datatext:document.location.search);
		var lSidetxt="";
		var rSidetxt="";

		if (textdata.indexOf('?'+uniqueid+'=')>=0)
		{
			lSidetxt="?"+uniqueid+'='+optional;
			if (textdata.indexOf('&')>=0)
			{
				rSidetxt=textdata.substr((textdata.indexOf('&')),textdata.length-(textdata.indexOf('&')));
			}
			/////filter chapter

			if (rSidetxt.indexOf('&chapter=')>=0)
			{
				rSidetxt=rSidetxt.substr(0,rSidetxt.indexOf('&chapter='));
			}
			/////
			textdata=lSidetxt+rSidetxt;
		}
		else if (textdata.indexOf('&'+uniqueid+'=')>=0)
		{
			lSidetxt=textdata.substr(0,textdata.indexOf('&'+uniqueid+'='));
			rSidetxt=textdata.substr(textdata.indexOf('&'+uniqueid+'=')+uniqueid.length+2);

			if (rSidetxt.indexOf('&')>=0)
			{
				rSidetxt=rSidetxt.substr(rSidetxt.indexOf('&'));
			}
			else
			{
				rSidetxt="";
			}

			textdata=lSidetxt+'&'+uniqueid+'='+optional+rSidetxt;
		}
		else if (textdata.indexOf('?')>=0)
		{
			textdata=textdata+'&'+uniqueid+'='+optional;
		}
		else
		{
			textdata='?'+uniqueid+'='+optional;
		}

		return textdata;
	}

	if (dataname=='toplevel')
	{
		uniqueid=document.forms['apicall'].elements['toplevel'].options[document.forms['apicall'].elements['toplevel'].selectedIndex].value;
		//datalist=document.forms['apicall'].elements['fakelist'];
		document.forms['apicall'].elements['sections'].length=0;
		document.forms['apicall'].elements['sections'].options[document.forms['apicall'].elements['sections'].options.length]=new Option('Все подразделы','0,'+document.forms['apicall'].elements['toplevel'].options[document.forms['apicall'].elements['toplevel'].selectedIndex].value);

		for (posindex=0;posindex<ch.length;posindex++)
		{
			parentid=ch[posindex];
			if (parentid==uniqueid)
			{
				parentid=subch[posindex];
				dataname=nam[posindex];
				document.forms['apicall'].elements['sections'].options[document.forms['apicall'].elements['sections'].options.length]=new Option(dataname,parentid+','+document.forms['apicall'].elements['toplevel'].options[document.forms['apicall'].elements['toplevel'].selectedIndex].value);
			}
		}
	}

	if (dataname=='msgslist')
	{
		var instance=document.getElementById('msgslist-'+uniqueid);

		if ( (instance)&&(instance.bgColor) )
		{
			instance.bgColor=(optional?'#a3c7e1':'#ffffff');
		}
	}

	if (dataname=='filterid')
	{
		var instance=document.getElementById('filterid-'+uniqueid);

		if ( (instance)&&(instance.bgColor) )
		{
			instance.bgColor=(optional?'#a3c7e1':'#ffffff');
		}
	}

	if (dataname=='parentid')
	{
		if (document.forms['postdata'].elements['postdata[parentid]'].options[document.forms['postdata'].elements['postdata[parentid]'].selectedIndex].value==0)
		{
			document.forms['postdata'].elements['postdata[parentid]'].selectedIndex=document.forms['postdata'].elements['postdata[parentid]'].selectedIndex+1;
		}

	}

	if (dataname=='regsinfo')
	{
		var instance=/^[\w|\d|_|\-|\.]+\@[\w|\d|_|\-|\.]+\.[\w]+$/i;
	
		if (document.forms['postdata'].elements['postdata[username]'].value.length<=0)
		{
			alert('Вы должны указать свой логин');
		}
		else if (document.forms['postdata'].elements['postdata[password]'].value.length<=0)
		{
			alert('Вы должны указать пароль');
		}
		else if (document.forms['postdata'].elements['postdata[fakepass]'].value.length<=0)
		{
			alert('Вы должны подтвердить пароль');
		}
		else if (document.forms['postdata'].elements['postdata[password]'].value!=document.forms['postdata'].elements['postdata[fakepass]'].value)
		{
			alert('Вы неверно ввели пароль\nПоле пароль не соответствует полю "повторно"');
		}
		else if (! (instance.exec(document.forms['postdata'].elements['postdata[mailinfo]'].value)))
		{
			alert('Вы должны указать правильный адрес электронной почты\nCоответствующий следующий формату : "xxx@yyy.zzz"');
		}
		else
		{
			document.forms['postdata'].action=location.href;
			document.forms['postdata'].submit();
		}
	}

	if (dataname=='favorite')
	{
		if ( (document.location.search.indexOf('KeyId')<0)||(document.location.search.indexOf('KeyPW')<0) )
		{
			instance=window.confirm('Данная функция доступна только зарегистрированным пользователям.\nПерейти к регистрации?');

			if (instance)
			{
				createInstance('document',-1);
			}
		}
		else
		{
			var instance=document.images['favorite-'+uniqueid];
			var randomid=new Date();
			    randomid=randomid.getMilliseconds();
			if (instance)
			{
				instance.src='http://'+location.hostname+'/icons.php'+modifyInstance('location','ClsId',uniqueid,modifyInstance('location','ReqId','favorite',modifyInstance('location','RndId',randomid)));
				instance.datatype=((instance.datatype==1)?2:1);
			}
		}
	}

	if (dataname=='settings')
	{
		var instance=/^[\w|\d|_|\-|\.]+\@[\w|\d|_|\-|\.]+\.[\w]+$/i;

		if (document.forms['postdata'].elements['postdata[nickname]'].value.length<=0)
		{
			alert('Вы должны указать свой псевдоним');
		}
		else if (document.forms['postdata'].elements['postdata[password]'].value.length<=0)
		{
			alert('Вы должны указать пароль');
		}
		else if (document.forms['postdata'].elements['postdata[fakepass]'].value.length<=0)
		{
			alert('Вы должны подтвердить пароль');
		}
		else if (document.forms['postdata'].elements['postdata[password]'].value!=document.forms['postdata'].elements['postdata[fakepass]'].value)
		{
			alert('Вы неверно ввели пароль\nПоле пароль не соответствует полю "повторно"');
		}
		else if (! (instance.exec(document.forms['postdata'].elements['postdata[mailinfo]'].value)))
		{
			alert('Вы должны указать правильный адрес электронной почты\nCоответствующий следующий формату : "xxx@yyy.zzz"');
		}
		else
		{
			document.forms['postdata'].action=location.href;
			document.forms['postdata'].submit();
		}
	}

	if (dataname=='password')
	{
		var instance=/^[\w|\d|_|\-|\.]+\@[\w|\d|_|\-|\.]+\.[\w]+$/i;

		if (! (instance.exec(document.forms['password'].elements['postdata[mailinfo]'].value)))
		{
			alert('Вы должны указать правильный адрес электронной почты\nCоответствующий следующий формату : "xxx@yyy.zzz"');
		}
		else
		{
			document.forms['password'].action=location.href;
			document.forms['password'].submit();
		}
	}
  }

  function chapterNavigator(action)
  {
	switch (action)
	{
		case 'noregist'	:location.href=servername+document.forms['navigation'].elements['navigator'].value+"/";
				 break;
		default		:var uniqueid=document.forms['navigation'].elements['navigator'].value;
				 var pathname=modifyInstance('location','ClsId',uniqueid);
				 var instance=window.open('http://'+location.hostname+location.pathname+pathname);
				     instance.focus();
				 break;
	}
   }
