var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function goToURL(url) { window.location = url; }

function JumpToIt(list) {
    var newPage = list.options[list.selectedIndex].value
    if (newPage != "None") {
        location.href=newPage
    }
}

function toggleShareList(e, myid) {
        o=document.getElementById(myid).style;

        if (o.visibility == "visible") o.visibility="hidden";
        else {
                if(ns4||ns6||(typeof document.body.style.maxHeight != "undefined")) {
					if (!ns4 && !ns6) 
					{
//						alert(document.documentElement.scrollTop);
						x = e.x+document.documentElement.scrollLeft;
                        y = e.y+document.documentElement.scrollTop;
					}
					else
					{
                        x = e.pageX;
                        y = e.pageY;
					}
						
						
                } else {
                        x = e.x + document.body.scrollLeft;
                        y = e.y + document.body.scrollTop;
				}

                o.visibility="visible";
				o.left = x+10+'px';
				o.top = y +10+ 'px';
        }
}

function toggleContactsList(e, myid) {
        o=document.getElementById(myid).style;

        if (o.visibility == "visible") o.visibility="hidden";
        else {
                o.visibility="visible";
        }
}

function toggleGameSettings(e, settingsbox) {
        o=document.getElementById(settingsbox).style;

        if (o.display == "inline") {
                o.display="none";
        } else {
                o.display="inline";
        }
}

function deselect(tabName) {
	if (document.getElementById(tabName))
        document.getElementById(tabName).style.display="none";

if (document.getElementById(tabName+"tab"))
        document.getElementById(tabName+"tab").className="tab";

}

