var console=null;
var id;
var filtering="";

/*Apdorojam divList subElementus*/
//siunciam uzklausa nurodytam elemtui gauti
function getSubElements(controller, id, page) {
	var div = document.getElementById(id);
	showLoadingMessage();
//	div.innerHTML="<span>"+document.getElementById('loading').value+"...</span>"
//	div.innerHTML="<span></span>"
//	div.style.display='block';
	if(!page) {
		page = 0;
	}
	sendRequest(controller,processSubElements,"id="+id+filtering+"&page="+page);
}
//gaunam rezultata
function processSubElements(){
	var ready=req.readyState;
	var data=null;
	if (ready==READY_STATE_COMPLETE){
		if (req.status == 200) {
			parseSubElements(req.responseXML);
		}
	}else{
	}
}
//nusiparsinam rezultata

function parseSubElements(xmlDoc){
	var title="";
	var text="";
	var id =null;
	var newsCount = 0;
	var elDocRoot=xmlDoc.getElementsByTagName("items")[0];
	if (elDocRoot){
		att = elDocRoot.attributes;
		var id = att.getNamedItem("id").value;
		var listSize = parseInt(att.getNamedItem("size").value);
		var perPage = parseInt(att.getNamedItem("perPage").value);
		var pagerSize = parseInt(att.getNamedItem("pagerSize").value);
		var currPage = parseInt(att.getNamedItem("currPage").value);
		document.getElementById(id).innerHTML="<span></span>";
		hideLoadingMessage();
		if(parseInt(listSize) >= parseInt(perPage))
		{
			var elem = document.getElementById(id);
			var pagesCount = Math.ceil(listSize / parseInt(perPage));
			
			divas = document.createElement("div");
			divas.style.textAlign="center";
					
			if(parseInt(currPage)!= 0) {
				divas.innerHTML+="<a class=\"\" id=\"first"+id+"\" href=\"javascript:getFirstPage('"+id+"');\"><img style=\"border: none;\" src=\"images/firstdis.gif\"></img></a>";
			}			
			
			if(parseInt(currPage)-1 >= 0) {
				divas.innerHTML+="<a class=\"\" id=\"prev"+id+"\" href=\"javascript:getPrevPage('"+id+"','"+(parseInt(currPage)-1)+"');\"><img style=\"border: none;\" src=\"images/previousdis.gif\"></img></a>";
			}

			var i = 0;
			if(pagesCount < pagerSize) {
				for(i; i < pagesCount; i++) {
					if(i==currPage) {
						divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\" style=\"font-weight: bold;\"> "+(i+1)+" </a>";
					}
					else {
						divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\"> "+(i+1)+" </img></a>";
					}
				}
			}else {
				if((currPage - Math.ceil(pagerSize / 2) >= 0) && (currPage + Math.ceil(pagerSize / 2) < pagesCount)) {
					i = currPage - Math.ceil(pagerSize / 2)+1;
					for(i; i < currPage+Math.ceil(pagerSize / 2); i++) {
						if(i==currPage) {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\" style=\"font-weight: bold;\"> "+(i+1)+" </a>";
						}
						else {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\"> "+(i+1)+" </img></a>";
						}
					}
				}else if(currPage < Math.ceil(pagerSize / 2)) {
					i=0;
					for(i; i < parseInt(pagerSize); i++) {
						if(i==currPage) {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\" style=\"font-weight: bold;\"> "+(i+1)+" </a>";
						}
						else {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\"> "+(i+1)+" </img></a>";
						}
					}
				}else{
					i=pagesCount-pagerSize;
					for(i; i < pagesCount; i++) {
						if(i==currPage) {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\" style=\"font-weight: bold;\"> "+(i+1)+" </a>";
						}
						else {
							divas.innerHTML +="<a class=\"myLinkClass\" id=\"page"+id+"\" href=\"javascript:getPage('"+id+"','"+i+"');\"> "+(i+1)+" </img></a>";
						}
					}
				}
			}
				
				if((parseInt(currPage)+1) < pagesCount) {
					divas.innerHTML+="<a class=\"\" id=\"next"+id+"\" href=\"javascript:getNextPage('"+id+"','"+(parseInt(currPage)+1)+"');\"><img style=\"border: none;\" src=\"images/nextdis.gif\"></img></a>";
				}
				if((parseInt(currPage)+1) != pagesCount) {
					divas.innerHTML+="<a class=\"\" id=\"last"+id+"\" href=\"javascript:getLastPage('"+id+"','"+Math.floor(listSize/perPage)+"');\"><img style=\"border: none;\" src=\"images/lastdis.gif\"></img></a>";
				}
						
//			elem.appendChild(divas);			
			elem.insertBefore(divas, elem.childNodes.item(0));
		}
		
		for(i=0;i<elDocRoot.childNodes.length;i++){
			var elChild=elDocRoot.childNodes[i];
			if(elChild.nodeName=='item') {
				attrs = elChild.attributes;
				var title=attrs.getNamedItem("title").value +' '+ attrs.getNamedItem("count").value;
				var text =attrs.getNamedItem("text").value;
				appendDiv(id, title, text,i);
				newsCount++;
			}else {
				if(elChild.nodeName=='itemm') {
				var elem = document.getElementById(id);
				
				attrs = elChild.attributes;
				var itemid = attrs.getNamedItem("id").value;
				var title=attrs.getNamedItem("title").value;

				
				var div = document.createElement("div");
				div.style.marginLeft="10px";
				div.style.paddingLeft="10px";
				div.style.paddingBottom='5px';
				div.style.paddingTop='5px';
				div.onmouseover=function() {
									this.style.textDecoration='underline'; 
									};
				div.onmouseout=function() {
									this.style.textDecoration='none'; 
									};
				
				var span = document.createElement("span");
				span.style.cursor='pointer';
				span.style.fontWeight='bolder';
				span.name=itemid;
				span.onclick=function () {
							if(document.getElementById(this.name).style.display!='block') 
							{ 
								getSubElements('result.pub', this.name); 
							}else { 
								onClickUpdate(this.name); 
							}
						};

				span.innerHTML=title;
				
				var div2 = document.createElement("div");
				div2.style.display="none";
				div2.id=itemid;
				
				var span2 = document.createElement("span");
				span2.id="inner";
				
				div.appendChild(span);
				div2.appendChild(span2);
				elem.appendChild(div);
				elem.appendChild(div2);
				}
			}
		}
		
	}
	if(id!=null) {
//		Effect.SlideDown(id);
//		window.setTimeout("opening=false;",10000);
		document.getElementById(id).style.display='block';
	}
}
//atnaujinam interfeisa
function appendDiv(id, title, text, identifier) {
//identifier skirtas atskirti kiekviena naujiena, kad galeciau rodyti arba ne
	
	var div = document.getElementById(id);
	span = document.createElement("div");
	span.name = "head"+identifier+id;
	span.innerHTML=title;
	span.style.fontWeight='bold';
	span.style.color='gray';
	span.style.fontStyle = 'oblique';
	span.style.paddingLeft='30px';
	span.style.cursor='pointer';
	span.onclick = function () {
		bodyy = document.getElementById("body"+((this.name).substring(4)));
		if(bodyy.style.display=='none') {
			bodyy.style.display = 'block';
		}else {
			bodyy.style.display = 'none';
		}

	}
	div.appendChild(span);
	
	paragraph = document.createElement("div");
	paragraph.id = "body"+identifier+id;
	paragraph.style.color='gray';
	paragraph.style.paddingLeft='40px';
	paragraph.style.paddingTop='5px';
	paragraph.style.paddingBottom='20px';
//	paragraph.style.borderBottomStyle= 'dotted';
//	paragraph.style.borderBottomWidth='thin';
	paragraph.style.backgroundColor = '#F9F9F9';
	paragraph.style.display='none';
	
	paragraph.innerHTML = text+'<br />';
	paragraph.style.marginTop='5px';
	paragraph.style.marginBottom='10px';
	
	div.appendChild(paragraph);
}

