if(typeof(window.tcLanguage) === "undefined" && typeof(tcLanguage) === "undefined")
	var tcLanguage = 'en';

var wordsIdLearned = new Array();
var wordsIdInCards = new Array();
// cardsToAdd, kind set in formatTopline
var sr_folderSelection = ""; // folder structure to select from
var sr_listSelection = ""; // lists & folder structure to select from
var sr_arrWL= new Array();
var sr_wordId = 0; // wordId of word to be added or string with wordIds to be added
var sr_fromList = 0;
var numFreeLists = 0; // counts for check on how many lists can be added
var sr_startIndex = 0; // used for search page

if(tcLanguage=='es'){
var Str_CannotRemoveAllModes = 'No se puede eliminar todos los modos de estudio de una tarjeta';
var Str_Translation="Traducción";
var Str_ReadingTrad="Lectura trad.";
var Str_ReadingSimpl="Lectura simpl.";
var Str_Recognition="Entender audio";
var Str_DictationSimpl="Dictado simpl." ;
var Str_DictationTrad="Dictado trad.";
var Str_ChangeFCparameters = 'Cambiar los parámetros de la tarjeta';
var Str_removeCard = 'Eliminar de sus listas';
var Str_setAsLearned ='Cambiar a memorizada';
var Str_tweetThisWord = 'Enviar esta palabra con Twitter';
var Str_CardIsSleeping = 'La tarjeta está durmiendo';
var Str_close = 'cerrar';
var Str_examples_ = '<u>Ejemplos</u> (clic en la frase china para verlos)';
var Str_addToFcards = 'Añadir a sus tarjetas';
var Str_learnAgain = 'Aprender de nuevo';
var Str_AddToAList = 'Agregar a una lista';
var Str_CardRequiresPremiumSub = 'Esta palabra requiere una suscripción paga para ser utilizada como tarjeta de memoria';
var Str_ReportError = 'Informar error';
var Str_WakeUp = 'Despertar';
var Str_AddOrModifyNote = 'Añadir o modificar una nota';
var Str_txtLearningNote = 'Agregue sus propias notas de aprendizaje a esta palabra. Estas pueden incluir consejos para recordar esta palabra, o para explicar aspectos que no están disponibles en la traducción general.';
var Str_YourNote = 'Su nota';
var Str_NoteSent = 'Su nota fue enviada para ser guardada en el servidor.';
var Str_YouCanAddToListOrFC = 'Usted puede agregar esta palabra a su propia lista de tarjetas';
var Str_IamLearning = "Estoy aprendiendo: ";
var Str_Ilearned= "Aprendí: ";	

var Str_ADD = 'Agregar';
var Str_LEARNED = 'Memorizado';
var Str_IN ='Incluido';
var Str_deBloqueadas ='Palabra / frase de su lista de palabras bloqueadas';
var Str_WdAlreadyIn ='La palabra / frase se encuentra en sus tarjetas de memoria';
var Str_WdMemorized = 'Esta palabra / frase ya la aprendio completamente';
var Str_SelWrd ='La palabra / frase seleccionada';
var Str_detailsOfCard ='Detalles de la tarjeta';
var Str_suggestRegister ='<b> Regístrese </b> Para estudiar esta palabra y acceder a cientos de listas de palabras por ejemplo basadas en libros de texto populares, todos los niveles HSK o que listas que sirven para situaciones específicas.';
var Str_notEnoughSpace ='- no tiene lugar!';
var Str_addListOrFolder='Añadir lista o carpeta vacía';
var Str_addToNewList = 'Añadir contenido a lista nueva';
var Str_orSelectOne = 'o seleccionar una';
var Str_Warning = 'Advertencia';
var Str_SelectWords = 'Por favor, seleccione las palabras';
var Str_AddingNewFc ='Agregar tarjeta nueva';
var Str_AddingToNewList ='Agregdo a una lista';
var Str_SelectList = 'Seleccione lista';
var Str_Cancel ='Cancelar';
var Str_CheckDeletMore = '¿Quiere eliminar las tarjetas y quitar las palabras de todas las listas?';
var Str_CheckDeletOne ='¿Quiere eliminar la tarjeta y quitarla de todas las listas?';
var Str_notSleeping ='sin dormir';
var Str_pleaseWait = 'por favor espere';
var Str_AddingFolderOrList ='Agregar carpeta o lista nueva ';
var Str_includeName = 'Por favor, incluya el nombre';
var Str_AddFolder ='Agregar como carpeta';
var Str_AddnewList ='Agregar lista nueva';
var Str_AddAsnewList = 'Agregar como lista';
var Str_orSelectOne = 'o elija una';
var Str_DoYouWantToSearchFor ='Quiere buscar por:';
var Str_inOurDictionary = 'en nuestro diccionario?';

}else if(tcLanguage=='ru'){
var Str_CannotRemoveAllModes = '(ru)You can not remove all the training modes for a card';
var Str_Translation="vTranslation";
var Str_ReadingTrad="vReading trad.";
var Str_ReadingSimpl="vReading simpl.";
var Str_Recognition="(ru)Recognition";
var Str_DictationSimpl="(ru)Dictation simpl." ;
var Str_DictationTrad="(ru)Dictation trad.";
var Str_ChangeFCparameters = '(ru)Change parameters for flashcard';
var Str_removeCard = '(ru)remove card of all of your lists';
var Str_setAsLearned ='(ru)set as learned';
var Str_tweetThisWord = '(ru)tweet this word';
var Str_CardIsSleeping = '(ru)Card is sleeping';
var Str_close = '(ru)close';
var Str_examples_ = '(ru)<u>Examples</u> (Click on Chinese text to enlarge)';
var Str_addToFcards = '(ru)Add to your flashcards';
var Str_learnAgain = '(ru)Start learning again';
var Str_AddToAList = '(ru)Add to a list';
var Str_CardRequiresPremiumSub = '(ru)This card requires a premium subscription to be used as a flashcard';
var Str_ReportError = '(ru)Report error';
var Str_WakeUp = '(ru)Wake up';
var Str_AddOrModifyNote = '(ru)Add or modify a note';
var Str_txtLearningNote = '(ru)Add your own learning notes to this word. This may include hints to recognize this word, or to explain aspects which are not available in the general translation.';
var Str_YourNote = '(ru)Your note';
var Str_NoteSent = '(ru)Your note was sent to be saved on the server.';
var Str_YouCanAddToListOrFC = '(ru)You can add this card to your own lists of flashcards';
var Str_IamLearning = "(ru)I'm learning: ";
var Str_Ilearned= "(ru)I learned: ";

var Str_ADD = '(ru)ADD';
var Str_LEARNED = '(ru)LEARNED';
var Str_IN ='(ru)IN';
var Str_deBloqueadas ='(ru)Word/phrase from your list of blocked words';
var Str_WdAlreadyIn ='(ru)The selected word / phrase is in your flashcards';
var Str_WdMemorized = '(ru)You learned completely the selected word / phrase';
var Str_SelWrd ='(ru)The selected word / phrase';	
var Str_detailsOfCard ='(ru)Details of card'; // Detalles de la tarjeta
var Str_suggestRegister ='(ru)<b>Register for free</b> To study this word and to access hundreds of word-lists corresponding to lessons of many popular textbooks, all HSK levels or covering specific situations.'; 
var Str_notEnoughSpace ='(ru)- not enough space!';
var Str_addListOrFolder='(ru)Add a new empty list or folder';
var Str_addToNewList = '(ru)Add content into a new list';
var Str_orSelectOne = '(ru)or select one';
var Str_Warning = '(ru)Warning';
var Str_SelectWords = '(ru)Please select words';
var Str_AddingNewFc ='(ru)Adding a new flashcard';
var Str_AddingToNewList ='(ru)Adding to an new list';
var Str_SelectList = '(ru)Select list';
var Str_Cancel ='(ru)Cancel';
var Str_CheckDeletMore = '(ru)Do you want to delete the flashcards and remove the words from all of your word lists ?';
var Str_CheckDeletOne ='(ru)Do you want to delete the flashcard and remove the word from all of your word lists ?';
var Str_notSleeping ='(ru)not sleeping';
var Str_pleaseWait = '(ru)please wait';
var Str_AddingFolderOrList ='(ru)Adding a new folder or list';
var Str_includeName = '(ru)Please include the name';
var Str_AddFolder ='(ru)Add as folder';
var Str_AddnewList ='(ru)Add new list';
var Str_AddAsnewList = '(ru)Add as new list';
var Str_orSelectOne = '(ru)or select one';
var Str_DoYouWantToSearchFor ='(ru)Do you want to search for:';
var Str_inOurDictionary = '(ru)in our dictionary?';

}else{
var Str_CannotRemoveAllModes = 'You can not remove all the training modes for a card';
var Str_Translation="Translation";
var Str_ReadingTrad="Reading trad.";
var Str_ReadingSimpl="Reading simpl.";
var Str_Recognition="Recognition";
var Str_DictationSimpl="Dictation simpl." ;
var Str_DictationTrad="Dictation trad.";
var Str_ChangeFCparameters = 'Change parameters for flashcard';
var Str_removeCard = 'remove card of all of your lists';
var Str_setAsLearned ='set as learned';
var Str_tweetThisWord = 'tweet this word';
var Str_CardIsSleeping = 'Card is sleeping';
var Str_close = 'close';
var Str_examples_ = '<u>Examples</u> (Click on Chinese text to enlarge)';
var Str_addToFcards = 'Add to your flashcards';
var Str_learnAgain = 'Start learning again';
var Str_AddToAList = 'Add to a list';
var Str_CardRequiresPremiumSub = 'This card requires a premium subscription to be used as a flashcard';
var Str_ReportError = 'Report error';
var Str_WakeUp = 'Wake up';
var Str_AddOrModifyNote = 'Add or modify a note';
var Str_txtLearningNote = 'Add your own learning notes to this word. This may include hints to recognize this word, or to explain aspects which are not available in the general translation.';
var Str_YourNote = 'Your note';
var Str_NoteSent = 'Your note was sent to be saved on the server.';
var Str_YouCanAddToListOrFC = 'You can add this card to your own lists of flashcards';
var Str_IamLearning = "I'm learning: ";
var Str_Ilearned= "I learned: ";

var Str_ADD = 'ADD';
var Str_LEARNED = 'LEARNED';
var Str_IN ='IN';
var Str_deBloqueadas ='Word/phrase from your list of blocked words';
var Str_WdAlreadyIn ='The selected word / phrase is in your flashcards';
var Str_WdMemorized = 'You learned completely the selected word / phrase';
var Str_SelWrd ='The selected word / phrase';	
var Str_detailsOfCard ='Details of card'; // Detalles de la tarjeta
var Str_suggestRegister ='<b>Register for free</b> To study this word and to access hundreds of word-lists corresponding to lessons of many popular textbooks, all HSK levels or covering specific situations.'; 
var Str_notEnoughSpace ='- not enough space!';
var Str_addListOrFolder='Add a new empty list or folder';
var Str_addToNewList = 'Add content into a new list';
var Str_orSelectOne = 'or select one';
var Str_Warning = 'Warning';
var Str_SelectWords = 'Please select words';
var Str_AddingNewFc ='Adding a new flashcard';
var Str_AddingToNewList ='Adding to an new list';
var Str_SelectList = 'Select list';
var Str_Cancel ='Cancel';
var Str_CheckDeletMore = 'Do you want to delete the flashcards and remove the words from all of your word lists ?';
var Str_CheckDeletOne ='Do you want to delete the flashcard and remove the word from all of your word lists ?';
var Str_notSleeping ='not sleeping';
var Str_pleaseWait = 'please wait';
var Str_AddingFolderOrList ='Adding a new folder or list';
var Str_includeName = 'Please include the name';
var Str_AddFolder ='Add as folder';
var Str_AddnewList ='Add new list';
var Str_AddAsnewList = 'Add as new list';
var Str_orSelectOne = 'or select one';
var Str_DoYouWantToSearchFor ='Do you want to search for:';
var Str_inOurDictionary = 'in our dictionary?';
}
function pdir(){
   		var crntFile = location.pathname;
   		var truncPos=crntFile.indexOf("_user");
			crntFile = crntFile.substring(truncPos+6);
			truncPos = crntFile.indexOf(".");
			if(truncPos>0)
				crntFile = crntFile.substring(0,truncPos);
			if(crntFile=="index")
				crntFile="viewHome";	
		var myWindow=window.open('help.php?rAp='+jsrAp+'&file='+crntFile,"sdfsaf", "height=600,width=871,resizable=yes,top=100,left=100"); 
		myWindow.focus()  
	}

