String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }

function getElement(e,f){
	if(document.layers){
		f=(f)?f:self;
		if(f.document.layers[e]) {
			return f.document.layers[e];
		}
		for(W=0;W<f.document.layers.length;W++) {
			return(getElement(e,f.document.layers[W]));
		}
	}
	if(document.all) {
		return document.all[e];
	}
	return document.getElementById(e);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function checkLinks() {
	var links = document.getElementsByTagName('a');
	for(var i=0; i<links.length; i++) {
		if( links[i].className == 'fitLink' ) {
			if(links[i].offsetWidth > links[i].parentNode.offsetWidth) {
				links[i].innerHTML = links[i].innerHTML.substring(0, links[i].innerHTML.length - 2) + '..';
				while(links[i].offsetWidth > links[i].parentNode.offsetWidth) {
					links[i].innerHTML = links[i].innerHTML.substring(0, links[i].innerHTML.length - 3) + '..';
				}
			}
		}
	}
}

function mainForm() {
	return document.forms['mainfrm'];
}

function submitFormByForm(frm, action, confirmKey) {
	if(confirmKey) {
		if(!confirm(arrConfirm[confirmKey])) {
			return false;
		}
	}
	frm.action.value = action;
	frm.submit();
}

function submitFormAction(confirmMethod) {
	var frm = mainForm();
	if(confirmMethod()) {
		frm.action.value = frm.mail_action.value;
		frm.submit();
	}
}

function submitForm(action, confirmKey) {
	var frm = mainForm();
	submitFormByForm(frm, action, confirmKey);
}

function submitFormID(action, id, confirmKey) {
	var frm = mainForm();
	frm.id.value = id;
	submitFormByForm(frm, action, confirmKey);
}

// confirm methods

function confirmMailActions() {
	var frm = mainForm();
	var flag = false;
	if(frm.mail_action.value) {
		for(i = 0; i < frm.elements.length; i++) {
			if(frm.elements[i].type == 'checkbox') {
				if(frm.elements[i].checked) {
					flag = true;
					break;
				}
			}
		}
	}
	if(flag) {
		if(frm.mail_action.value == "action_delete_mail") {
			flag = confirm(arrConfirm['delete_mails']);
		}
	}
	return flag;
}

function confirmDataChange(activated,currentEmail) {
	var frm = mainForm();
	if(activated == 1 && frm.email.value != currentEmail) {
		return confirm(arrConfirm['email_change']);
	} else {
		return true;
	}
}

function confirmStylingChange(currentStyling) {
	var frm = mainForm();
	if(frm.styling.value != currentStyling) {
		return confirm(arrConfirm['styling_change']);
	} else {
		return true;
	}
}

function selectAllBox(name) {
	var form = mainForm();
	var box = form.elements[name];
	for(var i=0; i<box.length; i++) {
		box.options[i].selected = true;
	}
}

function toggleDiv(id) {
	var div = document.getElementById(id);
	if(div) {
		if(div.style.display != 'block') {
			div.style.display = 'block';
		} else {
			div.style.display = 'none';
		}
	}
}

function toggle(id1, id2) {
	var div1 = document.getElementById(id1);
	var div2 = document.getElementById(id2);
	if(div1 && div2) {
		if(div1.style.display != 'none') {
			div1.style.display = 'none';
			div2.style.display = 'block';
		} else {
			div1.style.display = 'block';
			div2.style.display = 'none';
		}
	}
}

function quickSearch() {
	var form = mainForm();
	if(form.quicksearch.value != "") {
		window.location = "?pg=main&qstxt="+encodeURIComponent(form.quicksearch.value.trim());
	}
}

function searchCommunity() {
	var form = mainForm();
	if(form.searchtext.value != "") {
		window.location = "?pg=communities&stxt="+encodeURIComponent(form.searchtext.value.trim());
	}
}

function searchUser() {
	form = mainForm();
	var resultStr = "";
	for(var i=0; i<form.elements.length; i++) {
		var element = form.elements[i];
		if(element.type != "hidden" && element.value != "") {
			if(element.type == "radio" || element.type == "checkbox") {
				if(element.checked) {
					resultStr += "&" + element.name + "=" + encodeURIComponent(element.value);
				}
			} else {
				resultStr += "&" + element.name + "=" + encodeURIComponent(element.value.trim());
			}
		}
	}
	if(resultStr != "") {
		window.location = "?pg=search" + resultStr;
	}
}

function searchFiles() {
	form = mainForm();
	var resultStr = "";
	for(var i=0; i<form.elements.length; i++) {
		var element = form.elements[i];
		if(element.type != "hidden" && element.value != "") {
			resultStr += "&" + element.name + "=" + encodeURIComponent(element.value.trim());
		}
	}
	if(resultStr != "") {
		window.location = "?pg=main&action=search" + resultStr;
	}
}

function postResponse(id) {
	var div = document.getElementById('CommentResponse' + id);
	if(div) {
		if((div.innerHTML.indexOf('textarea') > 0) || (div.innerHTML.indexOf('TEXTAREA') > 0)) {
			postCommentResponse(id);
		} else {
			div.innerHTML = '<div class="alR">\
			<textarea id="comment' + id + '" name="comment' + id + '" style="width: 250px; height: 55px; font-size: 12px; color: #424242; font-family: arial;"></textarea>\
			</div>' + div.innerHTML;
			document.getElementById('comment' + id).focus();
		}
	}
}

function CBSelectAll() {
	var frm = mainForm();
	for(i = 0; i < frm.elements.length; i++) {
		if(frm.elements[i].type == 'checkbox') {
			if(frm.action_select_all.checked) {
				frm.elements[i].checked = true;
			} else {
				frm.elements[i].checked = false;
			}
		}
	}
}

function addToFavorites(id,category_id,canDelete) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		var innerText = '<div class="fl"><div id="favorite_categories_div' + id + '"></div></div>\
			<div class="fl">\
				<div class="btn" style="float:left;">\
					<div id="add_to_favorites_button' + id + '" class="btn-l">\
						<a href="javascript:postAddToFavorites(' + id + ')" class="btn">Salvesta</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>';
		if(canDelete) {
			innerText += '<div class="btn" style="float:left;">\
					<div id="remove_favorites_button' + id + '" class="btn-l">\
						<a href="javascript:postRemoveFromFavorites(' + id + ')" class="btn">Eemalda</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>';
		}
		innerText += '</div>\
			<div class="P2_fl">\
				<img src="images/tip.gif" class=tip onmouseover="Tip(TipText(\'FavoriteCategories\'), BALLOON, true, ABOVE, true)">\
			</div>\
		';
		div.innerHTML = innerText;
		div.style.height = '20px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
		loadFavoriteCategories(id,category_id);
	}
}