/*SubElementu apdorojimo pabaiga*/

/*Filtravimas*/
//siunciam uzklausa su filtro parametrais
function connectForProducts(controller, id) {
	
	var div = document.getElementById("products");
	var dataNuo = null;
	dataNuo = document.getElementById("date").value;
	var dataIki = null;
	dataIki = document.getElementById("date2").value;
	var versijaNuo = null;
	versijaNuo = document.getElementById("versions").value;
	var versijaIki = null;
	versijaIki = document.getElementById("versions2").value;
	
	document.getElementById("ver_input").value = versijaIki;
	document.getElementById("ver").value = versijaIki;
	
	filtering = "&dateFrom="+dataNuo+"&dateTo="+dataIki+"&versionFrom="+versijaNuo+"&versionTo="+versijaIki+"";
	showLoadingMessage();
//	div.innerHTML="<span>"+document.getElementById('loading').value+"...</span>"
	div.innerHTML="<span></span>"
	div.style.display='block';
	sendRequest(controller,processProducts,"id="+id+filtering);
}
//gaunam atsakyma
function processProducts() {
	var ready=req.readyState;
	if (ready==READY_STATE_COMPLETE) {
		if (req.status == 200) {
			hideLoadingMessage();
			appendProductsDiv(req.responseText);
		}
	}else{

	}
}
//atnaujinam sarasa
function appendProductsDiv(responseText) {
	elem = document.getElementById("products");
	elem.innerHTML=responseText;
}
/*Jungimasis*/
//siunciam uzklausa
function login() {
	var username = document.getElementById("username").value;
	var password = document.getElementById("password").value;
	document.getElementById("username").value='';
	document.getElementById("password").value='';
	enableDisableLogin(true);
	
	if(username!="" && password!="") {
		document.getElementById("message").innerHTML=document.getElementById('trying').value+"..."
		sendRequest("login.clients",processLogin,"username="+username+"&password="+password);
	}else {
		enableDisableLogin(false);
	}
}
//gaunam rezultata
function processLogin() {
	var ready=req.readyState;
	if (ready==READY_STATE_COMPLETE) {
		if (req.status == 200) {
			parseLoginResult(req.responseXML);
		}else {
			enableDisableLogin(false);
		}
	}else{
	}
}
//apdorojam rezultatus
function parseLoginResult(xml) {
	var result=xml.getElementsByTagName("result")[0];
	var code = result.getElementsByTagName("code")[0];
	var message = result.getElementsByTagName("message")[0];
	if(code.firstChild.data=='success') {
		document.getElementById("logindiv").style.display='none';
		document.getElementById("div-nav-1").style.display='none';
		document.getElementById("div-nav-2").style.display='block';
		document.getElementById("div-nav-3").style.display='block';
//		document.getElementById("download").style.display='block';
		
		document.getElementById("emailDiv").style.display='block';
		document.getElementById("login").style.display='none';
		document.getElementById("logout").style.display='inline';
		document.getElementById("logout2").style.display='inline';
		showHistoryTab();
//		document.getElementById("versionsList").style.display='block';
//		document.getElementById("fileList").style.display='block';
		document.getElementById("message").innerHTML="";
		document.getElementById("userLogged").value='true';
		var id = document.getElementById("catId").value;
		clearFilter();
		connectForProducts('categories.pub',id);
//		getFileList(id);
		enableDisableLogin(false);
	}
	else {
		document.getElementById("message").innerHTML=message.firstChild.data;
		enableDisableLogin(false);
	}
}
/*Atsijungimas*/