function searchForWords(onlyPinyin,lang){
	if($('#searchWord').val()=='')
		return;
	$('#sr_title').html('');
	$.getScript('../a_user/searchForWords.php?rAp='+jsrAp+'&targetId=searchresultWindow&startWith='+sr_startIndex+'&onlyPinyin='+onlyPinyin+'&searchWord='+encodeURI($('#searchWord').val())+'&tcLanguage='+tcLanguage);
	if (wordsIdLearned.length ==0 && wordsIdInCards.length ==0){
		 $.getScript('contentsGetList.php?rAp='+jsrAp+'&xreg=590');
	}
	insertIntoiFrame(sr_waitmessage());
}
function convertHtmlToUnicode(str){
	str+=' ';
	var charStr='';
	var tempString;
	var decDigit = { 0:1, 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1 };
	var i;
	for (i=0; i<(str.length-1); i++) { 		
		if (i<(str.length-3) && str.charAt(i) == '&' && str.charAt(i+1) == '#' && (str.charAt(i+2) in decDigit)) { 
			tempString = '';		
			i += 2;
			while (i<(str.length-1) && (str.charAt(i) in decDigit)) { 
				tempString += str.charAt(i); 
				i++;
				}
			if (str.charAt(i) == ';') { 
				charStr += '\\u'+ decTohex(tempString);
				}
			else { 
				charStr += '&#'+tempString; 
				i--;
			}
		} else { 
			charStr += str.charAt(i);
		}
	}
	return  charStr;
}