function sendToFriend(id) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		div.innerHTML = '\
			<div class="fl">\
			<input name="emails' + id + '" type="text" class="C" style="width: 300px;" />\
			</div>\
			<div class="fl">\
				<div class="btn" style="float:left;">\
					<div id="sendtofriend_button' + id + '" class="btn-l">\
						<a href="javascript:postSendToFriend(' + id + ')" class="btn">Saada</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>\
			</div>\
			<div class="P2_fl">\
				<img src="images/tip.gif" class=tip onmouseover="Tip(TipText(\'SendToFriend\'), BALLOON, true, ABOVE, true)">\
			</div>\
		';
		div.style.height = '20px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
		document.getElementById('emails' + id).focus();
	}
}

function addHeader(id) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		div.innerHTML = '\
			<div class="fl">\
				<input name="header' + id + '" type="text" class="C" style="width: 300px;" />\
			</div>\
			<div class="fl">\
				<div class="btn" style="float:left;">\
					<div id="header_button' + id + '" class="btn-l">\
						<a href="javascript:postAddHeader(' + id + ')" class="btn">Salvesta</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>\
			</div>\
			<div class="P2_fl">\
				<img src="images/tip.gif" class=tip onmouseover="Tip(TipText(\'AddHeader\'), BALLOON, true, ABOVE, true)">\
			</div>\
		';
		div.style.height = '20px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
		document.getElementById('header' + id).focus();
	}
}

function recycleFile(id) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		div.innerHTML = '\
			<div class="fl">\
				<font color="#424242">Olemasolev fail </font><input name="file_url' + id + '" type="text" class="C" style="width: 300px;" />\
			</div>\
			<div class="fl">\
				<div class="btn" style="float:left;">\
					<div id="recycle_button' + id + '" class="btn-l">\
						<a href="javascript:postRecycleFile(' + id + ')" class="btn">salvesta</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>\
			</div>\
		';
		div.style.height = '20px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
		document.getElementById('file_url' + id).focus();
	}
}

function addComment(id) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		div.innerHTML = '\
			<div class="fl">\
				<textarea name="comment' + id + '" class="reply"></textarea>\
			</div>\
			<div class="fl">\
				<div class="btn" style="float:left;">\
					<div id="comment_button' + id + '" class="btn-l">\
						<a href="javascript:postComment(' + id + ', \'\')" class="btn">Salvesta</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>\
			</div>\
		';
		div.style.height = '97px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
		document.getElementById('comment' + id).focus();
	}
}

