function strToLower(formElement,edit_disabled){
	if(edit_disabled=='disabled'){return;}
	eval('string='+formElement);
	fletter=string.substring(0,1);
	string=string.substring(1);
	string=string.toLowerCase();
	string=fletter+string;
	eval(formElement+'=string');
}

function strRemEnters(formElement,edit_disabled){
	if(edit_disabled=='disabled'){return;}
	eval('string='+formElement);
	string=string.replace(/\s+/g,' ');
	eval(formElement+'=string');
}

function CheckIP(string){
	if(string.match(/^[0-9]+\.[-0-9]+\.[-*0-9]+\.[-*0-9]+$/)==null){
		alert('Íåâåðíûé IP àäðåñ!');
		return(false);
	}
	return(true);
}



function getRadioValue(eItem){
	var tWOS;
	
	if(!eItem){return tWOS;}	

	L=eItem.length;
	if(L==undefined){
		if(eItem.checked){
			tWOS=eItem.value;
		}
		return tWOS;
	}	

	for(n=0;n<L;n++){
		tRadio=eItem[n];
		if(tRadio.checked){
			tWOS=tRadio.value;
			break;
		}
	}
	return(tWOS);
}


function setRadioValue(eItem,value){
	for(n=0;n<eItem.length;n++){
		tRadio=eItem[n];
		if(tRadio.value==value){
			tRadio.checked=true;
			break;
		}
	}
}


function getSelectValue(eItem){
	var tWOS=false;
	if(!eItem){return false;}
	for(n=0;n<eItem.length;n++){
		tSelect=eItem[n];
		if(tSelect.selected){
			var tWOS=tSelect.value;
			break;
		}
	}
	return(tWOS);
}


function setSelectValue(eItem,value){
	if(!eItem){return false;}
	for(n=0;n<eItem.length;n++){
		tSelect=eItem[n];
		//alert(tSelect.value);
		if(tSelect.value==value){
			tSelect.selected=true;
			break;
		}
	}
}


function calculate(string,symbol){
if((symbol=='') || !(symbol)){return(0);}
if((string=='') || !(string)){return(0);}
var i;
var N=0;

while(i != -1){
i=string.indexOf(symbol);
string=string.substr(i+symbol.length);
N++;}
N=N-1;
return(N);
}

function CheckPairedTags(string,oTag,cTag,area){
NoTag=calculate(string,oTag);
NcTag=calculate(string,cTag);
if(NoTag!=NcTag){
	alert(oTag+'-'+cTag+' tags in '+area+' are not paired!');
	return(false);
}
return(true);
}