function decTohex(textString){
  var hexequiv = new Array ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
  return hexequiv[(textString >> 12) & 0xF] + hexequiv[(textString >> 8) & 0xF] + hexequiv[(textString >> 4) & 0xF] + hexequiv[textString & 0xF];
}

function addTips(str){
	var charStr='';
	for (i=0; i<str.length; i++) {
		if((str.charCodeAt(i)>= 0x3400 && str.charCodeAt(i)<= 0x4DBF) || (str.charCodeAt(i)>= 0x4E00 && str.charCodeAt(i)<= 0x9FAF) ) {
			charStr +='<span class="tcw">'
			charStr += str.charAt(i);
			charStr+='</span>';
		}else{
			charStr += str.charAt(i);	
		}
	}
	return  charStr;	
}

function addWordStat(wordId, learningStatus){
	var strImg = '<small><img title="'+Str_ADD+'" src="images/ico/add_c.gif"></small>';
	if(learningStatus == 30){ // blocked
		strImg = '<small><img title="'+Str_ADD+'" src="images/ico/add_no.gif"></small>';
	}if(learningStatus == 20 || $.inArray(wordId,wordsIdLearned)>-1){// completely learned
		strImg = '<small><img title="'+Str_LEARNED+'" src="images/ico/ok.gif"></small>';
	}else if(learningStatus>0 || $.inArray(wordId,wordsIdInCards)>-1){	// in flashcards
		strImg = '<small><img title="'+Str_IN+'" src="images/ico/ok3.gif"></small>';	
	}
	$('#add'+wordId).html(strImg)
}

var countWordInPage=0; // to separate odd from even rows

