var men=new Array(12);
men[0]='Janvāris';
men[1]='Februāris';
men[2]='Marts';
men[3]='Aprīlis';
men[4]='Maijs';
men[5]='Jūnijs';
men[6]='Jūlijs';
men[7]='Augusts';
men[8]='Septembris';
men[9]='Oktobris';
men[10]='Novembris';
men[11]='Decembris';

var wd=new Array(7);
wd[7]="Sv";
wd[1]="P";
wd[2]="O";
wd[3]="T";
wd[4]="C";
wd[5]="P";
wd[6]="S";

var ni=new Array(7);
ni[0]="svētdiena";
ni[1]="pirmdiena";
ni[2]="otrdiena";
ni[3]="trešdiena";
ni[4]="ceturtdiena";
ni[5]="piektdiena";
ni[6]="sestdiena";

var ct = new Date();


var translit=[ 
	/a{3}/g,/e{3}/g,/i{3}/g,/u{3}/g, /llj/g, /nnj/g,
	/Aa/g, /Ch/g, /Ee/g, /Gj/g, /Ii/g, /Kj/g, /Lj/g, /Nj/g, /Sh/g, /Uu/g, /Zh/g,
	/aa/g, /ch/g, /ee/g, /gj/g, /ii/g, /kj/g, /lj/g, /nj/g, /sh/g, /uu/g, /zh/g ];
var default_encoding="utf_8";
var debug=false;
var utf_8=[
	"aā", "eē", "iī", "uū", "ļļ", "ņņ", 
	"Ā", "Č", "Ē", "Ģ", "Ī", "Ķ", "Ļ", "Ņ", "Š", "Ū", "Ž",
	"ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"
	];

var windows_1257=[
	"a\u0101", "\u0113", "i\u012b", "u\u016b", "\u013c\u013c", "\u0146\u0146", 
	"\u0100", "\u010C", "\u0112", "\u0122", "\u012a", "\u0136", "\u013b", "\u0145", "\u0160", "\u016a", "\u017d",
	"\u0101", "\u010d", "\u0113", "\u0123", "\u012b", "\u0137", "\u013c", "\u0146", "\u0161", "\u016b", "\u017e" 
	];

var exceptions=[ /^([ps]aa[^a]|nee[^\be])/i , 3,
				/^[mb]iljon/i, 6,
				/^[mb]iljard/i, 7,
				/buljon/i, 6,
				/(^|[^ghdr])iee[^\be]/i,3,
				/sheem/i, 2,
				/shçm/i, 3,
				/vakuum/i,6
	  ];
var tl_prog="JS/translit";


function decodeChars(in_string,cp_reference)
{
	sym_count=cp_reference.length;
	result=in_string;
	
	if (typeof(in_string)!="string")
	{
		if (debug)
			alert(tl_prog+"error decodeChars: non-string given");
		return null;
	}
	
	for (counter=0;counter< sym_count; counter++)
		result=result.replace(translit[counter],cp_reference[counter]);
	return result;
}

