function checknumber(object_value)
    {

    if (object_value.length == 0)
        return false;
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;


	check_char = start_format.indexOf(object_value.charAt(0))

	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1)
		return false;
        

	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)	
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;

		}
	        else if (trailing_blank)
			return false;
		else
			digits = true;
	}	

    return true
}


function CheckFormItems(theForm)
{
	var ok = true;

	pwd1Defined = false;
	pwd2Defined = false;
	pwd1="";
	pwd2="";

	for (var i = 0; i < theForm.elements.length; i++) 
	{
			var e = theForm.elements[i];
			
			//START of password check
			if(e.name == "Password")
			{
				pwd1 = e.value;
				pwd1Defined = true;
			}

			if(e.name == "Password2")
			{
				pwd2 = e.value;
				pwd2Defined = true;
			}
			
			if(pwd1 != pwd2 && pwd1Defined && pwd2Defined)
			{
				alert("Check the passwords!");
				e.focus();
				return false;
			}

			//END of password check			

			if (e.name)
			
				if (!(e.name.indexOf('def_')>= 0))
				
				{
	
					if ( !(typeof(eval('theForm.elements["dfs_' + e.name + '"]')) == "undefined") )			
						{
						defselval = eval('theForm.elements["dfs_' + e.name + '"].value');
						selvalues = defselval.split('_');
						selrequired = selvalues[0];
						selalert = selvalues[1];
						if (selrequired == 'req')
							{
							sreq = true;
							}
						else
							sreq = false;
							
						if (sreq && e.value == 'null')
							{
							alert(selalert);
							return false;
							}
					
						}

				if ( !(typeof(eval('theForm.elements["def_' + e.name + '"]')) == "undefined") )
					{
					defval = eval('theForm.elements["def_' + e.name + '"].value');
					
					values = defval.split('_');
					datatype = values[0];
					required = values[1];
					alertmessage = values[2];
					alertmessage2 = values[3];
				
					if (required == 'req')
						req = true;
					else
						req = false;
					
					if (datatype == 'int' || datatype == 'float')
						{
						needN = true;
						}
					else
						needN = false;
						
						
					if (req && e.value == '')
						{
						alert(alertmessage);
						if (e.type!='hidden'){
							e.focus();
						};
						return(false);
						}
						
					if (!checknumber(e.value) && needN)
						{
						alert(alertmessage2);
						if (e.type!='hidden'){
							e.focus();
						};
						return(false);
						}

					}
			}
	}

	return (true);

}


// opens calendar
/*
function OpenCalendar(formfield,languageID,type,date,mapdir) {

	url = 'js/calendar.cfm?languageID=' + languageID + '&type=' + type + '&formfield=' + formfield + '&date=' + escape(date);
	if (type == 'date')
		win = window.open(url,'calendar','height=220,width=200');
	else
		win = window.open(url,'calendar','height=240,width=310');
	win.focus();

}

function TestWindow(mapdir,TestID,QuestionsNumber,ResultDir)
{

url = mapdir + '/modules/test/objects/DoTest.cfm?TestID=' + TestID + '&QuestionsNumber=' + QuestionsNumber + "&OpenerPath=" + ResultDir;
wintest = window.open(url,'calendar','height=320, width=510, top=200, left=250, scrollbars=yes');
wintest.focus();
		
}
*/

// function for delete button
function AskToDelete(form_object, question) {
	if(confirm(question)) {
		form_object.elements['ActionType'].value = 'DELETE';
		return true;
	}
	else
		return false;
}

// function for set ActionType
function SetActionTypeValue(form_object, ActionTypeValue, UpdateItemID) {
	if(ActionTypeValue != "") {
		form_object.elements['ActionType'].value = ActionTypeValue;
		
		if (UpdateItemID != "")
			form_object.elements['UpdateItemID'].value = UpdateItemID;
		else
			form_object.elements['UpdateItemID'].value = 0;

		return true;
	}
	else
		return false;
}

// functions regarding languages
// saves content of the special language related fields for one language - run before saving the form for current language
function SaveLanguageContent(language){
	for(var i=0;i<LanguageFields.length;i++)
		document.all.item(LanguageFields[i]+language).value = document.all.item(LanguageFields[i]).value;
}

// loads content of one language to language related edit fields
function LoadLanguageContent(language) {
	for(var i=0; i<LanguageFields.length; i++)
		document.all.item(LanguageFields[i]).value = document.all.item(LanguageFields[i]+language).value;

	for(var i=0; i<LanguageFieldsEditor.length; i++)
		document.all[LanguageFieldsEditor[i]+"Preview"].innerHTML=document.all.item(LanguageFieldsEditor[i]+language).value;
}

function IsLanguageContentEmpty(languageindex){
	empty = true;
	for(var i=0;i<LanguageFields.length;i++){
		field=document.all.item(LanguageFields[i]+(document.all.Language[languageindex].checked?"":document.all.Language[languageindex].value));
		empty=empty&&field.value=="";
		}
	return empty;
}

// shows different colors for languages with and without content
function ShowStates() {
	for(var i=0;i<document.all.Language.length;i++)
		document.all.item("languagetitlespan"+document.all.Language[i].value).style.color=IsLanguageContentEmpty(i)?"#ff0000":"#000000";
}

// selects empty language record
function FirstEmptyContentLanguage(){
	result=0;
	// first emtpy language functionality was removed by ML ()
	//for(var i=0;i<document.all.Language.length;i++)
	//	if(IsLanguageContentEmpty(i)){
	//		result=i;
	//		break;
	//		}
	return result;
}

// use for changing language - saves current, loads new, changes current language
function ChangeLanguage(language) {
	SaveLanguageContent(currentlanguage);
	LoadLanguageContent(language);
	currentlanguage = language;
	ShowStates();
}

// gets language relaetd field, used for popup window with HTML editor
function GetField(field){
	return document.all.item(field+currentlanguage).value;
}

// Uploaded Document type checking
// P.Laczko, 17. feb. 2003
function CheckDocumentType( file, extArray )
{

  while ( file.indexOf("\\") != -1)
  {
	file = file.slice( file.indexOf("\\") + 1 );
  }

  ext = file.slice(file.indexOf(".")).toLowerCase();

  for (var i = 0; i < extArray.length; i++)
  {
    if (extArray[i] == ext)
	return (true); 
  }

alert("Please only upload files that end in types:  " + (extArray.join("  ")) + "\nPlease select a new " + "file to upload and submit again.");
return (false);
}

