var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

if (checkIt('konqueror'))
{
	browser = "Konqueror";
	OS = "Linux";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "Internet Explorer"
else if (!checkIt('compatible'))
{
	browser = "Netscape Navigator"
	version = detect.charAt(8);
}
else browser = "An unknown browser";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (checkIt('linux')) OS = "Linux";
	else if (checkIt('x11')) OS = "Unix";
	else if (checkIt('mac')) OS = "Mac"
	else if (checkIt('win')) OS = "Windows"
	else OS = "an unknown operating system";
}

function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

//check browser

count=1;
// flag - for making sure that double feed is deleted when needed
var onlydown,wasenter,backcolor,darkcolor,lightcolor;
var globalCursorPos,secondCursor,virtualkey,firstchange,shorti,deadkey,inkeybord,fftemp,ffflag;
var special=new Array(2,0,0,0,0,0,0);
var dkey=new Array()
var enterh1,enterh2
if (window.getSelection)
{
	enterh1=33
	enterh2=68
	difkeyfirefox=59
	difkeyfirefox2=109
	difkeyfirefox3=61


}
else
{
	enterh1=31
	enterh2=64
	difkeyfirefox=186
	difkeyfirefox2=189
	difkeyfirefox3=187
}
mover=1;
ffflag=false;
deadkey=-1;
backcolor="#C0C0C0" //#CCCCCC #C0C0C0
darkcolor="#ACA899" //#ACA899 #808080
lightcolor="#FFFFFF" //#ECE9D8 #FFFFFF
virtualPos=0;
firstchange=true;
wasenter = false;
first=true;
virtualkey=false;

onlydown=false;
var curtex,firstsect
var row,count,countb,mode,lastkey,olderkey,oldestkey,countc,selend,selstart,mover
mode=0
lastkey=0
olderkey=0
oldestkey=0
countc=0
selend=0
selstart=0





var overit=true;

//function cookieone()
//{
//  document.cookie=curtex.name +"=" + escape(curtex.value) +"!~!#!@!"
//}


function showcc(wh)
{
 document.getElementById("mail_"+wh).style.display="block";
 document.getElementById("over_mail_"+wh).style.display="block";
 document.getElementById("m"+wh).style.display="block";
 document.getElementById(wh).style.display="none";
}


function checkandsend()
{
var sendmail=true
var tempstring=""
var wrongbox=""


if(sendmail && (document.getElementById("mail_to").value==""))
{
  sendmail=false
  alert('Please Specify at least one recipient in the "To" field')
}

if(sendmail && (document.getElementById("mail_from").value==""))
{
  sendmail=false
  alert('Please Specify your E-mail address in the "From" field')
}

if(sendmail && (document.getElementById("textbox1").value==""))
{
  sendmail=confirm('Send this message without text in the body?')
}

if(sendmail && (document.getElementById("mail_subject").value==""))
{
  sendmail=confirm('Send this message without a subject?')
}



if(sendmail)
{
if((document.getElementById("mail_from").value.indexOf('@')==-1)) sendmail=false;
if((document.getElementById("mail_to").value.indexOf('@')==-1)) sendmail=false;
if((document.getElementById("mail_cc").value.indexOf('@')==-1) && (document.getElementById("mail_cc").value.length>0)) sendmail=false;
if((document.getElementById("mail_bcc").value.indexOf('@')==-1) && (document.getElementById("mail_bcc").value.length>0)) sendmail=false;
if (!sendmail) alert('Please make sure that email addresses contain exactly one "@" sign');
}

if(sendmail)
{
	tempstring=document.getElementById("mail_from").value;
	var temparray = new Array();
	temparray = tempstring.split('@')
	if (temparray[2]!=null) { sendmail=false }
	temparray = tempstring.split(',')
	if (temparray[1]!=null && temparray[0]!="" && temparray[1]!="") { sendmail=false }
	temparray = tempstring.split(';')
	if (temparray[1]!=null && temparray[0]!="" && temparray[1]!="") { sendmail=false }
	temparray = tempstring.split(' ')
	if (temparray[1]!=null && temparray[0]!="" && temparray[1]!="") { sendmail=false }
    if(!sendmail) alert('Please Specify only one address in the "From" field')
	
}



if(sendmail)
{
var fields = new Array("mail_from","mail_to","mail_cc","mail_bcc")
var fieldsname = new Array("From","To","Cc","Bcc")
var sepe = new Array(",")

for (field in fields)
{
	curfield=document.getElementById(fields[field]).value
	if (curfield!="" && sendmail)
	{
	var noreturn = new Array();
	noreturn = curfield.split("\r\n")
	var nf=""
	for (parts in noreturn)
	{
		nf=nf+noreturn[parts]
	}
	document.getElementById(fields[field]).value=nf
	
	var noreturn = new Array();
	noreturn = curfield.split(";")
	var nf=""
	for (parts in noreturn)
	{
		if (parts==0)
		 { nf=nf+noreturn[parts];
		 }
		 else
		 { nf=nf+","+noreturn[parts];
		 }
	}
	document.getElementById(fields[field]).value=nf
	
	
	curfield=document.getElementById(fields[field]).value
	
	var gotit = false
	for (s in sepe)
	{
		var temparray = new Array();
		temparray = curfield.split(sepe[s])
		
		if (temparray[1]!=null && temparray[0]!=""  && temparray[1]!="")
		{
		gotit=true;
		for (email in temparray)
		{
			var emailarray = new Array();
			
			emailarray = temparray[email].split('@')
			if (emailarray[1]==null || emailarray[1]=="" || emailarray[2]!=null) 
				{ sendmail=false }
		  	else
			{
				var emailendarray = new Array();
				emailendarray = emailarray[1].split('.')
				if (emailendarray[4]!=null || emailendarray[0]=="" || emailendarray[0]==null || emailendarray[1]=="" || emailendarray[1]==null) { sendmail=false }
			}
		}
		}
		
	}
	
	if(!gotit)
	{
		var emailarray = new Array();
		emailarray = curfield.split('@')
		if (emailarray[1]==null || emailarray[1]=="" || emailarray[2]!=null) 
		{ sendmail=false }
		else
		{
			var emailendarray = new Array();
			emailendarray = emailarray[1].split('.')
			if (emailendarray[4]!=null || emailendarray[0]=="" || emailendarray[0]==null || emailendarray[1]=="" || emailendarray[1]==null) { sendmail=false }
		}
	}

	if(!sendmail) alert('Some addresses in the "'+fieldsname[field]+'" field were not recognized, Please make sure that all addresses are properly formed.');
	}
}
}


if(sendmail) 
	{
		if (document.getElementById("mecopy").checked)
		{
			document.getElementById("mail_bcc").value=document.getElementById("mail_bcc").value+", "+ document.getElementById("mail_from").value
		}
		document.feedbackform.submit(); 
		if (document.getElementById("mecopy").checked)
		{
			document.getElementById("mail_bcc").value=document.getElementById("mail_bcc").value.substring(0,document.getElementById("mail_bcc").value.lastIndexOf(','+document.getElementById("mail_from").value))
		}
		
	}
}