function decodeTranslit(input_string,encoding)
{
	var URI_definition=/((https?|ftp|telnet):\/\/|mailto:)[A-z0-9%:@#=_\/\.\?\+\-]+/;
	var latinword = /[qwxy]/i;

	var cp_reference=eval(encoding);
	
	if (cp_reference == null)
	{
		if (debug) alert(tl_prog+" error: Encoding "+encoding+" not found!");
		return null;
	}
	if (cp_reference.length != translit.length)
	{
		if (debug) alert(tl_prog+" error: Encoding "+encoding+" has different "+
			"size than the translit table, not all chars defined to be changed!");
		return null;
	}
	var words=input_string.split(" ");
	var wc=words.length;
	var excount=exceptions.length;
	var dontAnalyze;
	var changeStart,changeEnd;
	var result= new Array();
	for (i=0; i< wc; i++)
	{
		resultword="";
		dontAnalyze = new Array();
		if (words[i].search(URI_definition)==-1 && words[i].search(latinword)== -1)
		{

			if (debug) alert("Analyzing: "+words[i]);
			for (j=0;j<excount;j+=2)
			{
				excplace=words[i].search(exceptions[j]);
				if (excplace != -1)
				{
					if (debug) alert("Found exception "+exceptions[j]+" length: "+exceptions[j+1]);
					dontAnalyze.push(excplace, excplace+exceptions[j+1]);
				}
			}
			var daCount=dontAnalyze.length;
			changeStart=0;
			changeEnd=words[i].length;
			if (daCount > 0)
			{
				if (debug) alert("Found "+(daCount / 2)+" exceptions in "+words[i]+"\n"+dontAnalyze.join(","));
				resultword+=decodeChars(words[i].slice(0,dontAnalyze[0]),cp_reference);
				for (j=0; j<daCount; j+=2)
				{
					tmpvar1=words[i].slice(dontAnalyze[j],dontAnalyze[j+1]);
					if (debug) alert("processing exception, adding "+tmpvar1);
					resultword+=tmpvar1;
					changeStart=dontAnalyze[j+1];
					if (j+2 >= daCount)
					{
						changeEnd=words[i].length;
						break;
					}
					else
						changeEnd=dontAnalyze[j+2];
					tmpvar1=words[i].slice(changeStart,changeEnd);
					if (debug) alert("exception: adding processed "+tmpvar1);
					resultword+=decodeChars(tmpvar1,cp_reference);
				}
			}
			tmpvar1=words[i].slice(changeStart,changeEnd);
			if (debug) alert("adding the rest of the word:"+tmpvar1);
			resultword+=decodeChars(tmpvar1,cp_reference);
		}
		else
			resultword=words[i];
		result.push(resultword);
	}
	return result.join(" ");
}


function doTranslit()
{
	if (typeof(arguments)!="object")
	{
		alert(tl_prog+" no object passed to doTranslit()");
		return false;
	}
	if (arguments.length < 1)
	{
		alert(tl_prog+" too few arguments to doTranslit");
		return false;
	}
	var encoding=(arguments.length > 1 ? arguments[1] : default_encoding);
	var input_object=arguments[0];
	
	if (! (input_object.type=="text" || input_object.type=="textarea"))
	{
		alert(tl_prog+" non-text form element passed to doTranslit? Can't "+
			" get value of "+input_object);
		return false;
	}
	
	var result=decodeTranslit(input_object.value,encoding);
	
	if (debug) alert(tl_prog+" final result, got: "+result);
	input_object.value=result;
	
	return false;
}

function externalLinks() {
 if (document.getElementById("cal")) showcal(ct);
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       (anchor.getAttribute("rel") == "nofollow" || anchor.getAttribute("rel") == "follow")
		&& anchor.getAttribute("rel") != "int")
     anchor.target = "_blank";
 }
}

function stils(kas,stils)
	{
	kas.setAttribute('style',stils);
	kas.style.cssText=stils;
	}
	
function ch_month(m)
	{
	ct.setFullYear(ct.getFullYear(),ct.getMonth()+m,1);
	showcal(ct);
	}