function addFriend(id) {
	var div = document.getElementById('useradd' + id);
	if(div) {
		div.innerHTML = '\
			<input type="hidden" name="level' + id + '" value="1" />\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=0" /></div><div class="P2_fl">Tuttav</div>\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=1" checked /></div><div class="P2_fl">Sõber</div>\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=2" /></div><div class="P2_fl">Parim sõber</div>\
			<div class="btn" style="float: right; padding-top: 0px;">\
				<div id="addfriend_button' + id + '" class="btn-l">\
					<a href="javascript:postAddFriend(' + id + ')" class="btn">&nbsp;Lisa&nbsp;</a>\
				</div>\
				<div class="btn-r"></div>\
			</div>\
		';
	}
}

function bannUser(id) {
	var div = document.getElementById('useradd' + id);
	if(div) {
		div.innerHTML = '\
			<input type="hidden" name="level' + id + '" value="1" />\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=1" checked="checked" /></div><div class="P2_fl">24h</div>\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=2" /></div><div class="P2_fl">72h</div>\
			<div class="fl"><input name="rblevel' + id + '" value="" type="radio" onclick="this.form.level' + id + '.value=3" /></div><div class="P2_fl">1 nädal</div>\
			<div class="btn" style="float: right; padding-top: 0px;">\
				<div id="bannuser_button' + id + '" class="btn-l">\
					<a href="javascript:postBannUser(' + id + ')" class="btn">Pane piirang</a>\
				</div>\
				<div class="btn-r"></div>\
			</div>\
		';
	}
}

function deleteFile(id) {
	var div = document.getElementById('fileAdd' + id);
	if(div) {
		div.innerHTML = '\
			<div class="fl" style="width: 250px;">\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Autoriõiguste rikkumine!" type="radio" /></div><div class="P2_fl">Autoriõiguste rikkumine!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Keelatud sümboolika!" type="radio" /></div><div class="P2_fl">Keelatud sümboolika!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Liiga väike fail!" type="radio" /></div><div class="P2_fl">Liiga väike fail!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Vigane fail!" type="radio" /></div><div class="P2_fl">Vigane fail!</div>\
				</div>\
			</div>\
			<div class="fl" style="width: 250px;">\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Reklaam!" type="radio" /></div><div class="P2_fl">Reklaam!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Alaealistele keelatud!" type="radio" /></div><div class="P2_fl">Alaealistele keelatud!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Pornograafia!" type="radio" /></div><div class="P2_fl">Pornograafia!</div>\
				</div>\
				<div class="P2">\
					<div class="fl"><input name="delete_reason' + id + '" value="Pilt endast!" type="radio" /></div><div class="P2_fl">Pilt endast!</div>\
				</div>\
			</div>\
			<div class="P2">\
				<div class="btn" style="float: left; padding-top: 0px;">\
					<div id="delete_button' + id + '" class="btn-l">\
						<a href="javascript:deleteFile_(' + id +')" class="btn">Kustuta</a>\
					</div>\
					<div class="btn-r"></div>\
				</div>\
			</div>\
		';
		div.style.height = '105px';
		div.style.padding = '4px';
		div.style.border = 'solid 1px #aaaaaa';
	}
}

function deleteFile_(id) {
	var form = mainForm();

	if(getRadioSelection(eval('form.delete_reason'+id))) {
		submitFormID('delete_file', id, 'delete_file');	
	} else {
		alert('Vali põhjus!');
	}
}

function getRadioSelection(group) { 
  for(var k=0;k<group.length;k++) 
    if(group[k].checked)  
       return group[k].value; 
} 

function putHeader(id, newheader) {
	var form = mainForm();
	form.header.value = newheader;
	submitFormID('edit_file', id);
}

function openDesc(id) {
	document.getElementById('desc_s' + id).style.display = 'none';
	document.getElementById('desc' + id).style.display = 'block';
}

function collateFiles(page,uid) {
	var time = document.getElementById('timeSelect');
	var action = document.getElementById('actionSelect');
	var type = document.getElementById('typeSelect');
	var category = document.getElementById('categorySelect');
	var locationStr = '';
	if(time && action) {
		locationStr = '?pg=' + page;
		if(uid.length > 0) {
			locationStr += '&uid=' + uid;
		}
		if(type.value.length > 0) {
			locationStr += '&type=' + type.value;
		}
		if(category.value.length > 0) {
			locationStr += '&category=' + category.value;
		}
		locationStr += '&action=' + action.value + '&time=' + time.value;
		document.location.href = locationStr;
	}
}

function add_smile(smile) {
	var form = mainForm();
	if(!form.message.disabled) {
		form.message.focus();
		form.message.value += " "+smile+" ";
		form.message.focus();
	}
}

function add_smileC(smile, id) {
	var form = mainForm();
	var c = eval('form.comment'+id);
	if(!c.disabled) {
		c.focus();
		c.value += " "+smile+" ";
		c.focus();
	}
	toggleEmoticons();
}

function toggleEmoticons() {
	var emoticons = document.getElementById("emoticons");
	var addEmoticons = document.getElementById("add_emoticons");
	if(emoticons.style.display != "block") {
		emoticons.style.display = "block";
		addEmoticons.style.display = "none";
	} else {
		emoticons.style.display = "none";
		addEmoticons.style.display = "block";
	}
}