function sectchange(wh)
{
if (wh==99) 
	{
		top.location.href = '?language='+langname+'&show=/'
		
	}
else
	{		
document.langform.sec.value=wh;
if (secto==99) document.langform.show.value="";
laychange()
	}
}

function old_version()
{
top.location.href = 'oldsite/index.asp?language='+langname+'&sec='+document.langform.sec.value;
}


function laychange()
{
if (document.langform.lay.value==defnum) document.langform.lay.value=1;
top.location.href = '?language='+langname+'&lay='+document.langform.lay.value+'&sec='+document.langform.sec.value;
//top.location.href = '?language='+langname+'&lay='+document.langform.lay.value+'&sec='+sect;
//document.langform.submit(); 
}

function langchange()
{
document.langform.lay.value=1;
top.location.href = '?language='+document.langform.language.value+'&sec='+document.langform.sec.value;
//document.langform.submit(); 
}

function littlesearch()
{
	document.gog.textbox1.name="q"
	document.gog.submit(); 
	document.gog.textbox1.name="textbox1"
}


function showit(wh)
{
	if (document.getElementById(wh).style.display=="none") document.getElementById(wh).style.display="block"
	else document.getElementById(wh).style.display="none"
}

function showcc(wh)
{
 document.getElementById("mail_"+wh).style.display="block";
 document.getElementById("over_mail_"+wh).style.display="block";
 document.getElementById("m"+wh).style.display="block";
 document.getElementById(wh).style.display="none";
}


function gowiki(lann)
{
top.location.href = "wikipedia.asp?lang=" + lann + "&q="+document.wiki.q.value,"testwindow";
}



function attachit(wh){
	IFrameVirtualKeyboard.attachInput(document.getElementById(wh));
}

function detachit()
{
	IFrameVirtualKeyboard.attachInput(document.getElementsByTagName('nothing'));
}

function colorbox(wh)
{
	if (document.getElementById("over"+wh).checked)
	{
		document.getElementById(wh).style.background= "#FFFFFF";
		document.getElementById(wh).style.borderWidth="2";
		document.getElementById(wh).onfocus = attachit(wh);

	}
	else
	{
		document.getElementById(wh).style.background= "#F55C5C";
		document.getElementById(wh).style.borderWidth="2";
		document.getElementById(wh).onfocus = detachit;

	}

}


function selcop(wh)
{
document.getElementById(wh).select()
Copied = getSel()
Copied.execCommand("Copy");
}