function sr_oneWord(wordId,learningStatus,chin1,chin2,pinyin,transl,audio,example){
	// to list words in table
	var uchin1 = convertHtmlToUnicode(chin1).replace(/\'/g,'\\\'');
	var uchin2 = convertHtmlToUnicode(chin2).replace(/\'/g,'\\\'');
	var upinyin=convertHtmlToUnicode(pinyin).replace(/\'/g,'\\\'');
	var utransl=convertHtmlToUnicode(transl).replace(/\'/g,'\\\'');
	var uexample=convertHtmlToUnicode(example).replace(/\'/g,'\\\'');
	var outStr='';
	var className = '';
	var type = 0;
	var statImg = '<small><img title="'+Str_ADD+'" src="images/ico/add.png"></small>'
	if(learningStatus == 30){
		type=1 // blocked
		statImg = '<small><img title="'+Str_ADD+'" src="images/ico/add.png"></small>'
	}if(learningStatus == 20 || $.inArray(wordId,wordsIdLearned)>-1){
		type=3 // completely learned
		statImg = '<small><img title="'+Str_LEARNED+'" src="images/ico/ok.gif"></small>'
	}else if(learningStatus>0 || $.inArray(wordId,wordsIdInCards)>-1){
		type=2	// in flashcards
		statImg = '<small><img title="'+Str_IN+'" src="images/ico/right.png"></small>'	
	}
	if (countWordInPage % 2 == 0)
        className = 'sr_odd';
    else
        className = 'sr_even'; 
    outStr = '';
	outStr += '<tr class="'+className+'" onclick="sr_showWord('+wordId+',\''+uchin1+'\',\''+uchin2+'\',\''+upinyin+'\',\''+utransl+'\',\''+audio+'\',\''+uexample+'\','+type+')" style="cursor:pointer" onmouseover="$(this).addClass(\'sr_highlight\');" onmouseout="$(this).removeClass(\'sr_highlight\');" >';
	outStr +='<td class="sr_td sr_chinese" style="align:center"> <span id="add'+wordId+'">'+statImg+'</span> '+chin1+'</td>';
	outStr +='<td class="sr_td sr_chinese" style="align:center">'+chin2+'</td>';
	outStr +='<td class="sr_td sr_pinyin" style="align:center"><b>'+pinyin+'</b></td>';
	outStr +='<td class="sr_td sr_translation" style="align:left"><b>'+transl+'</b></td>';
	outStr +='</tr>';
    countWordInPage++;
	return outStr;
}