// Regular Expression for E-mail checking (to use in fsubmit() function)
var regEmail=/^(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.(cat|com|edu|net|org|gov|[a-z][a-z]|info))(\s*[,;]{1,1}\s*\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.(cat|com|edu|net|org|gov|[a-z][a-z]|info))*$/i;
var regEmailNames=/^[-a-zA-Z¸¨à-ÿÀ-ß.\s]*<?(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.(cat|com|edu|net|org|gov|[a-z][a-z]|info)[,; ]?)+>?$/i;
//var regWWW=/^(http:\/\/)?([-\w]+\.)+(cat|com|edu|net|org|gov|[a-z][a-z]|info)([/~][-\w.]+)*$/i;
var regWWW=/^(http:\/\/)?([-\w]+\.)+(cat|com|edu|net|org|gov|info|[a-z][a-z])/i;
// Regular Expression for Numbers checking (to use in fsubmit() function)
var regNumbers=/^[-+\d.() ,;]+$/i;
var regPhone=/^[-+a-zà-ÿ\d.() ,;*]+$/i;
var regString=/^[-_0-9A-ZÀ-ßà-ÿ %@();,.¸¨#&\\{}:~\/]+$/i;
var regYears=/^\d{4,4}$/i; 
var regVols=/^\d{1,3}$/i; 
var regLogin=/^[-_0-9a-zA-Z@.]+$/;
var regPersonName=/^[-a-zA-Zà-ÿÀ-ß¸¨ ]{2,}$/;
var regJRNID=/^[_a-z0-9]{2,5}$/;
var regFileName=/^[-0-9a-z_.]+$/i;
var regRangeNumbers=/^[-0-9]+$/

function CheckStringReg(string,regVar,area){
string=trim(string);	
if(string!=''){
	if(string.match(regVar)==null){
		alert('Íåäîïóñòèìîå çíà÷åíèå ïîëÿ '+area);
		return(false);
	}
}
return(true);
}

function CheckIllegalSymbols(string,area){
	return CheckStringReg(string,regString,area);
}




function CheckLowLetters(string,area){
PERMITTEDSYMBOLS='qwertyuiopasdfghjklzxcvbnm';
for(i=0;i<string.length;i++){
y=i+1;
sym=string.substring(i,y);
if(PERMITTEDSYMBOLS.indexOf(sym,0) == -1){
	alert('Illegal symbol ['+sym+'] in '+area+'!');
	return(false);
}
}
return(true);
}


function CheckForWrongSymbols(string,area){
	maxcode=255;
	for(i=0;i<string.length;i++){
		y=i+1;
		sym=string.substring(i,y);
		//alert(sym.charCodeAt(0));
		//if(sym.charCodeAt(0) > maxcode){
		//	alert('Illegal symbol ['+sym+'] in '+area+'!');
		//	return(false);
		//}
	}
	return(true);
}




 


function GlobalStringChange(string){
string=standart_tags(string);
return(string);
}

function GlobalStringCheck(string,area){
if(!CheckAllTags(string,area)){return(false);}
if(!CheckPairedTags(string,'<sub>','</sub>',area)){return(false);}
if(!CheckPairedTags(string,'<sup>','</sup>',area)){return(false);}
if(!CheckPairedTags(string,'<i>','</i>',area)){return(false);}
if(!CheckPairedTags(string,'<b>','</b>',area)){return(false);}
if(!CheckPairedTags(string,'<bo>','</bo>',area)){return(false);}
if(!CheckPairedTags(string,'<ol>','</ol>',area)){return(false);}
if(!CheckPairedTags(string,'<ul>','</ul>',area)){return(false);}
if(!CheckPairedTags(string,'<u>','</u>',area)){return(false);}
if(!CheckPairedTags(string,'<s>','</s>',area)){return(false);}
if(!CheckPairedTags(string,'<nobr>','</nobr>',area)){return(false);}
if(!CheckPairedTags(string,'[IMG]','[/IMG]',area)){return(false);}
//if(!CheckIllegalSymbols(string,area)){return(false);}
//if(!CheckAllSGMLs(string,area)){return(false);}	// check &nbsp; etc... !!!
return(true);
}

function SimpleStringChange(string){
string=standart_symbols(string);
return(string);
}

function SimpleStringCheck(string,area){
if(!CheckIllegalSymbols(string,area)){return(false);}
return(true);
}

function standart_symbols(string){
var newstring;
string=replace(string,"'","&#39;");
string=replace(string,'"',"&#34;");
return(string);
}

function instandart_symbols(string){
var newstring;
string=replace(string,"&#39;","\'");
string=replace(string,"&#34;","\"");
string=replace(string,"&nbsp;"," ");
return(string);
}



function standart_tags(string){
var str_b='<';
var str_e='>';

var newstring='';
var i,y;

i=string.indexOf(str_b);
while(i != -1 && y != -1){
str1=string.substr(0,i);
string=string.substr(i);
y=string.indexOf(str_e);
str2=string.substr(0,y).toLowerCase();
string=string.substr(y);
newstring+=str1+str2;
i=string.indexOf(str_b);
}
newstring+=string.substr(0);
return(newstring);
}





function replace(string,text_old,text_new){
var newstring='';
if((string=='') || !(string)){return('');}
if((text_old=='') || !(text_old)){return(string);}

i=string.indexOf(text_old);
while(i != -1){
newstring+=string.substr(0,i)+text_new;
string=string.substr(i+text_old.length);
i=string.indexOf(text_old);
}
newstring+=string.substr(0);

return(newstring);
}

function explode(separator,string){
var arr=new Array();

i=string.indexOf(separator);
j=0;
while(i != -1){ 
arr[j]=string.substr(0,i);
string=string.substr(i+separator.length);
i=string.indexOf(separator);
j++;
}
arr[j]=string.substr(0);
return(arr);
}


function trim(area){ 
while(area.indexOf(' ',0)==0){
nlen=area.length-1;
area=area.substr(1,nlen);
}

nlen=area.length-1;
if(nlen>=0){
while(area.lastIndexOf(' ',nlen)==nlen){
nlen=area.length-1;
area=area.substr(0,nlen);
nlen=area.length-1;
}
}

return(area); 
}


function basename(string,excludeExt){
lastPos=string.lastIndexOf('\\');
string=string.substring(lastPos+1,string.length-excludeExt.length);
return string;}


function getFileExtention(string){
	string=string.toLowerCase();
	lastPos=string.lastIndexOf('.');
	string=string.substring(lastPos+1);
	return string;
}


function in_array(STR,ARR){
for(ss=0;ss<ARR.length;ss++){if(STR==ARR[ss]){return(true);}}
return(false);
}


	var MAX_SGML_LENGTH=30;	// maximal length of legal expressions


	function CheckSGML(checkString,area){
	// !!!! sgmlSym does not contain all symbols !!!!!
	if(checkString.charAt(0)!='&'){return(true);}
	if(!in_array(checkString,sgmlSym)){alert('Illegal expression ['+checkString+'] in '+area+'!');return(false);}
	return(true);
	}

	function CheckAllSGMLs(mystring,area){
	var sgmlstr='';
	var activ=0;
	for(i=0;i<mystring.length;i++){
		y=i+1;
		sym=mystring.substring(i,y);
		if(sym!='&' && activ==0){continue;}
		activ=1;
		if(sym!=';' && sgmlstr.length<MAX_SGML_LENGTH){sgmlstr=sgmlstr+sym;continue;}
		sgmlstr=sgmlstr+sym;
		if(!CheckSGML(sgmlstr,area)){return(false);}
		activ=0;
		sgmlstr='';
	}	
	if(!CheckSGML(sgmlstr,area)){return(false);}
	return(true);
	}


	function CheckTag(checkTagString,area){
	if(checkTagString.charAt(0)!='<'){return(true);}
	var arrTag=new Array();
	arrTag[0]='<sub>';
	arrTag[1]='</sub>';
	arrTag[2]='<i>';
	arrTag[3]='</i>';
	arrTag[4]='<b>';
	arrTag[5]='</b>';
	arrTag[6]='<bo>';
	arrTag[7]='</bo>';
	arrTag[8]='<ol>';
	arrTag[9]='</ol>';
	arrTag[10]='<ul>';
	arrTag[11]='</ul>';
	arrTag[12]='<br>';
	arrTag[13]='<li>';
	arrTag[14]='<nobr>';
	arrTag[15]='<p>';
	arrTag[16]='</p>';
	arrTag[17]='<s>';
	arrTag[18]='</s>';
	arrTag[19]='<u>';
	arrTag[20]='</u>';
	arrTag[21]='<sup>';
	arrTag[22]='</sup>';
	arrTag[23]='</font>';
	arrTag[24]='</nobr>';
	arrTag[25]="<font size=-1>";
	arrTag[26]="<font face='times new roman'>";
	arrTag[27]="<font face='Times New Roman'>";
	arrTag[28]="<font face=Symbol>";
	arrTag[29]="<font face=symbol>";
	if(!in_array(checkTagString,arrTag)){alert('Illegal expression ['+checkTagString+'] in '+area+'!');return(false);}
	return(true);
	}


	function CheckAllTags(Tstring,area){
	var tagstr='';
	var activ=0;
	for(i=0;i<Tstring.length;i++){
		y=i+1;
		sym=Tstring.substring(i,y);
		if(sym!='<' && activ==0){continue;}
		activ=1;
		if(sym!='>' && tagstr.length<MAX_SGML_LENGTH){tagstr=tagstr+sym;continue;}
		tagstr=tagstr+sym;
		if(!CheckTag(tagstr,area)){return(false);}
		activ=0;
		tagstr='';
	}	
	if(!CheckTag(tagstr,area)){return(false);}
	return(true);
	}

	function string_prepare_to_search(string){
		string=replace(string,'¸','å');
		string=replace(string,"'",'');
		return string;
	}