function getSel()
{
	var txt = '';
	if (window.getSelection)
	{
		var startPos = curtex.selectionStart;
        var endPos = curtex.selectionEnd;   
        txt=curtex.value.substring(startPos, endPos);
	}
	else if (document.getSelection)
	{
		txt = document.getSelection();
	}
	else if (document.selection)
	{
		txt = document.selection.createRange();
		
	}
	else return;
	return txt;
}


function delselect()
{
var element = curtex;

	
range = getSel()

	if (window.getSelection)
	{
		
		 selstart = curtex.selectionStart;
         selend = curtex.selectionEnd;   
		

	}
	else 
	{
		if(!virtualkey || (firstchange && virtualkey))
		{
var stored_range = range.duplicate();
stored_range.moveToElementText(element);
stored_range.setEndPoint( 'EndToEnd', range );
element.selectionStart = stored_range.text.length - range.text.length;

element.selectionEnd = element.selectionStart + range.text.length;
selstart = element.selectionStart
selend=element.selectionEnd
		}
		else
		{
			selend+=mover;
		}

	}
}


function getCursorPos(textElement) {
	delselect()
	if (window.getSelection)
	{
		 return selstart;   
	
	}
	else 
{
  if ((selend-selstart)<=1) 
  {
  var sOldText = textElement.value;

//create a range object and save off it's text
  var objRange = document.selection.createRange();
  var sOldRange = objRange.text;

//set this string to a small string that will not normally be encountered
  var sWeirdString = '#%~';

//insert the weirdstring where the cursor is at
  objRange.text = sOldRange + sWeirdString; 
  objRange.moveStart('character', (0 - sOldRange.length - sWeirdString.length));

//save off the new string with the weirdstring in it
  var sNewText = textElement.value;

//set the actual text value back to how it was
  objRange.text = sOldRange;

//look through the new string we saved off and find the location of
//the weirdstring that was inserted and return that value
  for (i=0; i <= sNewText.length; i++) {
    var sTemp = sNewText.substring(i, i + sWeirdString.length);
    if (sTemp == sWeirdString) {
      var cursorPos = (i - sOldRange.length);
      return cursorPos;
    }
  }
  }
  else return selstart;
}
}


function secCursor(position)
{
var xd
xd=position
for(i=1;i<=position;i++)
   {
 
    if(curtex.value.substring(i-1,i)=="\n") 
		{	
		      xd=xd-1;
  		}  
  }
  return xd;
}


function setCursorPos() 
{
  virtualkey=false
  delselect()
 // if (window.getSelection) globalCursorPos=selstart-mover else 
  globalCursorPos=getCursorPos(curtex);
  secondCursor=  secCursor(globalCursorPos)
}

function writeit(stringToInsert) 
{

  if (!virtualkey) setCursorPos()
  else
  {
   // if (!window.getSelection) selend=globalCursorPos+mover;
	globalCursorPos+=mover
	secondCursor=secCursor(globalCursorPos)
  }
 mover=stringToInsert.length
 
 
  if (stringToInsert=="\b") 
  {
   if ((firstchange && !virtualkey) || !firstchange)
    {
	globalCursorPos-=1
	stringToInsert=""
	 mover=mover-1
  	}
  }
  
  
  x=1
   
  while (curtex.value.substring(globalCursorPos-2*x,globalCursorPos-2*(x-1))=="\r\n" && !virtualkey)  
     { 
	   selend=selend+2
   	  x+=1
	 }

  var firstPart = curtex.value.substring(0, globalCursorPos);
  var secondPart = curtex.value.substring(selend,curtex.value.length);
  curtex.value = firstPart + stringToInsert + secondPart;
 	
	if (window.getSelection)
	{
		
  curtex.selectionStart=globalCursorPos+mover
   curtex.selectionEnd=globalCursorPos+mover
 
		
	}
	else 
 {
	
 var r = curtex.createTextRange()
 r.move("character",secondCursor+mover)
  r.select();
  
 }
 	
}


function makecookies()
{
var the_inputs=document.getElementsByTagName("textarea");
for(var n=0;n<the_inputs.length;n++){
 document.cookie=the_inputs[n].name +"=" + escape(the_inputs[n].value) +"!~!#!@!"
}

}

function bakecookies()
{

var the_inputs=document.getElementsByTagName("textarea");

for(var n=0;n<the_inputs.length;n++){
 if(document.cookie.indexOf(the_inputs[n].name)!=-1)
 	{
	if (document.cookie.indexOf(the_inputs[n].name)+the_inputs[n].name.length+1-document.cookie.indexOf("!~!#!@!",document.cookie.indexOf(the_inputs[n].name)+the_inputs[n].name.length)<-1)
	{
   the_inputs[n].value=unescape(document.cookie.substring(document.cookie.indexOf(the_inputs[n].name)+the_inputs[n].name.length+1,document.cookie.indexOf("!~!#!@!",document.cookie.indexOf(the_inputs[n].name)+the_inputs[n].name.length)));
	
	
	}
	}
}


}