function insertIntoiFrame(txt){
	$('#sr_window').show();
	$('#searchresultWindow').html(txt);
	$('#searchresultWindow').focus();
}
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 setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function sr_showWord(wordId,chin1,chin2,pinyin,transl,audio,examples,type){
	var blockedTxt = '';
	if (wordsIdLearned.length ==0 && wordsIdInCards.length ==0){
		 $.getScript('contentsGetList.php?rAp='+jsrAp+'&xreg=590');
	}
	$('.ajaxtooltip').remove();
	if(type==0 && $.inArray(wordId,wordsIdLearned)>-1)
		type = 3;
	else if(type==0 && $.inArray(wordId,wordsIdInCards)>-1)
		type = 2;

	if (type==1 )
			titleTxt =Str_deBloqueadas;
	else if(type==2 )
			titleTxt = Str_WdAlreadyIn
	else if(type==3 )
			titleTxt = Str_WdMemorized;
	else
			titleTxt = Str_SelWrd;
		
	var chinclass = readCookie('chinclass');
	if(chinclass=='undefined')
		chinclass = 'sr_chinese';
	var pinyinclass = readCookie('pinyinclass');
	if(pinyinclass=='undefined' )
		pinyinclass = 'sr_pinyin';
	chin2 = addTips(chin2);
	chin1 = addTips(chin1);
	if(chin1==chin2)
		chin2='';
	if(chin2!='' && chin1!='')
		chin2 = '('+chin2+')';
	var txt = '<div id="showCard"><h3>'+titleTxt+'</h3><table style="width:100%"><tr><td style="width:80%"><center><div class="'+chinclass+'" style="font-size:26px;margin-bottom:0;padding: 40px 0 10px;">'+chin1+'</div><div class="'+chinclass+'" style="font-size:26px;margin-top:5px;padding-top:0">'+chin2+'</div><div class="'+pinyinclass+'"  style="padding-top:5px;font-size:18px;">'+pinyin+'</div><div class="translation"  style="padding-top:5px;font-size:18px;">'+transl+'</div></center></td><td style="width:20%"><center><span id="play">&#160;</span></center></td></tr></table><div style="margin-top:7px;">';
	if(type==2)
		txt +='<div id="com'+wordId+'" style="width:420px;float:left; font-size:12px;font-weight:normal;background-color:#E1E1E1;padding:3px;line-height:120%;"></div>';
	 txt += '<div style="width:100px;float:right;"><div class="btns" onclick="closefeedback();">'+Str_close+'</div></div><div style="clear:both"></div> </div>';
	if(examples!='')
		txt +='<div style="text-align:left"><span style="font-weight:bold">'+Str_examples_ +'</span><br />'+examples+'</div>'
	txt +='</div><div style="padding-top:5px"></div><table style="width:100%;" border="0"><tr>'; 
	if(jsUserId>1){
		if(type<2 )
			txt +='<td><div class="btnb" onclick="sr_addToFlash('+wordId+','+type+');">'+Str_addToFcards+'</div></td>';
		else{
			txt += '<td><div class="btnb" onclick="sr_addToFlash('+wordId+',0);">'+Str_AddToAList+'</div></td>';
		}if(type==2 )
			txt += '<td><div class="btnb" onclick="sr_getCardDetails('+wordId+');">'+Str_detailsOfCard+'</div></td>';	
		if(type==3 )
			txt +='<td><div class="btnb" onclick="sr_learnAgain('+wordId+');">'+Str_learnAgain+'</div></td>';
		txt += '<td><div class="btnb" onclick="feedback(\''+jsrAp+'\',\'wordId='+wordId+'\')">'+Str_ReportError+'</div></td>';
	}else{
		txt +='<td colspan="3"><div style="background-color:#DD2F2F;color:white;padding:7px;">'+Str_suggestRegister+'</div></td>';	
	}
	txt +='</tr></table>';
	sr_responseBox(txt);
	$('#com'+wordId+'').load('../a_user/trainInterface.php?rAp='+jsrAp+'&wordId='+wordId+'&xreg=80');
	loadTooltips(0);
	if(audio!='' && typeof writeWimpyButton == 'function' )
		writeWimpyButton('word'+audio+'.mp3',40,40,'&autoplay=0', false,'play');
}
function getListsWithNumbers(wantToAdd,defName,hiddenField,hiddenValue){
	var str = sr_listSelection;
	if(typeof(defName)!='string')
		var defName='';
	for( id in sr_arrWL ){
		if(wantToAdd+sr_arrWL[id]>100)
			str = str.replace("(sr_WL"+id+")","("+sr_arrWL[id]+") <span style='color:red'>"+Str_notEnoughSpace+"</span>");
		else
       		str = str.replace("(sr_WL"+id+")","("+sr_arrWL[id]+")");
	}
	if(defName=='')
		str='<div><button onclick="showAddFolderOrList(\'\',\'\',0,\''+hiddenField+'\',\''+hiddenValue+'\');">'+Str_addListOrFolder+'</button> '+Str_orSelectOne+' </div>'+str;
	else
		str='<div style=\'padding:5px;\'><button onclick="showAddFolderOrList(\'\',\''+defName+'\',0,\''+hiddenField+'\',\''+hiddenValue+'\');">'+Str_addToNewList+'</button> '+Str_orSelectOne+' </div>'+str;
	return str;
}
function sr_learnAgain(wordId){
	sr_fromList = 0;
	if(typeof(wordId)=='string'){
		var arrWordId = wordId.split(',');
		var n = arrWordId.length;
	}else{
		var arrWordId = new Array(wordId);
		var n = 1;	
	}
	if(n==0||n==1 && arrWordId[0]=="" ){
		sr_responseBox('<h3>'+Str_Warning+'</h3>'+Str_SelectWords);
		return;
	}
	sr_wordId = wordId;
	sr_responseBox(sr_waitmessage());
	$.getScript('contentsGetList.php?rAp='+jsrAp+'&xreg=449&wId='+sr_wordId);
}
function sr_addToFlash(wordId,type){
	sr_fromList = 0;
	if(typeof(wordId)=='string'){
		var arrWordId = wordId.split(',');
		var n = arrWordId.length;
	}else{
		var arrWordId = new Array(wordId);
		var n = 1;	
	}
	if(n==0||n==1 && arrWordId[0]=="" ){
		sr_responseBox('<h3>'+Str_Warning+'</h3>'+Str_SelectWords);
		return;
	}
	sr_wordId = wordId;
	$('.ajaxtooltip').remove();
	// select the destination list
	if(type==3)
		var output = '<h3>Str_learnAgain</h3><div id="addCardBox"><br/> <div style="width:400px;padding-left:100px;"><div id="listSelection" style="height:370px;overflow:auto;" >';
	else if(type!=0)
		var output = '<h3>'+Str_AddingNewFc+'</h3><div id="addCardBox"><br/> <div style="width:400px;padding-left:100px;"><div id="listSelection"style="height:370px;overflow:auto;"  >';
	else
		var output = '<h3>'+Str_AddingToNewList+'</h3><div id="addCardBox"><br/> <div style="width:400px;padding-left:100px;">'+Str_SelectList+' <div id="listSelection"  style="height:370px;overflow:auto;" >';	
	if(sr_listSelection==''){
		output +=sr_waitmessage();
	}else{
		output += getListsWithNumbers(n);
	}	
	output += '</div>';
	output += '</div>'; //addCardBox
	output += '<br/><center><div class="btnb" onclick="closefeedback()">'+Str_Cancel+'</div></center>';
	output += '</div>';
	sr_responseBox(output);
	if(sr_folderSelection==''){
		$.getScript('contentsGetList.php?rAp='+jsrAp+'&xreg=395&numToAdd='+n);
	}
}
function sr_addToList(toListId){
	$.getScript('contentsGetList.php?xreg=2&rAp='+jsrAp+'&listNo='+toListId+'&wordId='+sr_wordId+'&fromListId='+sr_fromList);
	sr_fromList = 0;
	sr_responseBox(sr_waitmessage());
}

function showOtherWord(wordId){
	$('#feedbackCntArea').html(sr_waitmessage());
	send('contentsGetList.php?xreg=400&rAp='+jsrAp+'&wordId='+wordId+'&tcLanguage='+tcLanguage);
}

function sr_getCardDetails(wordId){
	$('.ajaxtooltip').remove();
	$('#feedbackCntArea').html(sr_waitmessage());
	$.getScript('contentsGetList.php?xreg=420&rAp='+jsrAp+'&wordId='+wordId+'&tcLanguage='+tcLanguage);
}

function sr_responseBox(text){
	$('.ajaxtooltip').remove();
	includetxtfeedback(text);
	showButtons();
}

var sr_in=0;
function sr_ini(){
	if(sr_in)
		return ;
	$("#searchWord").keypress(function (e) {
			if (e.keyCode == 13){
				searchForWords(0);
				return false;
			}
		});	
	sr_in = 1;
}


//Ajax Tooltip script: By JavaScript Kit: http://www.javascriptkit.com
//Last update (July 10th, 08'): Modified tooltip to follow mouse, added Ajax "loading" message.