function openTerms() {
	var title = new Date().getTime();
	var console = window.open("popup/terms.php",title,"width=650,height=700,scrollbars=no");
}

function addFile(w,h) {
	var title = new Date().getTime();
	var console = window.open("popup/add_file.php",title,"width="+w+",height="+h+",scrollbars=no");
}

function contactForm() {
	var title = 'Kontakt';
	var console = window.open("",title,"width=400,height=350,scrollbars=no");
	console.document.write('<html><head>\
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">\
		<title>'+title+'</title>\
		<link href="styles/style001.css" rel="stylesheet" type="text/css">\
		<link href="styles/style_red_101.css" rel="stylesheet" type="text/css">\
		<script src="scripts/functions103.js" language="JavaScript" type="text/javascript"></script></head><body style="margin:0">\
		<form name=mainfrm method=post action="">\
		<input type=hidden name=action value="" />\
		<table class="mainBox" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">\
		<tr><td class="tl"></td><td class="ct"></td><td class="tr"></td></tr>\
		<tr><td class="ml"></td><td valign="top">\
			<div class="P2">\
				<div class="P5">\
					<span class="header">Kontakt</span>\
				</div>\
				<div class="P5">\
				<div class="D">Nimi</div>\
				<div style="padding: 2px;">\
					<input type=text name="name" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Email</div>\
				<div style="padding: 2px;">\
					<input type=text name="email" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Telefon</div>\
				<div style="padding: 2px;">\
					<input type=text name="phone" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Küsimus</div>\
				<div style="padding: 2px;">\
					<textarea name="message" class="C" style="width: 250px; height: 150px;"></textarea>\
				</div>\
				<div class="p2_fr" style="width: 85px;">\
					<div class="btn" style="float:left;">\
						<div id="send_button" class="btn-l">\
							<a href="javascript:postContact()" class="btn">Saada</a>\
						</div>\
						<div class="btn-r"></div>\
					</div>\
				</div>\
				</div>\
			</div>\
		</td><td class="mr"></td></tr>\
		<tr><td class="bl"></td><td class="cb"></td><td class="br"></td></tr>\
		</table>\
		</form>\
		</body></html>');
	console.document.close();
	console.document.focus();
}

function alertForm(file_id) {
	var title = 'Teade';
	var console = window.open("",title,"width=400,height=370,scrollbars=no");
	console.document.write('<html><head>\
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">\
		<title>'+title+'</title>\
		<link href="styles/style001.css" rel="stylesheet" type="text/css">\
		<link href="styles/style_red_101.css" rel="stylesheet" type="text/css">\
		<script src="scripts/functions103.js" language="JavaScript" type="text/javascript"></script></head><body style="margin:0">\
		<form name=mainfrm method=post action="">\
		<input type=hidden name=action value="" />\
		<table class="mainBox" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">\
		<tr><td class="tl"></td><td class="ct"></td><td class="tr"></td></tr>\
		<tr><td class="ml"></td><td valign="top">\
			<input type="hidden" name="file_id" value="'+file_id+'" />\
			<div class="P2">\
				<div class="P5">\
					<span class="header">Teade rikkumisest</span>\
				</div>\
				<div class="P5">\
				<div class="D">Nimi</div>\
				<div style="padding: 2px;">\
					<input type=text name="name" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Email</div>\
				<div style="padding: 2px;">\
					<input type=text name="email" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Telefon</div>\
				<div style="padding: 2px;">\
					<input type=text name="phone" class="C" style="width: 250px;" />\
				</div>\
				<div class="D">Rikkumine</div>\
				<div style="padding: 2px;">\
					<textarea name="message" class="C" style="width: 250px; height: 150px;"></textarea>\
				</div>\
				<div class="p2_fr" style="width: 85px;">\
					<div class="btn" style="float:left;">\
						<div id="send_button" class="btn-l">\
							<a href="javascript:postAlert()" class="btn">Saada</a>\
						</div>\
						<div class="btn-r"></div>\
					</div>\
				</div>\
				</div>\
			</div>\
		</td><td class="mr"></td></tr>\
		<tr><td class="bl"></td><td class="cb"></td><td class="br"></td></tr>\
		</table>\
		</form>\
		</body></html>');
	console.document.close();
	console.document.focus();
}

function getXmlHttpRequest() {
	var httpRequest=null;
	try {
		httpRequest=new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			httpRequest=null;
		}
	}
	if(!httpRequest&&typeof XMLHttpRequest!="undefined") {
		httpRequest=new XMLHttpRequest();
	}
	return httpRequest;
}