function showcal(ft)
	{
	var gads=ft.getFullYear();
	var menesis=ft.getMonth();
	var diena=ft.getDate();	
	var start = new Date();
	start.setFullYear(gads,menesis,1);
	if (start.getDay()!=0) start.setDate(start.getDate()-(start.getDay()-1));
	else start.setDate(start.getDate()-6);
	var end = new Date();
	end.setFullYear(gads,menesis+1,0);
	if (end.getDay()!=0) end.setDate(end.getDate()+(7-end.getDay()));
	
	div=document.getElementById("cal");
	while(div.childNodes[0])div.removeChild(div.firstChild);
	
	container=document.createElement('div');
	py=document.createElement('a');
	py.setAttribute('href','#');
	py.onclick = new Function("ch_month(-12);");
	py.setAttribute('title',(gads-1));
	pyt=document.createTextNode('<');
	py.appendChild(pyt);	
	
	ny=document.createElement('a');
	ny.setAttribute('href','#');
	ny.onclick = new Function("ch_month(12);");
	ny.setAttribute('title',(gads+1));
	nyt=document.createTextNode('>');
	ny.appendChild(nyt);
	cy=document.createTextNode(' '+gads+' ');
	yb=document.createElement('br');
	container.appendChild(py);
	container.appendChild(cy);
	container.appendChild(ny);
	container.appendChild(yb);
	
	pm=document.createElement('a');
	pm.setAttribute('href','#');
	pm.onclick = new Function("ch_month(-1);");
	if (menesis>0) pm.setAttribute('title',(men[menesis-1]));
	else pm.setAttribute('title',(men[12]));
	pmt=document.createTextNode('<');
	pm.appendChild(pmt);	
	
	nm=document.createElement('a');
	nm.setAttribute('href','#');
	nm.onclick = new Function("ch_month(1);");
	if (menesis>11) nm.setAttribute('title',(men[0]));
	else nm.setAttribute('title',(men[menesis+1]));
	nmt=document.createTextNode('>');
	nm.appendChild(nmt);
	cm=document.createTextNode(' '+men[menesis]+' ');
	container.appendChild(pm);
	container.appendChild(cm);
	container.appendChild(nm);
	
	t=document.createElement('table');
	t.setAttribute('class','c');
	tb=document.createElement('tbody');
  
  row=document.createElement('tr');
	
	for (nd=1;nd<=7;nd++) 
		{
		cell=document.createElement('td');
		cellt=document.createTextNode(wd[nd]);
		stils(cell,'font-weight:bold;padding:2px;');
		cell.appendChild(cellt);
		row.appendChild(cell);
		}
	stils(cell,'color:#f33;font-weight:bold;');
	tb.appendChild(row);
		
	var dat=0;
	while (start<=end)
		{
		if(start.getDate()==1) dat++;
		if (start.getDay()==1) row=document.createElement('tr');	//1diena
		cell=document.createElement('td');
		stils(cell,'padding:2px;');
		
		lnk=document.createElement('a');
		stils(lnk,'color:#000;');
		if (dat==0 || dat==2) stils(lnk,'color:#999;');
		lnk.setAttribute('href','/hclv/riki/meklet/?sd='+Math.floor(start.getTime()/(1000*60*60*24)));
		lnk.setAttribute('title',ni[start.getDay()]+', '+gads+'. gada '+start.getDate()+'.'+men[menesis].toLowerCase());
		cellt=document.createTextNode(start.getDate());
		lnk.appendChild(cellt);
		cell.appendChild(lnk);
		row.appendChild(cell);		
		if (start.getDay()==0)  //7diena
			{
			if (dat==1) stils(lnk,'color:#f33;');
			else stils(lnk,'color:#f99;');
			tb.appendChild(row);
			}
		var taga = new Date();
		if (start.getYear()==taga.getYear() && start.getMonth()==taga.getMonth() && start.getDate()==taga.getDate()) stils(lnk,'color:#f00;font-weight:bold;'); //shod
		start.setDate(start.getDate()+1);
		}
	t.appendChild(tb);
  container.appendChild(t);
  div.appendChild(container);
	}
	

function sms() {
	externalLinks();
	if (document.getElementById("sms_length"))
		{
		smslength=document.getElementById("sms_length");
		smslength.appendChild(document.createTextNode('('+(document.getElementById('sms_text').value.length+document.getElementById('sign').value.length)+' no 144)'));
  	}
}

function arrow(u){
  if(!u){
    if(window.event ){
      u = window.event;
      targ=u.srcElement;
    }else{
      return;
    }
  }
  else targ=u.target;
  if(typeof(u.keyCode)=='number') u=u.keyCode;
  else
  	if(typeof(u.which)=='number') u=u.which;
 		else if(typeof(u.charCode)=='number') u=u.charCode;
  else return;
  if (targ.id=="chatbarText")
  	switch (u){
  		case 38:
  		if (hist.length!=0){
  			hn++;
  			if (hn>hist.length) hn=1;
  			document.getElementById("chatbarText").value=hist[hist.length-hn];
  		}
  		break;
  		case 40:
  		if (hn!=0){
  			hn--;
  			if (hn==0) hn=hist.length;
  			document.getElementById("chatbarText").value=hist[hist.length-hn];
  		}
	  	break;
	  	case 13:
  		if (document.getElementById("chatbarText").value) sendComment();
	  	break;
	  	default:
	  	hn=0;
  	}
  if (targ.id=="sms_text" || targ.id=="sign")
  	{
  	ddd=document;
  	smsbody=ddd.getElementById('sms_text').value;
  	sign=ddd.getElementById('sign').value.length;
  	if (smsbody.length+sign>144) ddd.getElementById('sms_text').value=smsbody.substring(0,144-sign);
  	smslength=ddd.getElementById("sms_length");
  	smslength.removeChild(smslength.firstChild);
  	smslength.appendChild(ddd.createTextNode('('+(ddd.getElementById('sms_text').value.length+sign)+' no 144)'));
  	}
	}
function enter(){
	sendComment();
	return(false);
	}
	
window.onload = sms;
document.onkeyup=arrow;