//siunciam uzklausa
function logout() {
	sendRequest("logout.clients", processLogout);
}

//gaunam atskyma ir atnaujinam interfeisa
function processLogout() {
	var ready=req.readyState;
	if (ready==READY_STATE_COMPLETE) {
		if (req.status == 404) {
				enableDisableLogin(false);
				document.getElementById("div-nav-1").style.display='block';
				document.getElementById("div-nav-2").style.display='none';
				document.getElementById("div-nav-3").style.display='none';
				document.getElementById("logindiv").style.display='block';
				document.getElementById("history").style.display='none';
				document.getElementById("download").style.display='none';
				document.getElementById('sect').className='section-1';
				document.getElementById("login").style.display='block';
				document.getElementById("logout").style.display='none';
				document.getElementById("logout2").style.display='none';
				document.getElementById("message").innerHTML=""
				document.getElementById("fileList").innerHTML="<span></span>";
				document.getElementById("versionsList").style.display='none';
				document.getElementById("userLogged").value='false';
				document.getElementById("emailDiv").style.display='none';
		}
	}else{
	}
}

/*Gaunam failu lista*/

//siunciam uzklausa
function getFileList(id) {
	if(document.getElementById("userLogged").value=='true') {
		var div = document.getElementById("fileList");
		var version = document.getElementById("ver").value;
		showLoadingMessage();
//		div.innerHTML="<span>"+document.getElementById('loading').value+"...</span>"
		div.innerHTML="<span></span>"
		div.style.display='block';
		document.getElementById("versionsList").style.display='block';
		sendRequest("fileList.clients",processFiles,"id="+id+"&version="+version);
	}
}