function postUrl(url,data,async,stateChangeCallback) {
	var xmlHttpReq=getXmlHttpRequest();
	if(!xmlHttpReq) {
		return;
	}
	xmlHttpReq.open("POST",url,async);
	xmlHttpReq.onreadystatechange=function() {
		stateChangeCallback(xmlHttpReq);
	};
	xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttpReq.send(data);
}

function getUrl(url) {
	var xmlHttpReq=getXmlHttpRequest();
	if(!xmlHttpReq) {
		return;
	}
	xmlHttpReq.open("GET",url,true);
	xmlHttpReq.onreadystatechange=function() {
	};
	xmlHttpReq.send("");
}

function urlEncodeDict(dict) {
	var result="";
	for(var i=0;i<dict.length;i++){
		if(dict[i].name && dict[i].value) {
			result+="&"+encodeURIComponent(dict[i].name)+"="+encodeURIComponent(dict[i].value);
		}
	}
	return result;
}

function execOnSuccess(successCallback,div_id) {
	return function(xmlHttpReq) {
		if(xmlHttpReq.readyState==4&&xmlHttpReq.status==200) {
			if(div_id){
				successCallback(xmlHttpReq,div_id);
			}else{
				successCallback(xmlHttpReq);
			}
		}
	};
}

function postFormByForm(form,async,successCallback) {
	var formVars=new Array();
	for(var i=0;i<form.elements.length;i++) {
		var formElement=form.elements[i];
		if(formElement.name == "postKey") {
			continue;
		}
		var v=new Object;
		v.name=formElement.name;
		v.value=formElement.value;
		formVars.push(v);
	}
	postUrl(form.action.value,urlEncodeDict(formVars),async,execOnSuccess(successCallback));
}

function postUrlAndFillDiv(url,vars,successCallback,divid) {
	postUrl(url,urlEncodeDict(vars),true,execOnSuccess(successCallback,divid));
}

var initial_button_value = "";

function loadComments(file_id,pagenumber) {
	var vars = new Array();
	var i = new Object;
	var p = new Object;
	i.name = "file_id"; i.value = file_id;
	p.name = "pagenumber"; p.value = pagenumber;
	vars.push(i);
	vars.push(p);
	postUrlAndFillDiv("load_comments.php",vars,FillDivHandler,"commentContainer");
}

function loadFavoriteCategories(file_id,category_id) {
	var div = document.getElementById("favorite_categories_div" + file_id);
	var innerText = '';
	if(div) {
		innerText = '<select name="favorite_category' + file_id + '" style="height: 17px; font-size: 11px; color: #424242; font-family: arial;">';
		for(var i=0; i < fc.length; i++) {
			if(fc[i].id == category_id) {
				innerText += '<option value="' + fc[i].id + '" selected>' + fc[i].name + '</option>';
			} else {
				innerText += '<option value="' + fc[i].id + '">' + fc[i].name + '</option>';
			}
		}
		innerText += '</select>';
	}
	div.innerHTML = innerText;
}

function postForm(formName,async,successCallback) {
	var form=document.forms[formName];
	return postFormByForm(form,async,successCallback);
}

function updateSession() {
	getUrl("update_session.php");
	setTimeout("updateSession()", 295000);
}

function postSendToFriend(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_sendtofriend.php";
	if (SendToFriendHandler(form)) {
		var button = document.getElementById("sendtofriend_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Saadan...";
		eval('form.emails' + file_id + '.disabled = true');
	}
}

function postAddHeader(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_addheader.php";
	if (AddHeaderHandler(form)) {
		var button = document.getElementById("header_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
		eval('form.header' + file_id + '.disabled = true');
	}
}

function postRecycleFile(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_recycle_file.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("recycle_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
		eval('form.file_url' + file_id + '.disabled = true');
	}
}

function postEditFile(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_edit_file.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("edit_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
	}
}

function postSaveHeader(attribute_id,file_id,header) {
	var form = mainForm();
	form.id.value = attribute_id;
	form.fid.value = file_id;
	form.header.value = header;
	form.action.value = "post/post_saveheader.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("save_header_button" + attribute_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
	}
}

function postCommunityMember(user_id,accept) {
	var form = mainForm();
	form.id.value = user_id;
	eval('form.accept'+user_id+'.value = accept');
	form.action.value = "post/post_communitymember.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("addmember" + user_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
	}
}

function postAddToFavorites(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_addtofavorites.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("add_to_favorites_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
	}
}