var ajaxtooltip={
	fadeeffect: [true, 300], 
	useroffset: [10, 10], 
	loadingHTML: '<div style="font-style:italic">'+sr_waitmessage()+' </div>',

	positiontip:function($tooltip, e){
		var docwidth=(window.innerWidth)? window.innerWidth-15 : ajaxtooltip.iebody.clientWidth-15
		var docheight=(window.innerHeight)? window.innerHeight-18 : ajaxtooltip.iebody.clientHeight-15
		var twidth=$tooltip.get(0).offsetWidth
		var theight=$tooltip.get(0).offsetHeight
		var tipx=e.pageX+this.useroffset[0]
		var tipy=e.pageY+this.useroffset[1]
		tipx=(e.clientX+twidth>docwidth)? tipx-twidth-(2*this.useroffset[0]) : tipx //account for right edge
		tipy=(e.clientY+theight>docheight)? tipy-theight-(2*this.useroffset[0]) : tipy //account for bottom edge
		$tooltip.css({left: tipx, top: tipy})
	},

	showtip:function($tooltip, e){
		if ($tooltip!=undefined && this.fadeeffect[0])
			$tooltip.hide().fadeIn(this.fadeeffect[1])
		else if($tooltip!=undefined)
			$tooltip.show()
	},

	hidetip:function($tooltip, e){
		if ($tooltip!=undefined && this.fadeeffect[0])
			$tooltip.fadeOut(this.fadeeffect[1])
		else if($tooltip!=undefined)
			$tooltip.hide()
	}

}

function loadTooltips(append){ 
    ajaxtooltip.iebody=(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
    var tooltips=[] //array to contain references to all tooltip DIVs on the page
	if(append==0){
	    $('.ajaxtooltip').remove();
	}
    $('.tcw').each(function(index){
    	if(tcLanguage=='es')
    		this.titleurl='../chars/es/'+escape($(this).html()).substr(2)+'.html' 
   		else
			this.titleurl='../chars/en/'+escape($(this).html()).substr(2)+'.html' 
		this.titleposition=index+' pos' //remember this tooltip DIV's position relative to its peers
		tooltips.push($('<div class="ajaxtooltip"></div>').appendTo('body'))
		var $target=$(this)
		//$target.removeAttr('title')
		$target.hover(
			function(e){ //onMouseover element
				
				var $tooltip=tooltips[parseInt(this.titleposition)]
				if($tooltip==undefined)
					return;
				$('.ajaxtooltip').hide()
				if (!$tooltip.get(0).loadsuccess){ //first time fetching Ajax content for this tooltip?
					$tooltip.html(ajaxtooltip.loadingHTML).show()
					$tooltip.load(this.titleurl, '', function(){
						ajaxtooltip.positiontip($tooltip, e)
						ajaxtooltip.showtip($tooltip, e)
						$tooltip.get(0).loadsuccess=true
					})

				}
				else{
					ajaxtooltip.positiontip($tooltip, e)
					ajaxtooltip.showtip($tooltip, e)
				}
			},
			function(e){ //onMouseout element
				var $tooltip=tooltips[parseInt(this.titleposition)]
				ajaxtooltip.hidetip($tooltip, e)		
			}
		)
		$target.bind("mousemove", function(e){
			var $tooltip=tooltips[parseInt(this.titleposition)]
			if($tooltip==undefined)
					return;
			ajaxtooltip.positiontip($tooltip, e)
		})
	})
}
function tcNewLanguage(targetLanguage){
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + 100);
	var c_value=escape(targetLanguage) + "; expires="+exdate.toUTCString();
	document.cookie="tcLanguage=" + c_value;
	window.location.reload(true);
}


function onOffMode(mode,trainId,rAp){
	var destCol ='#5C5C5C';
	if((trainModeFC[trainId]&mode)==mode){ // want to remove the mode:
		if(trainModeFC[trainId]-mode == 0){
			alert(Str_CannotRemoveAllModes);
			return;
		}
		trainModeFC[trainId] = trainModeFC[trainId]-mode;	
		destCol ='#CCCCCC';
	}
	else{	// want to add the mode	
		trainModeFC[trainId] = trainModeFC[trainId]+mode;
	}
	var u = "trainInterface.php?rAp="+rAp+"&xreg=10&tId="+trainId+"&cTm="+trainModeFC[trainId];
	sendAjaxQuery(u,1);
	$("#m"+mode).html(getOnOffGraph(mode,trainId,rAp));
	$("#t"+trainId+" .s"+getTrainingModeText(mode)).css("color",destCol);
}

function getOnOffGraph(mode,trainId,rAp){
	var s = "<table><tr><td width=100>"+getTrainingModeGraphic(mode)+"</td><td><div style='width:76px;height:20px;cursor:pointer; ' onclick='onOffMode("+mode+","+trainId+","+rAp+")'><div style='float:left; width:38px;'>";
	if((trainModeFC[trainId]&mode)==mode){
		s += "<img src='images/btn/sbtn_on.gif' /></div>";
		s += "<div style='float:right; width:38px'><img src='images/btn/sbtn_rightbg.gif' />";
	}else{
		s += "<img src='images/btn/sbtn_leftbg.gif' /></div>";
		s += "<div style='float:right; width:38px'><img src='images/btn/sbtn_off.gif' />";
	}
	s += "</div></div></td></tr></table>";
	return s;
}
function getTrainingModeText(mode){
	if(mode==1) return('Translation');
	if(mode==2) return('TradReading');
	if(mode==4) return('Reading');	
	if(mode==8) return('Listening');	
	if(mode==16) return('Dictation');
	if(mode==32) return('TradDictation');
}
function getTrainingModeGraphic(mode){
	if(tcLanguage=="en"){
	if(mode==1) return('<image src="images/label/translation_c.gif" alt="'+Str_Translation+'" />');
	if(mode==2) return('<image src="images/label/reading_t_c.gif" alt="'+Str_ReadingTrad+'" />');
	if(mode==4) return('<image src="images/label/reading_s_c.gif" alt="'+Str_ReadingSimpl+'" />');	
	if(mode==8) return('<image src="images/label/recognition_c.gif" alt="'+Str_Recognition+'" />');	
	if(mode==16) return('<image src="images/label/dictation_s_c.gif" alt="'+Str_DictationSimpl+'" />');
	if(mode==32) return('<image src="images/label/dictation_t_c.gif" alt="'+Str_DictationTrad+'" />');	
	}else{
	if(mode==1) return('<span style="font-size:12px;color:#0E4A60">'+Str_Translation+'</span>');
	if(mode==2) return('<span style="font-size:12px;color:#0E4A60">'+Str_ReadingTrad+'</span>');
	if(mode==4) return('<span style="font-size:12px;color:#0E4A60">'+Str_ReadingSimpl+'</span>');	
	if(mode==8) return('<span style="font-size:12px;color:#0E4A60">'+Str_Recognition+'</span>');	
	if(mode==16) return('<span style="font-size:12px;color:#0E4A60">'+Str_DictationSimpl+'</span>');
	if(mode==32) return('<span style="font-size:12px;color:#0E4A60">'+Str_DictationTrad+'</span>');		
	}
}

