//------------------------------------------------------------------------------
// Atvērt jaunu windows POPUP logu
function openPopup(url, width, height)
{
	var x = Math.round((screen.availWidth - width) / 2);
	var y = Math.round((screen.availHeight - height) / 2);	
	opened_window=open(url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no,left="+x+",top="+y+",width="+width+",height="+height);
	opened_window.focus();
}

//------------------------------------------------------------------------------
// Formas obligāto lauku automātiska pārbaude

// Pārbauda formu, vai ir aizpildīti visi obligātie (mandatory) elementi
function validateMandatoryFields(form)
{
	var mandatoryFieldCount = 0;
	var filledMandatoryFieldCount = 0;
	
	var firstNotFilledMandatoryField = null;
	
	if (form.elements != null)
	{
		for (i=0; i<form.elements.length; i++)
		{
			var fieldClassName = form.elements[i].className;
			if (isMandatoryField(fieldClassName))
			{
				mandatoryFieldCount++;
				switch(form.elements[i].type)
				{
					case 'text' :
						if (filledMandatoryElement(form.elements[i].value)) filledMandatoryFieldCount++;
						else
						{
							if (firstNotFilledMandatoryField == null) firstNotFilledMandatoryField = form.elements[i];
						}
						break;
					case 'password':
						if (filledMandatoryElement(form.elements[i].value)) filledMandatoryFieldCount++;
						else
						{
							if (firstNotFilledMandatoryField == null) firstNotFilledMandatoryField = form.elements[i];
						}
						break;
				}
			}
		}
	}
	
	if (mandatoryFieldCount != filledMandatoryFieldCount)
	{
		// Izvadam kļūdas paziņojumu
		alert("Lūdzu, aizpildiet visus obligātos datu laukus formā!\n\nPlease fill all mandatory fields in the current form!");
		
		// Aktivizēt pirmo neaizpildīto lauku
		firstNotFilledMandatoryField.focus();
		firstNotFilledMandatoryField.select();
		
		// Neļaujam formai izpildīties
		return false;
	}
	else return true;
	
}

// Pārbaudīt, vai konkrētajam elementam ir piesaistīta obligātā elements klase
function isMandatoryField(className)
{
	var re=/mandatory/i;
	return re.test(className);
}

// Pārbauda, vai ir ievadīts kautkas teksta laukā
function filledMandatoryElement(elemValue)
{
	var re=/([a-zA-Z0-9\а\б\в\г\д\е\ё\ж\з\и\й\к\л\м\н\о\п\р\с\т\у\ф\х\ц\ч\ш\щ\ь\ы\ъ\э\ю\я\ā\č\ē\ģ\ī\ķ\ļ\ņ\š\ū\ž\_\.\,\?\!\`\@\#\$\%\^\&\*\(\)\-\+\\\/\>\<]{1,})+/i;
	return re.test(elemValue);
}

//------------------------------------------------------------------------------
// XMLHTTP: pārbauda, vai šāds lietotājs jau neeksistē datu bāzē
function validateUserName(userNameField, sysUserId)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		
		if (result == 0)
		{
			userNameField.className = "mandatory error";
			userNameField.focus();
			userNameField.select();
		}
		else if (result == 1)
		{
			userNameField.className = "mandatory success";
		}
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		if (userNameField.value.length >= 1)
		{
			myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-sysusername-check&sysuser_id="+sysUserId+"&sysuser_username="+userNameField.value, fnWhenDone);
		}
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: pievieno jaunas mapes nosaukumu Resource Set
function addNewResourceSet(title, type)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseXML;
		
		// Nonullē esošo sarakstu
		var resource_set = document.getElementById('resource_set');
		resource_set.options.length = 0;
		
		//Saģenerē jauno ComboBox sarakstu
		for(var i=0; i<result.getElementsByTagName('option').length; i++)
		{
			id = result.getElementsByTagName('option')[i].getElementsByTagName('id')[0].firstChild.data;
			title = result.getElementsByTagName('option')[i].getElementsByTagName('title')[0].firstChild.data;
			selected = result.getElementsByTagName('option')[i].getElementsByTagName('selected')[0].firstChild.data;
			
			if (resource_set!=null && resource_set.options!=null)
			{
				resource_set.options[i] = new Option(title, id, false, (selected == 'yes'));
			}
		}
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		if (title.length >= 2)
		{
			myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-sav-resource-set&resourceset_title="+title+"&resourceset_type="+type, fnWhenDone);
		}
	}	
}


function editResourceSet(new_title, res_id)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseXML;
		
		// Nonullē esošo sarakstu
		var resource_set = document.getElementById('resource_set');
		resource_set.options.length = 0;
		
		//Saģenerē jauno ComboBox sarakstu
		for(var i=0; i<result.getElementsByTagName('option').length; i++)
		{
			id = result.getElementsByTagName('option')[i].getElementsByTagName('id')[0].firstChild.data;
			title = result.getElementsByTagName('option')[i].getElementsByTagName('title')[0].firstChild.data;
			selected = result.getElementsByTagName('option')[i].getElementsByTagName('selected')[0].firstChild.data;
			
			if (resource_set!=null && resource_set.options!=null)
			{
				resource_set.options[i] = new Option(title, id, false, (selected == 'yes'));
			}
		}
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		if (new_title.length >= 2)
		{
			myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-sav-resource-set&resourceset_title="+new_title+"&resourceset_id="+res_id, fnWhenDone);
		}
	}	
}

//------------------------------------------------------------------------------
// XMLHTTP: pievienot jaunu failu
function showUploadedFileList(resourceset_id)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("upload-files-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-upload-files-list&resourceset_id="+resourceset_id, fnWhenDone);
	}	
}

//------------------------------------------------------------------------------
// XMLHTTP: izlasīt ziņojumu
function setReadMsg(object_id)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-set-read&bulletin_id="+object_id, fnWhenDone);
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: atlasīt visus dokumentu krātuces failus pēc keyword
function showRepDocsByKeyword(keyword)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("dre-file-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-dre-filter&keyword="+keyword, fnWhenDone);
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: atlasīt visus dokumentu krātuces failus pēc keyword
function showRepDocsByLetter(letter)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("dre-file-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-dre-letter&keyword="+letter, fnWhenDone);
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: atlasīt visus dokumentu krātuces failus pēc to veida (klases)
function showRepDocsByFileClass(type_id)
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("dre-file-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-dre-file-class&ftype="+type_id, fnWhenDone);
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: atlasīt visus dokumentu krātuces failus pēc nosaukuma
function showRepDocsOrdByTitle()
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("dre-file-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-dre-title", fnWhenDone);
	}
}

//------------------------------------------------------------------------------
// XMLHTTP: atlasīt visus dokumentu krātuces failus pēc apstiprināšanas datuma
function showRepDocsOrdByDate()
{
	var fnWhenDone = function (oXML) { 
		var result = oXML.responseText;
		document.getElementById("dre-file-list").innerHTML = result;
	};
	
	var myConn = new XHConn();
	if (!myConn) 
	{
		alert("XMLHTTP objekts nav ielādēts. Izvēlieties jaunākas klases pārlūkprogrammu.\n\nXMLHTTP not available. Try a newer/better browser.");
		return true;
	}
	else
	{
		myConn.connect("/lv/intranet/editor-tools/xmlhttp/", "GET", "view=xml-dre-date", fnWhenDone);
	}
}