function postRemoveFromFavorites(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_removefromfavorites.php";
	if (BasicHandler(form)) {
		var button = document.getElementById("remove_favorites_button" + file_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Salvestan...";
	}
}

function postContact() {
	var form = mainForm();
	var flag = true;
	form.action.value = "post/post_contact.php";
	if(form.name.value == "" || form.name.value == null) {
		form.name.style.background = 'orange';
		flag = false;
	} else {
		form.name.style.background = 'white';
	}
	if(form.email.value == "" || form.email.value == null) {
		form.email.style.background = 'orange';
		flag = false;
	} else {
		form.email.style.background = 'white';
	}
	if(form.message.value == "" || form.message.value == null) {
		form.message.style.background = 'orange';
		flag = false;
	} else {
		form.message.style.background = 'white';
	}
	if(flag) {
		if(BasicHandler(form)) {
			var button = document.getElementById("send_button");
			initial_button_value = button.innerHTML;
			button.innerHTML = "Saadan...";
		}
	} else {
		alert('Taidke kohustuslikud valjad!');
	}
}

function postAlert() {
	var form = mainForm();
	var flag = true;
	form.action.value = "post/post_alert.php";
	if(form.name.value == "" || form.name.value == null) {
		form.name.style.background = 'orange';
		flag = false;
	} else {
		form.name.style.background = 'white';
	}
	if(form.email.value == "" || form.email.value == null) {
		form.email.style.background = 'orange';
		flag = false;
	} else {
		form.email.style.background = 'white';
	}
	if(form.message.value == "" || form.message.value == null) {
		form.message.style.background = 'orange';
		flag = false;
	} else {
		form.message.style.background = 'white';
	}
	if(flag) {
		if(BasicHandler(form)) {
			var button = document.getElementById("send_button");
			initial_button_value = button.innerHTML;
			button.innerHTML = "Saadan...";
		}
	} else {
		alert('Taidke kohustuslikud valjad!');
	}
}

function postAddAvatar(file_id, path) {
	var form = mainForm();
	form.id.value = path;
	form.fid.value = file_id;
	form.action.value = "post/post_addavatar.php";
	if (BasicHandler(form)) {
		//
	}
}

function postAddBackground(file_id, path) {
	if(confirm(arrConfirm['chat_background'])) {
		var form = mainForm();
		form.id.value = path;
		form.fid.value = file_id;
		form.action.value = "post/post_chat_background.php";
		if (BasicHandler(form)) {
			//
		}
	}
}

function postComment(owner_id, type) {
	var form = mainForm();
	form.id.value = owner_id;
	form.action.value = "post/post_"+type+"comment.php";

	var comment = eval('form.comment'+owner_id);
	if (comment.value.length == 0 || comment.value == null) {
		alert("Kommentaar ei tohi olla tühi!");
		comment.disabled=false;
		comment.focus();
		return;
	}
	if (comment.value.length > 500)	{
		alert("Kommentaar peab olema lühem kui 500 tähemärki!");
		comment.disabled=false;
		comment.focus();
		return;
	}

	if (BasicHandler(form)) {
		var button = document.getElementById("comment_button"+owner_id);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Lisan...";
		eval('form.comment'+owner_id).disabled = true;
	}
}

function postCommentResponse(comment_id) {
	var form = mainForm();
	form.id.value = comment_id;
	form.action.value = "post/post_comment_response.php";
	if (CommentResponseHandler(form)) {
		var button = document.getElementById("comment_button" + comment_id);
		var comment = eval('form.comment'+form.id.value);
		initial_button_value = button.innerHTML;
		button.innerHTML = "Lisan vastust...";
		comment.disabled = true;
	}
}

function postMarkFile(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_mark_file.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("mark_div" + file_id);
		div.innerHTML = "Salvestan...";
	}
}

function postSetModerator(user_id) {
	var form = mainForm();
	form.id.value = user_id;
	form.action.value = "post/post_set_moderator.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("mode_div");
		div.innerHTML = "Salvestan...";
	}
}

function postUndoRecycle(file_id) {
	var form = mainForm();
	form.id.value = file_id;
	form.action.value = "post/post_undo_recycle.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("undo_div" + file_id);
		div.innerHTML = "Salvestan...";
	}
}

function postRateFile(file_id,rate) {
	var form = mainForm();
	form.id.value = file_id;
	eval('form.rate' + file_id + '.value = rate');
	form.action.value = "post/post_rate_file.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("rate_div" + file_id);
		div.innerHTML = "Hindan...";
	}
}

function postLottery() {
	var form = mainForm();
	form.id.value = "1";
	form.action.value = "post/post_lottery.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("lotterybutton");
		initial_button_value = div.innerHTML;
		div.innerHTML = "Salvestan...";
	}
}


function postAddFriend(friend_id) {
	var form = mainForm();
	form.id.value = friend_id;
	form.action.value = "post/post_addfriend.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("addfriend_button" + friend_id);
		initial_button_value = div.innerHTML;
		div.innerHTML = "Lisan...";
	}
}

function postBannUser(user_id) {
	var form = mainForm();
	form.id.value = user_id;
	form.action.value = "post/post_bannuser.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("bannuser_button" + user_id);
		initial_button_value = div.innerHTML;
		div.innerHTML = "Salvestan...";
	}
}