function removeFC(wId,rAp){
	if(wId==""|| wId==0){
		sr_responseBox('<h3>'+Str_Warning+'</h3>'+Str_SelectWords);
		return;
	}
	if(typeof(wId)=='string')
		var arrWordId = wId.split(',');
	else
		var arrWordId = new Array(wId);
	var n = arrWordId.length;	
	var r=confirm((n>1)?Str_CheckDeletMore:Str_CheckDeletOne);
	if (r!=true){
		return;
	}
	sr_responseBox('<h3></h3>'+sr_waitmessage());
	$.getScript("contentsGetList.php?rAp="+rAp+"&xreg=440&wId="+wId);
}

function setLearnedFC(wId,rAp){
	if(wId==""|| wId==0){
		sr_responseBox('<h3>'+Str_Warning+'</h3>'+Str_SelectWords);
		exit();
	}
	sr_responseBox('<h3></h3>'+sr_waitmessage());
	$.getScript("contentsGetList.php?rAp="+rAp+"&xreg=445&wId="+wId);
}
var trainModeFC=Array();

function showCompleteFlashCard(trainId,rAp,chin,pinyin,transl,wordId,trainMode,res0,res1,res2,res3,res4,res5,sleepingStat){
	$('.ajaxtooltip').remove();
	var arrR=Array(res0,res1,res2,res3,res4,res5);
	if(trainModeFC[trainId]==undefined)
		trainModeFC[trainId]=trainMode;
	var chinclass = $.cookie('chinclass');
	if(chinclass==null)
	chinclass = 'chinese';
	var pinyinclass = $.cookie('pinyinclass');
	if(pinyinclass==null)
	pinyinclass = 'pinyin';
	var chinFontsize = getFontsize(chinclass,26);
	var pinyinFontsize = getFontsize(chinclass,18);
	var txt = '<h3>'+Str_ChangeFCparameters+'</h3><br/><div><div style="width:350px;float:left;" ><div style="padding:20px 10px 10px 10px;border: solid #ccc 1px;"><center><div class="'+chinclass+'" style="font-size:'+chinFontsize+'px;">'+chin+'</div><div class="'+pinyinclass+'"  style="padding-top:5px;font-size:'+pinyinFontsize+'px;">'+pinyin+'</div><div class="translation"  style="padding-top:5px;font-size:18px;">'+transl+'</div><br /></center></div><br /><center> <a class="blue" href="javascript:removeFC('+wordId+','+rAp+')">'+((tcLanguage=='en')?'<img src="images/btn/removefromflc.gif" alt="'+Str_removeCard+'">':'<span class="rdCornerBox">'+Str_removeCard+'</span>')+'</a> &#160;&#160;&#160;&#160; <a class="blue" href="javascript:setLearnedFC('+wordId+','+rAp+')">'+((tcLanguage=='en')?'<img src="images/btn/consider.gif" alt="'+Str_setAsLearned+'">':'<span class="rdCornerBox">'+Str_setAsLearned)+'</span></a><div style="height:8px;"></div><div class="twBtn" onclick="tw(\''+chin+' '+ pinyin+' '+transl+'\',0)" title="'+Str_tweetThisWord+'"></div></center></div><div style="width:200px;float:right;padding-right:30px;">';
	var arModes = Array(4,2,8,1,16,32);
	for(i=0;i<6;i++){
		if(arrR[i]!='')
	txt +='<div style="padding-top:10px;line-height:120%;font-size:9px;"><div id="m'+arModes[i]+'">'+getOnOffGraph(arModes[i],trainId,rAp)+'</div>'+arrR[i]+'</div>';	
	}
	txt +='<div id="com'+trainId+'" class="note"></div>';	
	txt +='<div style="margin:10px;"></div>';
	if(sleepingStat>0){
		txt +='<div style="float:left;width:110px">'+Str_CardIsSleeping+'</div> <div style="float:left;width:90px"><a class=\'blue\' href=\'javascript:wakeupCard('+wordId+','+rAp+')\'>'+((tcLanguage=='en')?'<img src="images/btn/wakeup.gif" alt="'+Str_WakeUp+'" />':Str_WakeUp)+'</a></div><div style="clear:both;"></div><div style="margin:10px;"></div>';
	}
	txt +='<div style="width:83px;float:right;"><a  href=\'javascript:closefeedback()\'>'+((tcLanguage=='en')?'<img src="images/btn/close.gif" alt="'+Str_close+'" />':'<span class="rdCornerBox">'+Str_close+'</span>')+'</a></div></div>  </div><div style="clear:both"></div>';	
	sr_responseBox(txt);
	$('#com'+trainId+'').load('../a_user/contentsGetList.php?rAp='+rAp+'&wordId='+wordId+'&xreg=80&tcLanguage='+tcLanguage);
	updateFont(chinclass+','+pinyinclass,26);
}