//gaunam atsakyma
function processFiles() {
	var ready=req.readyState;
	if (ready==READY_STATE_COMPLETE) {
		if (req.status == 200) {
			parseFileList(req.responseXML);
		}
	}else{
	}
}
//nuparsinam rezultata
function parseFileList(xml) {
	var files=xml.getElementsByTagName("files")[0];
	if (files){
		att = files.attributes;
		hideLoadingMessage();
//		document.getElementById("fileList").innerHTML="<span></span>";
		for(i=0;i<files.childNodes.length;i++){
			var elChild=files.childNodes[i];
			if(elChild.nodeName=='file') {
				attrs = elChild.attributes;
				var name=attrs.getNamedItem("name").value;
				var path =attrs.getNamedItem("path").value;
				var comment = attrs.getNamedItem("comment").value;
				appendFileDiv("fileList", name, path, comment);
			}else {
				if(elChild.nodeName=='message') {
					attrs = elChild.attributes;
					document.getElementById("fileList").innerHTML="<span>"+attrs.getNamedItem("message").value+"</span>";
				}
			}
		}
	}
}
//rezultata sudedam i div'a
function appendFileDiv(id, name,path, comment) {
	var div = document.getElementById(id);

	span = document.createElement("div");
	span.style.paddingBottom='10px';
	span.style.paddingTop = '10px';
//	span.style.marginBottom='10px';
	span.style.borderBottomStyle = 'dotted';
	span.style.borderBottomWidth='thin';
	
	span.style.width = '100%';
		
	innerSpan = document.createElement("div");
	innerSpan.innerHTML = comment;
	innerSpan.appendChild(document.createElement("br"));
	
	linkSpan = document.createElement("div");
//	linkSpan.style.textAlign = 'right';
//	linkSpan.style.paddingBottom = '10px';
	
	link = document.createElement("a");
	link.href="DownloadFile?action=file&id="+path;
	link.innerHTML=name;
	
	linkSpan.appendChild(link);
	
	span.appendChild(innerSpan);
	span.appendChild(linkSpan);
	
	div.appendChild(span);
	br = document.createElement("br");
	div.appendChild(br);
}

function onClickUpdate(id) {
	div = document.getElementById(id);
	div.style.display='none';
//	Effect.SlideUp(id);  
//	window.setTimeout("opening=false;",10000);
}
function enableDisableLogin(type) {
	document.getElementById("username").disabled=type;
	document.getElementById("password").disabled=type;
	document.getElementById("btn").disabled=type;
}
function clearFilter() {
	if(myComboC)
		myComboC.selectOption(0);
	
	if(myComboB) {
		myComboB.selectOption(myComboC.optionsArr.length-1);
	}
	//document.getElementById("versions2").options[0].selected=true;
	//var leng = document.getElementById("versions").options.length;
	//document.getElementById("versions").options[leng-1].selected=true;
	document.getElementById("date").value="";
	document.getElementById("date2").value="";
}

function getFirstPage(id) {
	getSubElements('result.pub', id, 0);
}
function getPrevPage(id, page) {
	getSubElements('result.pub', id,page);
}
function getNextPage(id,page) {
	getSubElements('result.pub', id,page);
}
function getLastPage(id, page) {
	getSubElements('result.pub', id,page);
}
function getPage(id, page){
	getSubElements('result.pub', id,page);	
}

function showLoadingMessage() {
	var div = document.getElementById("loading_div");
	if (div == null) {
		div = document.createElement("DIV");
		
		document.body.appendChild(div);
		div.id = "loading_div";
		
		div.innerHTML = "&nbsp;"+document.getElementById("loading").value;
		div.style.position = "absolute";
		div.style.border = "1px solid #ccc";
		div.style.color = "black";
		div.style.backgroundColor = "#FFFFFF";
		div.style.width = "150px";
		div.style.heigth = "50px";
		div.style.fontFamily = "Arial, Helvetica, sans-serif";
		div.style.fontWeight = "bold";
		div.style.fontSize = "11px";

	}
	div.style.top = document.body.scrollTop + "px";
	div.style.left = (document.body.offsetWidth - 150 - (document.all?20:0)) + "px";
	div.style.display='block';
	div.style.zIndex='10';
}

function hideLoadingMessage() {
	var div = document.getElementById("loading_div");
	if (div != null) {
		div.style.display = 'none';
	}
}

function sendEmail(id) {
	document.getElementById("emailConsole").innerHTML=document.getElementById("sendingEmail").value;
	document.getElementById("emailSendBtn").disabled=true;
	
	var email = document.getElementById("emailAddress").value;
	sendRequest("email.clients", processEmail,"id="+id+"&email="+email);
} 

function processEmail() {
	var ready=req.readyState;
		if (ready==READY_STATE_COMPLETE) {
			if (req.status == 404) {
				//kazka daryt
				document.getElementById("emailConsole").innerHTML=document.getElementById("sentEmail").value;
				smth = setTimeout('clearEmailConsole()',7000);
			}else{
				document.getElementById("emailConsole").innerHTML=document.getElementById("notsentEmail").value;
				smth = setTimeout('clearEmailConsole()',7000);
			}
		}else{
		}
}

function clearEmailConsole() {
	document.getElementById("emailConsole").innerHTML="";
	document.getElementById("emailAddress").value="";
	document.getElementById("emailSendBtn").disabled=false;
}