function postUpdateFriend(friend_id) {
	var form = mainForm();
	form.id.value = friend_id;
	form.action.value = "post/post_updatefriend.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("updatefriend_button" + friend_id);
		initial_button_value = div.innerHTML;
		div.innerHTML = "Muudan...";
	}
}

function postRemoveFriend(friend_id) {
	var form = mainForm();
	form.id.value = friend_id;
	form.action.value = "post/post_removefriend.php";
	if (BasicHandler(form)) {
		var div = document.getElementById("removefriend_button" + friend_id);
		initial_button_value = div.innerHTML;
		div.innerHTML = "Kustutan...";
	}
}

function assignVar(variable,value) {
	getUrl("post/post_var.php?var="+variable+"&value="+value);
}

function SendToFriendHandler(form) {
	var field;
	eval('field = form.emails' + form.id.value);
	if (field.value.length == 0 || field.value == null) {
		alert("Sa pead lisama ka adressaadi!");
		field.disabled=false;
		field.focus();
		return false;
	}
	if (field.value.length > 500)	{
		alert("Sinu kommentaar peab olema lühem kui 500 tähemärki!");
		field.disabled=false;
		field.focus();
		return false;
	}
	postFormByForm(form, true, ResponseHandler);
	return true;
}

function AddHeaderHandler(form) {
	var field;
	eval('field = form.header' + form.id.value);
	if (field.value.length == 0 || field.value == null) {
		alert("Sa pead lisama ka pealkirja!");
		field.disabled=false;
		field.focus();
		return false;
	}
	if (field.value.length > 100)	{
		alert("Pealkiri peab olema lühem kui 100 tähemärki!");
		field.disabled=false;
		field.focus();
		return false;
	}
	postFormByForm(form, true, ResponseHandler);
	return true;
}

function BasicHandler(form) {
	postFormByForm(form, true, ResponseHandler);
	return true;
}


function CommentResponseHandler(form) {
	var comment = eval('form.comment'+form.id.value);
	if (comment.value.length == 0 || comment.value == null) {
		alert("Sa pead lisama ka kommentaari!");
		comment.disabled=false;
		comment.focus();
		return false;
	}
	if (comment.value.length > 500)	{
		alert("Kommentaar ületab lubatud 500 tähemärki!");
		comment.disabled=false;
		comment.focus();
		return false;
	}
	postFormByForm(form, true, ResponseHandler);
	return true;
}

function ResponseHandler(xmlHttpRequest) {
	var response_str = trim(xmlHttpRequest.responseText);
	var response_code = response_str.substr(0, response_str.indexOf(" "));
	response_str = response_str.substr(response_str.indexOf(" ")+1);
	var divid = response_str.substr(0, response_str.indexOf(" "));
	var response_msg = response_str.substr(response_str.indexOf(" ")+1);

	var form = mainForm();
	var div = document.getElementById(divid);

	if (response_code == "OK") {
		div.innerHTML = '<span class="disabled">' + response_msg + '</span>';
		return true;
	} else if (response_code == "OK1") {
		alert(response_msg);
		div.innerHTML = initial_button_value;
		enableFormTextFields(form);
		return true;
	} else if (response_code == "OK2") {
		alert(response_msg);
		div.innerHTML = initial_button_value;
		return true;
	} else if (response_code == "ERROR") {
		div.innerHTML = initial_button_value;
		enableFormTextFields(form);
		alert(response_msg);
		return false;
	} else if (response_code == "ERROR1") {
		div.innerHTML = initial_button_value;
		alert(response_msg);
		return false;
	} else if (response_code == "ALERT") {
		alert(response_msg);
		return false;
	} else {
		alert('Viga!');
	}
}

function enableFormTextFields(form) {
	for(var i=0; i<form.elements.length; i++) {
		if(form.elements[i].type == "text" || form.elements[i].type == "textarea") {
			form.elements[i].disabled = false;
		}
	}
}

function FillDivHandler(xmlHttpRequest,divid) {
	var response_str = trim(xmlHttpRequest.responseText);
	if(response_str.length > 0) {
		document.getElementById(divid).innerHTML = response_str;
	}
}

function trim(inputString) {
	if (typeof inputString != "string") return inputString;
	return inputString
	//clear leading spaces and empty lines
	.replace(/^(\s|\n|\r)*((.|\n|\r)*?)(\s|\n|\r)*$/g,"$2")

	//take consecutive spaces down to one
	.replace(/(\s(?!(\n|\r))(?=\s))+/g,"")

	//take consecutive lines breaks down to one
	.replace(/(\n|\r)+/g,"\n\r")

	//remove spacing at the beginning of a line
	.replace(/(\n|\r)\s/g,"$1")

	//remove spacing at the end of a line
	.replace(/\s(\n|\r)/g,"$1");
}