function addComment(rAp,wordId,com){
	var text='<h3>'+Str_AddOrModifyNote+'</h3><p>'+Str_txtLearningNote+'</p><form id="add_comment" accept-charset="ISO-8859-1">';
	text += Str_YourNote+':<br/><textarea style="width:580px" name="comment">'+com+'</textarea>';
	   text +='<div style="margin-top:4px;text-align:center"><input type="button" onclick="javascript:setComment('+rAp+','+wordId+')" value="submit" /></div></form>';
	sr_responseBox(text);
}
function setComment(rAp,wordId){
	var comment = $('#add_comment textarea[name=comment]').val();
	// send via ajax 
	sendAjaxQuery("trainInterface.php?wordId="+ wordId+'&rAp='+rAp+'&xreg=70&comment='+escape(comment),1);
	var text='<h3>'+Str_AddOrModifyNote+'</h3><div>'+Str_NoteSent+'</div><input type="button" onclick="javascript:closefeedback()" value="'+Str_close+'" />';
	sr_responseBox(text);	
}	

function wakeupCard(wordId,rAp){
	closefeedback();
	$('#su'+wordId ).html(Str_notSleeping);
	sendAjaxQuery('contentsGetList.php?rAp='+jsrAp+'&xreg=447&wId='+wordId,0);
}

function sr_waitmessage(){
	return '<img src="images/ajax-loader.gif" alt="'+'... '+Str_pleaseWait+' ...'+'" style="padding-left: 30px; padding-top: 10px" border="0" />';
}


function tw(t,l){
	// share card/word on twitter
	var d ='';
	if(l==0)
		d = Str_IamLearning;
	else if(l==1)
		d = Str_Ilearned;
	var lk= 'http://twitter.com/share?count=none&text='+encodeURI(d+t)+'&url=http%3A%2F%2Fwww.trainchinese.com&via=trainchinese';
	var w=window.open (lk,"twwindow","width=600,height=350,directories=no"); 
	w.focus();
}

function showAddFolderOrList(msg,defName,isList,hiddenField,hiddenValue){
	// copyList
	if(typeof(msg)!='string')
		var msg='';
	if(typeof(defName)!='string')
		var defName='';	
	var output = '<h3>'+Str_AddingFolderOrList+'</h3><div id="addListBox"><br/><br/>'+msg+'<form id="addFolderOrList" action="#"><b>'+Str_includeName+'</b> <input id="newname" name="newname" type="text" size="25" value="'+defName+'"/><div style="width:400px;padding-left:80px;"><div id="folderSelection" style=" margin-left:50px;max-height: 350px;overflow: auto;" >';
	if(sr_folderSelection==''){
		output +=sr_waitmessage();
	}else{
		output +=sr_folderSelection;
	}	
	output += '</div>';
	output += '<input type="hidden" name="'+hiddenField+'" value="'+hiddenValue+'" />';
	output += '</form>';
	output += '<table><tr>'
	
	if(isList!=1 && hiddenField!='copyList')
		output += '<td><div class="btnb"  onclick=" $.getScript(\'contentsGetList.php?xreg=13&isFolder=1&rAp='+jsrAp+'&\'+$(\'#addFolderOrList\').serialize()); $(\'#addListBox\').html(sr_waitmessage()); ">'+Str_AddFolder+'</div></td>';	
	output += '<td><div class="btnb" onclick=" $.getScript(\'contentsGetList.php?xreg=13&isFolder=0&rAp='+jsrAp+'&\'+$(\'#addFolderOrList\').serialize()); $(\'#addListBox\').html(sr_waitmessage()); ">'+((hiddenField=='copyList')?Str_AddnewList:Str_AddAsnewList)+'</div></td></tr></table>';
	output += '</div>';
	output += '<br/><center><div class="btnb" onclick="closefeedback()">'+Str_Cancel+'</div></center>';
	output += '</div>';
	sr_responseBox(output);
	if(sr_folderSelection==''){
		$.getScript('contentsGetList.php?rAp='+jsrAp+'&xreg=390');
	}
}
// thank you Mark Kolich!
if(!window.SrchTxt){
  SrchTxt = {};
}
SrchTxt.Selector = {};
SrchTxt.Selector.getSelected = function(){
  var t = '';
  if(window.getSelection){
    t = window.getSelection();
  }else if(document.getSelection){
    t = document.getSelection();
  }else if(document.selection){
    t = document.selection.createRange().text;
  }
  return t;
}
var selSrchTxt='';
SrchTxt.Selector.mouseup = function(){
  var st = SrchTxt.Selector.getSelected();
  if(st!=''){
  	if(selSrchTxt==st)
  		return;
    selSrchTxt= st+'';
  	if(confirm(Str_DoYouWantToSearchFor+"\n\n"+st+"\n\n"+Str_inOurDictionary)){		 
  		$('#searchWord').val(st);
  		$('#searchWord').css("color","#333333");
  		if (window.getSelection) {  // all browsers, except IE before version 9                               
    		st.removeAllRanges ();
    	}else if (document.selection.createRange) {        // Internet Explorer
     		document.selection.empty ();
  		}
  		closefeedback();
  		window.scrollTo(0,0);
  		$('#srchEnglishBtn').click();
  	}
  }
}