function activateTab(tabName) {
        deselect("tabshare");
        deselect("tabcreate");
        deselect("tabedit");
        deselect("tabcopy");
        deselect("tabdownload");
        deselect("tabdelete");
//        deselect("tabswap");
//        deselect("tabtranslate");
//        deselect("tabmove");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tab activeTab";
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function activateWordTab(tabName) {
        deselect("tabedit");
        deselect("tabdelete");
        deselect("tabswap");
        deselect("tabtranslate");
        deselect("tabmove");
		deselect("tabcopy");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tab activeTab";
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function activateDictTab(tabName) {
        deselect("taballdicts");
		deselect("tabdict1");
        deselect("tabdict2");
        deselect("tabdict3");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tab activeTab";
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function activateSearchTab(tabName) {
        deselect("tabtranslations");
        deselect("tabexamples");
        deselect("tabdefinitions");
		deselect("tabmydictionary");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tab activeTab";
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function activateHomeTab(tabName) {
        deselectHome("tablearners");
        deselectHome("tabteachers");
        deselectHome("tabschools");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tabHome activeTab";
		
//		alert(tabName);
		if (tabName=='tabteachers') setSettingsCookie(0,'1');
		if (tabName=='tablearners') setSettingsCookie(0,'0');
		if (tabName=='tabschools') setSettingsCookie(0,'2');
		
//		alert('abc: '+getSettingsCookie(0));
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function deselectHome(tabName) {
        document.getElementById(tabName).style.display="none";
        document.getElementById(tabName+"tab").className="tabHome";
}

function activatePrintTab(tabName) {
        deselectPrint("tabupload");
        deselectPrint("tabexisting");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tabPrint activeTab";

//		alert(tabName);
		if (tabName=='tabexisting') setCustomerSetting('PRINT_WORDSELTAB','existing');
		if (tabName=='tabupload') setCustomerSetting('PRINT_WORDSELTAB','upload');
		
//		alert('abc: '+getSettingsCookie(0));
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function deselectPrint(tabName) {
        document.getElementById(tabName).style.display="none";
        document.getElementById(tabName+"tab").className="tabPrint";
}

function activateAddWordsTab(tabName) {
        deselectAddWords("tabbulk");
        deselectAddWords("tabonebyone");
        deselectAddWords("tabinfo");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tabAddWords activeTab";

//		alert(tabName);
		if (tabName=='tabonebyone') setCustomerSetting('AddWords_WORDSELTAB','onebyone');
		if (tabName=='tabbulk') setCustomerSetting('AddWords_WORDSELTAB','bulk');
		if (tabName=='tabinfo') setCustomerSetting('AddWords_WORDSELTAB','info');
		
//		alert('abc: '+getSettingsCookie(0));
/*
        o.zIndex=102;
          o.backgroundColor="#EEEEEE";
          o.color="#000000";
*/
}

function deselectAddWords(tabName) {
        document.getElementById(tabName).style.display="none";
        document.getElementById(tabName+"tab").className="tabAddWords";
}

function activateGoogleTab(tabName) {
        deselectGoogle("tabwordaday");
        deselectGoogle("tabdictionary");
        deselectGoogle("tabflashcards");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tabGoogle activeTab";
		
/*		if (tabName=='tabwordaday') setSettingsCookie(0,'1');
		if (tabName=='tabdictionary') setSettingsCookie(0,'0');
		if (tabName=='tabflashcards') setSettingsCookie(0,'2');*/
		
}

function deselectGoogle(tabName) {
        document.getElementById(tabName).style.display="none";
        document.getElementById(tabName+"tab").className="tabGoogle";
}

function activateTopSearchTab(tabName) {
        deselectTopSearch("tabtranslation");
        deselectTopSearch("tabdefinition");
        deselectTopSearch("tabexample");
        deselectTopSearch("tabpos");

        document.getElementById(tabName).style.display="inline";
        document.getElementById(tabName+"tab").className="tabTopSearch activeTab";
		
/*		if (tabName=='tabwordaday') setSettingsCookie(0,'1');
		if (tabName=='tabdictionary') setSettingsCookie(0,'0');
		if (tabName=='tabflashcards') setSettingsCookie(0,'2');*/
		
}

function deselectTopSearch(tabName) {
        document.getElementById(tabName).style.display="none";
        document.getElementById(tabName+"tab").className="tabTopSearch";
}

function nextTopSearchTab(tabName) {
	alert(tabName);
	tabName = "tab".tabName;
        deselectTopSearch("tabtranslation");
        deselectTopSearch("tabdefinition");
        deselectTopSearch("tabexample");
        deselectTopSearch("tabpos");
		
	if (tabName=='tabtranslation'){
        document.getElementById(tabdefinition).style.display="inline";
        document.getElementById(tabdefinition+"tab").className="tabTopSearch activeTab";
	}	
	if (tabName=='tabdefinition'){
        document.getElementById(tabexample).style.display="inline";
        document.getElementById(tabexample+"tab").className="tabTopSearch activeTab";
	}
	if (tabName=='tabexample'){
        document.getElementById(tabpos).style.display="inline";
        document.getElementById(tabpos+"tab").className="tabTopSearch activeTab";
	}
	if (tabName=='tabpos'){
        document.getElementById(tabtranslation).style.display="inline";
        document.getElementById(tabtranslation+"tab").className="tabTopSearch activeTab";
	}

		
/*		if (tabName=='tabwordaday') setSettingsCookie(0,'1');
		if (tabName=='tabdictionary') setSettingsCookie(0,'0');
		if (tabName=='tabflashcards') setSettingsCookie(0,'2');*/
		
}

function prependTextField(line) {
	if (line=='') return;
	ok=true;

	var val=document.forms['mypackform'].shareuserlist.value;
	
	while ((pos=val.indexOf(line))!=-1)
	{
		//ha valahol szerepel a részstring
		if (pos!=-1)
		{
			ch1=val.charAt(pos-1);
			pos2=pos+line.length;
			ch2=val.charAt(pos2);
			
//			alert(":"+ch1+","+ch2+":");
			
			if ((ch1==',' || ch1==';' || ch1==' ' || ch1=='\n' || ch1=='\r' || ch1=='') && 
				(ch2==',' || ch2==';' || ch2==' ' || ch2=='\n' || ch2=='\r' || ch2=='')) ok=false;
			else ok=true;

/*			//elotte mi van
			if (ok && (val.charAt(pos-1)!=',' && val.charAt(pos-1)!=';' &&
					   val.charAt(pos-1)!=' ' && val.charAt(pos-1)!='\n' && val.charAt(pos-1)!='')) ok=true;
			else ok=false;
	
			//utána mi van
			pos2=pos+line.length;
			if (ok && (val.charAt(pos2)!=',' && val.charAt(pos2)!=';' && 
					   val.charAt(pos2)!=' ' && val.charAt(pos2)!='\n' && val.charAt(pos2)!='')) ok=true;
			else ok=false;
*/
			if (!ok) break;
			else val=val.substring(pos2);
		}
	}

	if (ok) document.forms['mypackform'].shareuserlist.value=line+"\n"+document.forms['mypackform'].shareuserlist.value;
}

function selectAllCheckboxesForm(self, namePrefix, form) {

	var prefixLen=namePrefix.length;

    for (i=0; (i<document.forms[form].elements.length); i++) 
	{
           if ( (document.forms[form].elements[i].type=='checkbox') && (document.forms[form].elements[i].name.substr(0,prefixLen) == namePrefix) ) 
		   {
                 document.forms[form].elements[i].checked=self.checked;
           }
    }
}

function selectAllCheckboxes(self, namePrefix) {
	selectAllCheckboxesForm(self,namePrefix,0);
}

//not used...
/*function listElements() {
        for (i=0; (i<document.forms[0].elements.length); i++) {
                        alert(document.forms[0].elements[i].name);
        }
}*/

/*
function disableElements(id, self, type) {

        if (type == "add") {
                var name="NewWords["+id+"]";
        } else if (type == "edit") {
                var name="words["+id+"]";
        }
        var name1=name+"[definition]";
        var name2=name+"[translation]";
        var name3=name+"[example]";
        var disable=(self.value.length>0);

                document.forms[0].elements[name1].disabled=disable;
                document.forms[0].elements[name1].style.background = "#EEEEEE";
                document.forms[0].elements[name2].disabled=disable;
                document.forms[0].elements[name2].style.background = "#EEEEEE";
                document.forms[0].elements[name3].disabled=disable;
                document.forms[0].elements[name3].style.background = "#EEEEEE";
                self.disabled=false;
                self.style.background = "#FFFFFF";
}

function enableElement(id, self, type) {

        if (type == "add") {
                var name="NewWords["+id+"]";
        } else if (type == "edit") {
                var name="words["+id+"]";
        }
        var name1=name+"[definition]";
        var name2=name+"[translation]";
        var name3=name+"[example]";
        var disable=(self.value.length>0);

        document.forms[0].elements[name1].style.background = "#EEEEEE";
        document.forms[0].elements[name2].style.background = "#EEEEEE";
        document.forms[0].elements[name3].style.background = "#EEEEEE";
        self.style.background = "#FFFFFF";
}
*/

function enableColumn(id,textId) {
	document.getElementById(id).disabled=false;
	document.getElementById(textId).style.color = "#000000";
}

function whiteBack(self) {
        self.style.background='#FFFFFF';
}

function changeBgColor(self) {
        self.style.background='#FFFFCC';
}

function toggleItem(invitation, id, id2) {
        if (invitation.value.length>0) {
                        document.getElementById(id).style.display='none';
                        document.getElementById(id2).style.display='inline';
        } else {
                        document.getElementById(id).style.display='inline';
                        document.getElementById(id2).style.display='none';
        }
}

function rolloverButton (id, state) {
  if (document.getElementById) {
    var element_id = document.getElementById(id);
        if (state == 'over') {
          element_id.className = 'buttonover';
        }else{
          element_id.className = 'buttonnormal';
        }
  }
}

function rolloverButton2 (id, state) {
  if (document.getElementById) {
    var element_id = document.getElementById(id);
        if (state == 'over') {
          element_id.className = 'buttonover2';
        }else{
          element_id.className = 'buttonnormal2';
        }
  }
}


function gotoWordbank(){
var decision = confirm("Would you like to visit WordBank now?");
if (decision == true){
        document.forms[0].action="/wordshare.php?cmd=subscribe&gotoWordbank=1";
}
return true;
}

function checkCheckBox(f){
if (f.agree.checked == false )
{
alert('You must read and accept the WordLearner Prize Draw Terms & Conditions to continue.');
return false;
}else
return true;
}

function getcheckboxCountForm(formNum, prefix)
{
	var numchecked=0;
       for (i=0; (i<document.forms[formNum].elements.length); i++) {
            if ( (document.forms[formNum].elements[i].type=='checkbox') && (document.forms[formNum].elements[i].name.substr(0,prefix.length) == prefix) ) {
                   if (document.forms[formNum].elements[i].checked) { numchecked++; }
                }
        }
		
		return numchecked;

}

function checkboxCount() {
        return checkboxCountForm(0);
}

function checkboxCountForm(formNum) {
var i=0;
var numchecked=0;
var numcheckbox=0;
        for (i=0; (i<document.forms[formNum].elements.length); i++) {
                if ( (document.forms[formNum].elements[i].type=='checkbox') && (document.forms[formNum].elements[i].name.substr(0,10) != 'displayall') ) {
                        if (document.forms[formNum].elements[i].checked) { numchecked++; }
						numcheckbox++;
                }
        }

        if (numchecked==0 && numcheckbox>0) {
                alert('Nothing selected! Please select at least one item from the table above and then try again.');
                return false;
        }

        return true;
}

function paycheckboxCount() {
        return paycheckboxCountForm(0);
}

function paycheckboxCountForm(formNum) {
var i=0;
var agreechecked=0;
var buychecked=0;

        for (i=0; (i<document.forms[formNum].elements.length); i++) {
                if ( (document.forms[formNum].elements[i].type=='radio') && (document.forms[formNum].elements[i].name.substr(0,10) != 'displayall') ) {
                        if (document.forms[formNum].elements[i].checked) { buychecked++; }
                }
        }
		
        if (buychecked==0) {
                alert('Please select a Premium Membership level before proceeding.');
                return false;
        }

        for (i=0; (i<document.forms[formNum].elements.length); i++) {
                if ( (document.forms[formNum].elements[i].type=='checkbox') && (document.forms[formNum].elements[i].name.substr(0,10) != 'displayall') ) {
                        if (document.forms[formNum].elements[i].checked) { agreechecked++; }
                }
        }
		
        if (agreechecked==0) {
                alert('You must confirm that you have tested all the software and services provided by WordLearner before proceeding.');
                return false;
        }

        return true;
}

function mywordsDelete(formname) {
        if (checkboxCount()==true) {
                if (confirm('Are you sure you want to delete the selected word(s)?')) {
                        mySubmit('delete');
						document.forms[formname].submit();
                }
        }
}

function gotoGame(gamename) 
{
	gotoGameForm(gamename,0);
}

function gotoGameForm(gamename,formname) {// check if the word exceed maximum number
//        if( maxwords && wordnum && maxwords<wordnum) {
//                window.location.href = 'overlimit.php';
//        } else 
		if (checkboxCountForm(formname)==true) {
                mySubmit(gamename);
                document.forms[formname].submit();
        }
}

function gotoGameNoCheck(gamename) {
		gotoGameNoCheckForm(0);
}

function gotoGameNoCheckForm(gamename,formn) {
			mySubmit(gamename);
			document.getElementById(formn).submit();
}

function gotoPrintForm(printname, formname)
{
//        if( maxwords && wordnum && maxwords<wordnum) {
//               window.location.href = 'overlimit.php';
//        } else 
	if (checkboxCountForm(formname)==true) {
               mySubmit(printname);
               document.forms[formname].submit();
    }

}

function gotoPrint(printname) {
		gotoPrintForm(printname,0);
}


function gotoPrintNoCheckForm(printname,formn) {
			mySubmit(printname);
			document.getElementById(formn).submit();
}

function gotoPrintNoCheck(printname) {
	gotoPrintNoCheckForm(printname,0);
/*			mySubmit(printname);
        	document.forms[0].submit();*/
}

function mySearch(wordid,myexcl,mydictURL, mydictenc) {
wordField = document.getElementById(wordid);
theWord = wordField.value;
if (theWord.length == 0) {
        alert("The Word box is empty. Please enter a word or phrase and try again.");
        return;
}

//URL = "/myaccount.php?cmd=getmydict&word="+encodeURI(theWord)+"&excl="+encodeURI(myexcl)+"&url="+escape(mydictURL)+"&mydictenc="+escape(mydictenc);
URL = "/myaccount.php?cmd=getmydict&word="+encodeURI(theWord)+"&excl="+encodeURI(myexcl)+"&url="+escape(mydictURL)+"&mydictenc="+escape(mydictenc);
//alert("theWord: "+theWord);
//alert("myexcl: "+myexcl);
//alert("mydictURL: "+mydictURL);
//alert("URL: "+URL);
newWindow = window.open (URL, "myWindow");

///myaccount.php?cmd=getmydict&amp;word={$word.word|escape:"html"}&amp;excl={$query.mydictexcl}&amp;url={$query.mydict|escape:"url"}
}

function wlSearch(wordid,appendurl)
{
	return wlSearch(wordid,null,null,null,null,appendurl);
}

function wlSearch(wordid,transid,defid,exid,posid,appendurl) {
wordField = document.getElementById(wordid);
theWord = wordField.value;

if (theWord.length == 0) {
        alert("The Word box is empty. Please enter a word or phrase and try again.");
        return;
}

URL = "/search.php?w="+encodeURI(theWord);

//alert(encodeURI(theWord));
/*alert(transid);
alert(defid);
alert(exid);
alert(posid);*/
//alert(document.getElementById(exid).value);
if (transid)
	URL+="&t="+encodeURI(document.getElementById(transid).value);
if (defid)
	URL+="&d="+encodeURI(document.getElementById(defid).value);
if (exid)
	URL+="&e="+encodeURI(document.getElementById(exid).value);
if (posid)
	URL+="&p="+encodeURI(document.getElementById(posid).value);
if (appendurl) URL+=appendurl;

//alert("theWord: "+theWord);
//alert("myexcl: "+myexcl);
//alert("mydictURL: "+mydictURL);
//alert("URL: "+URL);
newWindow = window.open (URL, "myWindow");

///myaccount.php?cmd=getmydict&amp;word={$word.word|escape:"html"}&amp;excl={$query.mydictexcl}&amp;url={$query.mydict|escape:"url"}
}

function exampleMsg(value,msg) {
        if (value==3) {
                alert(msg);
        }
}

function exampleCheckbox(value,el) {
        if (value==3) {
                document.getElementById(el).style.display='inline';
        }
}

function bookmarksite(title, url){
        if (document.all)
        window.external.addfavorite(url, title);
        else if (window.sidebar)
        window.sidebar.addPanel(title, url, "")
}

function createnewpack(value, areaName){
		if (!document.getElementById(areaName)) return false;
        if (value == "createnew"){
        document.getElementById(areaName).style.display="inline";
        } else {
        document.getElementById(areaName).style.display="none";
        }
}

function checkPack(elementName,msg) {
        packValue = document.getElementById(elementName).value;
        if (packValue == "null") {
                alert(msg);
                return false;
        } else {
//                alert("Pack selected");
                return true;
        }
}

function displayThis(area1, area2) {
        document.getElementById(area1).style.display="inline";
        document.getElementById(area2).style.display="none";
        document.getElementById('boxarea').style.display="none";
}

function displayMobile(id) {

        document.getElementById('mainscreen').style.display="none";
        document.getElementById('flashcard').style.display="none";
        if (document.getElementById('typein')) 
			document.getElementById('typein').style.display="none";
        document.getElementById('selectone').style.display="none";
        document.getElementById('wordsearch').style.display="none";
		document.getElementById('wordjumble').style.display="none";

        document.getElementById(id).style.display="inline";

}

function toggleThis(myid) {
        o=document.getElementById(myid).style;

        if (o.display == "inline") o.display="none";
        else {
                o.display="inline";
        }
}

function toggleThisTableItem(myid) {
        o=document.getElementById(myid).style;

        if (o.display == "inline") o.display="none";
        else {
                o.display="inline";
        }
}

function toggleInfobox(e,myid) {
        o=document.getElementById(myid).style;

/*        if (o.display == "inline") o.display="none";
        else {
                o.display="inline";
        }*/
		
		toggleShareList(e,myid);
//		alert(o.width);
//		alert(o.left.substr(0,o.left.length-2)-o.width.substr(0,o.width.length-2));
		o.left=o.left.substr(0,o.left.length-2)-o.width.substr(0,o.width.length-2)-20+'px';
		o.top=o.top.substr(0,o.top.length-2)-o.height.substr(0,o.height.length-2)-20+'px';
//		o.top='100px';
//		alert(o.left);
//		alert(o.top);
}

function radiobuttonareaoff(areaid) {
        o=document.getElementById(areaid).style;
		o.display="none";
}

function radiobuttonareaon(areaid) {
        o=document.getElementById(areaid).style;
		o.display="inline";
}

function toggleGetstartedbox(myid) {
        o=document.getElementById(myid).style;

        if (o.display == "inline") {
				o.display="none";
		} else if (o.display == "none") {
                o.display="inline";
        } else {
				o.display="none";
		}
}

function clickclear(thisfield, defaulttext) {
	if (thisfield.value == defaulttext) {
	thisfield.value = "";
	thisfield.style.color="#000000";
	} else if (thisfield.value.substring(0,10) == defaulttext){
	thisfield.value = "";
	thisfield.style.color="#000000";
	}
}
function clickclear_nodefault(thisfield) {
	thisfield.value = "";
	thisfield.style.color="#000000";
}

function clearthis(thisfield) {
//	if (thisfield.value != "") {
	thisfield.value = "";
//	}
}
	

function clickrecall(thisfield, defaulttext) {
	if (thisfield.value == "") {
	thisfield.value = defaulttext;
	thisfield.style.color="#999999";
	}
}

function displayThisHideOthers(area, areaCount) {
	    for (i=1; (i<=areaCount); i++) {
        document.getElementById('area'+i).style.display="none";
        }
		
        document.getElementById(area).style.display="inline";
}

function displayThisPointerHideOthers(pointer, pointerCount) {
	    for (i=1; (i<=pointerCount); i++) {
        document.getElementById('pointer'+i).style.display="none";
        }
		
        document.getElementById(pointer).style.display="inline";
}

function checkMail(element)
{
	var x = element.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else {alert('The email address appears to be invalid.'); return false;}
}

function clearenableBox(itemname)
{
//	alert(itemname);
	var e=document.getElementById(itemname);
//	alert(e);
	e.value="";
	e.readOnly=false;
}

function disableBox(itemname)
{
	var e=document.getElementById(itemname);
	e.readOnly=true;
}

function js_countTextAreaChars(text) {
    var n = 0;
    for (var i = 0; i < text.length; i++) {
        if (text.charAt(i) != '\r') {
            n++;
        }
    }
    return n;
}

function js_CursorPos(start, end) {
    this.start = start;
    this.end = end;
}

function js_getCursorPosition(textArea) {
    var start = 0;
    var end = 0;
    if (document.selection) { // IE
        textArea.focus();
        var sel1 = document.selection.createRange();
        var sel2 = sel1.duplicate();
        sel2.moveToElementText(textArea);
        var selText = sel1.text;
        sel1.text = "|pos|";
        var index = sel2.text.indexOf("|pos|");
        start = js_countTextAreaChars((index == -1) ? sel2.text : sel2.text.substring(0, index));
        end = js_countTextAreaChars(selText) + start;
        sel1.moveStart('character', -5);
        sel1.text = selText;
    } else if (textArea.selectionStart || (textArea.selectionStart == "0")) { // Mozilla/Netscape
        start = textArea.selectionStart;
        end = textArea.selectionEnd;
    }
	
//	return start;
//	alert(start);
    return new js_CursorPos(start, end);
}

function js_setCursorPosition(textArea, cursorPos) {
    if (document.selection) { // IE…
        var sel = textArea.createTextRange();
        sel.collapse(true);
        sel.moveStart("character", cursorPos.start);
        sel.moveEnd("character", cursorPos.end - cursorPos.start);
        sel.select();
    } else if (textArea.selectionStart || (textArea.selectionStart == "0")) { // Mozilla/Netscape…
        textArea.selectionStart = cursorPos.start;
        textArea.selectionEnd = cursorPos.end;
    }
    textArea.focus();
}

function getCaretPos(textarea)
{
	var el=document.getElementById(textarea);
	var p=js_getCursorPosition(el);
//	alert(p.start);
	return p.start;
}

function selectTextAreaLine(textarea)
{
	selectTextAreaLine(textarea,false);
}

function selectTextAreaLine(textarea,text)
{
	var el=document.getElementById(textarea);
	pos=getCaretPos(textarea);
	var i=0;
	var start=-1;
	var end=i;
	var linen=0;
	for (i=pos;i>=0;i--)
	{
		ch=el.value.charAt(i);
		if (ch=='\r' || ch=='\n') 
		{
			if (start==-1) start=i+1;
			if (!document.selection) break;
			linen++;
			if (ch=='\n' && el.value.charAt(i-1)=='\r') i--;
		}
	}

	for (i=pos;i<el.value.length;i++)
	{
		ch=el.value.charAt(i);
		if (ch=='\r' || ch=='\n') 
		{
			end=i;
			break;
		}
	}
	

	if (text)
	{
		
		if (start==-1) start=0;
		if (end==0) end=el.value.length;
		var v=el.value.substr(start-linen, end-start-linen);

/*		alert(v);
		alert(start);
		alert(end);*/
		return v;
	}
	
	js_setCursorPosition(el,new js_CursorPos(start-linen, end-linen));

}

function getSel()
{
	var txt = '';
	var foundIn = '';
	if (window.getSelection)
	{
		txt = window.getSelection();
		foundIn = 'window.getSelection()';
	}
	else if (document.getSelection)
	{
		txt = document.getSelection();
		foundIn = 'document.getSelection()';
	}
	else if (document.selection)
	{
		txt = document.selection.createRange().text;
		foundIn = 'document.selection.createRange()';
	}
	else return;
	
	return txt;
//	document.forms[0].selectedtext.value = 'Found in: ' + foundIn + '\n' + txt;
}

function getSel2(areaelement)
{
	var areael=document.getElementById(areaelement);
	if (areael.selectionStart!=undefined)
	{
		sel = areael.value.substr(areael.selectionStart, areael.selectionEnd - areael.selectionStart);  
	}
	else sel=getSel();
	
	return sel;
}

function addSourceDoc(doc,element, source, sourceel, divid)
{
/*	alert(doc);
	alert(sourceel);*/
	doc.getElementById(sourceel).value=source;
	doc.getElementById(element).readOnly=true;
	
	if (divid!='')
	{
//		hideDivElement(divid);
		doc.getElementById(divid).style.display='block';
	}
		
}

function addSource2(element, source, sourceel, divid)
{
	addSourceDoc(document,element, source, sourceel, divid)
}

function copySeladdSource2(element, areaelement, source, sourceel, divid)
{
	if (copySelectedText(element, areaelement))
		addSource2(element, source, sourceel, divid);
	else return false;

	return true;
}

function copySeladdSource(element, areaelement, source, sourceel)
{
	copySeladdSource2(element, areaelement, source, sourceel, '');
}

function getSelectedText(areaelement)
{
	var areael=document.getElementById(areaelement);
	var sel="";
	if (areael.selectionStart!=undefined)
	{
		sel = areael.value.substr(areael.selectionStart, areael.selectionEnd - areael.selectionStart);  
	}
	else sel=getSel();
	
	return sel;
}

function copySelectedText(element, areaelement)
{
	var el=document.getElementById(element);
	
	var sel=getSelectedText(areaelement);
//	sel=sel.trim();

	if (sel.indexOf("\r")!=-1 || sel.indexOf("\n")!=-1)
	{
//		alert("");
		return false;
	}

	sel=sel.replace(/\s*\(Source: .*?\)/g,"");

//	alert(sel);
	document.getElementById(element).value=sel;
	
	return true;
}

function copySearchWordBox(sourcen)
{
	var srcelt=document.getElementById('TabWord['+sourcen+']').value;
	
	for (i=0;i<4;i++)
	{
		document.getElementById('TabWord['+i+']').value=srcelt;
	}
	
	if (document.getElementById('NewWords[1][word]'))
		document.getElementById('NewWords[1][word]').value=srcelt;
}

function hideDivElement(el)
{
	document.getElementById(el).style.display='none';
}

function showDivElement(el)
{
	document.getElementById(el).style.display='inline';
}

function copyWordToAdd(targetdoc,wordid,element)
{
	targetdoc.getElementById(element+'['+wordid+'][word]').value=
		document.getElementById('NewWords[1][word]').value;
		
	targetdoc.getElementById(element+'['+wordid+'][translation]').value=
		document.getElementById('NewWords[1][translation]').value;
		
	
	s=document.getElementById('NewWords[1][translationsource]').value;		
	if (s!="")
	{
		addSourceDoc(targetdoc,element+'['+wordid+'][translation]', 
			s, element+'['+wordid+'][translationsource]', 'source_tra_'+wordid);
	}
	
	targetdoc.getElementById(element+'['+wordid+'][definition]').value=
		document.getElementById('NewWords[1][definition]').value;
		
	s=document.getElementById('NewWords[1][definitionsource]').value;		
	if (s!="")
	{
		addSourceDoc(targetdoc,element+'['+wordid+'][definition]', 
			s, element+'['+wordid+'][definitionsource]', 'source_def_'+wordid);
	}
		
	targetdoc.getElementById(element+'['+wordid+'][example]').value=
		document.getElementById('NewWords[1][example]').value;
		
	s=document.getElementById('NewWords[1][examplesource]').value;		
	if (s!="")
	{
		addSourceDoc(targetdoc,element+'['+wordid+'][example]', 
			s, element+'['+wordid+'][examplesource]', 'source_ex_'+wordid);
	}
		
	targetdoc.getElementById(element+'['+wordid+'][pos]').value=
		document.getElementById('NewWords[1][pos]').value;
}

function checkEmailGameForm() {

        if (document.getElementById('emails').value=='' || document.getElementById('name').value=='' || document.getElementById('message').value=='') {
                alert('Please complete all the fields!');
                return false;
        }
		
        return true;
}