////////////////////////////////
// dropdown menu ///////////////
////////////////////////////////
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id) {
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) {
		ddmenuitem.style.visibility = 'hidden';
	}

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

	// set close time
	mclosetime(2000);
}
// close showed layer
function mclose() {
	if(ddmenuitem) {
		ddmenuitem.style.visibility = 'hidden';
		ddmenuitem = null;
	}
}

// go close timer
function mclosetime(timeout) {
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose;


///////////////////////////
//  calendar   ////////////
///////////////////////////

function buildCal(divid, m, y, link, dest) {
	var todaydate = new Date();

	if(m > 12) {
		m = 1;
		y = y + 1;
	}
	if(m < 1) {
		m = 12;
		y = y - 1;
	}

	var mn=['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni','Juuli','August','September','Oktoober','November','Detsember'];
	var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

	var oD = new Date(y, m-1, 1);
	if (oD.getDay() == 0) {
		oD.od = 7;
	} else {
		oD.od = oD.getDay();
	}

	var scanfortoday = (y==todaydate.getFullYear() && m==todaydate.getMonth()+1) ? todaydate.getDate() : 0;

	dim[1] = (((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
	var t = '\
<div class="main">\
<table class="main" cols="7" cellpadding="0" border="1" cellspacing="0">\
<tr align="center">\
<td colspan="7" align="center" class="month">\
	<div class="prev" onclick="buildCal(\''+divid+'\', '+(m-1)+', '+y+', \''+link+'\', \''+dest+'\');">&lt;</div>\
	<div style="position: relative; float: left; width: 80px;">\
		<div class="month" style="cursor: pointer;" onclick="toggleDiv(\'monthcontainer\')">' + mn[m-1] + '</div>\
		<div id="monthcontainer" style="position: absolute; top: 15px; left: 0px; width: 80px; border: 2px solid #ffffff; background-color: #424242; display: none;">';
	for(var im in mn) {
		mvalue = im;
		mvalue++;
		t += '\
		<div class="month" style="cursor: pointer;" onmouseover="this.style.backgroundColor=\'#828282\'" onmouseout="this.style.backgroundColor=\'#424242\'" onclick="buildCal(\''+divid+'\', '+mvalue+', '+y+', \''+link+'\', \''+dest+'\');">' + mn[im] + '</div>';
	}
	t += '\
		</div>\
	</div>\
	<div style="position: relative; float: left; width: 40px;">\
		<div class="month" style="cursor: pointer;" onclick="toggleDiv(\'yearcontainer\')">' + y + '</div>\
		<div id="yearcontainer" style="position: absolute; top: 15px; left: 0px; width: 40px; border: 2px solid #ffffff; background-color: #424242; display: none;">';
	for(var i = 2006; i <= todaydate.getFullYear(); i++) {
		t += '\
		<div class="month" style="cursor: pointer;" onmouseover="this.style.backgroundColor=\'#828282\'" onmouseout="this.style.backgroundColor=\'#424242\'" onclick="buildCal(\''+divid+'\', '+ m +', '+ i +', \''+link+'\', \''+dest+'\');">' + i + '</div>';
	}
	t += '\
		</div>\
	</div>\
	<div class="next" onclick="buildCal(\''+divid+'\', '+(m+1)+', '+y+', \''+link+'\', \''+dest+'\');">&gt;</div>\
</td></tr><tr align="center">';
	for(s=0;s<7;s++) {
		t += '\
<td class="daysofweek">'+"ETKNRLP".substr(s,1)+'</td>';
	}
	t += '\
</tr><tr align="center">';
	for(i=1;i<=42;i++) {
		var x = ((i-oD.od>=0) && (i-oD.od<dim[m-1])) ? i-oD.od+1 : '&nbsp;';
		var dateStr = x + '.' + m + '.' + y;
		if (x == scanfortoday) {
			if(dest.length > 0) {
				x = '<a href="javascript:setDate(\''+dest+'\',\''+dateStr+'\')" class="today">'+x+'</a>';
			} else {
				x = '<a href="'+link+'&date='+dateStr+'" class="today">'+x+'</a>';
			}
		} else if (x != '&nbsp;') {
			var vardate = new Date(y, m-1, x);
			if(vardate < todaydate) {
				if(dest.length > 0) {
					x = '<a href="javascript:setDate(\''+dest+'\',\''+dateStr+'\')" class="cal">'+x+'</a>';
				} else {
					x = '<a href="'+link+'&date='+dateStr+'" class="cal">'+x+'</a>';
				}
			}
		}
		t += '\
<td class="day">'+x+'</td>';
		if(((i)%7==0)&&(i<36)) {
			t+='\
</tr><tr align="center">';
		}
	}
	t += '</tr></table></div>';
	document.getElementById(divid).innerHTML = t;
}