//set css class to an element, used in displaying results
function setClass(obj, className)
{
	obj.className = className;
}

// bookmark site to webbrowser, used in searchPageFlat
function bookmarkSite(title, url){
if (document.all)
	window.external.AddFavorite(url, title);
else if (window.sidebar)
	window.sidebar.addPanel(title, url, "");
}

// add url to favorites in webbrowser, used in searchPageFlat
function addToFavorites(url, title, msg) {
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4))
	{
		window.external.addFavorite(url,title)
	}
	else
	{
		if(navigator.appName == "Opera")
			msg += " (CTRL+T)";
		else if(navigator.appName == "Netscape")
			msg += " (CTRL+D)";
		alert(msg);
	}
}

// set focus on search inputText item, used in searchTool
function setFocus(){
	if (document.searchParam != null)
		document.searchParam.word.select();
}

// submit simple search formular, used in searchTool
function submitForm(){
	document.searchParam.submit();
}

// submit brackets search formular, used in searchTool   TODO wyrzucic stary sposob do historii
function submitFormWordsPREV(){
	document.searchParamWords.words.value = document.searchParam.word.value;
	document.searchParamWords.lang.value = document.searchParam.lang.value;
	document.searchParamWords.submit();
}
function submitFormWords(){
	document.searchParam.words.value = document.searchParam.word.value;
	document.searchParam.word.value = '';
	document.searchParam.submit();
}
/*
function redirect(id, window){
	url = redirectionList(id);
	if (url != '') {
		if (window == 'new')
			open(url);
		else
			document.location.href = url;
	}	
}
*/
function redirectDict(action, lng){
	url = 'dict?add_action=' + action + '&lang=' + lng;
	if (url != '')
		document.location.href = url;
}

function redirectDictPda(action, lng){
	url = 'dictpda?add_action=' + action + '&lang=' + lng;
	if (url != '')
		document.location.href = url;
}
/*
function redirectionList(id){
	var redsTable = new Array();
	
	redsTable['dict'] = new Array();
	redsTable['dict'][1] = 'http://www.';
	redsTable['dict'][2] = 'dict';
	redsTable['dict'][3] = '.pl';
	redsTable['dep'] = new Array();
	redsTable['dep'][1] = 'http://www.';
	redsTable['dep'][2] = 'dep';
	redsTable['dep'][3] = '.pl';
	redsTable['frap'] = new Array();
	redsTable['frap'][1] = 'http://www.';
	redsTable['frap'][2] = 'frap';
	redsTable['frap'][3] = '.pl';
	
	redsTable['pdadict'] = new Array();
	redsTable['pdadict'][1] = 'http://';
	redsTable['pdadict'][2] = 'pda.dict';
	redsTable['pdadict'][3] = '.pl';
	redsTable['pdadep'] = new Array();
	redsTable['pdadep'][1] = 'http://';
	redsTable['pdadep'][2] = 'pda.dep';
	redsTable['pdadep'][3] = '.pl';
	redsTable['pdafrap'] = new Array();
	redsTable['pdafrap'][1] = 'http://';
	redsTable['pdafrap'][2] = 'pda.frap';
	redsTable['pdafrap'][3] = '.pl';
	
	redsTable['forumdict'] = new Array();
	redsTable['forumdict'][1] = 'http://';
	redsTable['forumdict'][2] = 'forum.dict';
	redsTable['forumdict'][3] = '.pl';
	redsTable['forumdep'] = new Array();
	redsTable['forumdep'][1] = 'http://';
	redsTable['forumdep'][2] = 'forum.dep';
	redsTable['forumdep'][3] = '.pl';
	redsTable['forumfrap'] = new Array();
	redsTable['forumfrap'][1] = 'http://';
	redsTable['forumfrap'][2] = 'forum.frap';
	redsTable['forumfrap'][3] = '.pl';
	
	redsTable['leks'] = new Array();
	redsTable['leks'][1] = 'http://www.';
	redsTable['leks'][2] = 'leksyka';
	redsTable['leks'][3] = '.pl';
	redsTable['lng'] = new Array();
	redsTable['lng'][1] = 'http://www.';
	redsTable['lng'][2] = 'ling';
	redsTable['lng'][3] = '.pl';
	
	if (id != '') {
		url = redsTable[id][1] + redsTable[id][2] + redsTable[id][3];
		return url;
		}
	else
		return '';
}
*/
// TODO czy w ogole uzywana?
function chooseButton(){
	document.searchParam.submit();
}

function changeLang(lang){
	document.searchParam.lang.value = lang;
	document.searchParam.submit();
}


function setLetter(text){
	var txtarea = document.searchParam.word;
	if (txtarea.createTextRange && txtarea.caretPos) {
		var caretPos = txtarea.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		txtarea.focus();
	}
	else{
		txtarea.value += text;
		txtarea.focus();
	}
}

function active(text) {
	if (text.createTextRange) 
		text.caretPos = document.selection.createRange().duplicate();
}

/**
*	check email if not incorrect
*/
function emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "||" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)

	if (matchArray==null) {
		alert(emailStr + " - email address seems incorrect (check @ and .&apos;s).")
		return false
	}

	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
		alert(emailStr + " - the username doesn&apos;t seem to be valid.")
		return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert(emailStr + " - destination IP address is invalid!")
				return false
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert(emailStr + " - the domain name doesn&apos;t seem to be valid.")
		return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		alert(emailStr + " - the address must end in a three-letter domain, or two letter country.")
		return false
	}
        
	if (len<2) {
		var errStr = emailStr + " - this address is missing a hostname!"
		alert(errStr)
		return false
	}

	return true;
}

function sendRecomendation(){
	if (emailCheck(document.recommendationForm.toMail.value)){
		if (emailCheck(document.recommendationForm.fromMail.value))
			document.recommendationForm.submit();		
	}
}

// zastapiona przez setClass   TODO do historii
function setPointer(theRow, thePointerColor, theNormalBgColor)
{
	var theCells = null;
	if (thePointerColor == '' || typeof(theRow.style) == 'undefined')
	{
		return false;
	}
	
	if (typeof(document.getElementsByTagName) != 'undefined')
	{
		theCells = theRow.getElementsByTagName('td');
	}
	else 
		if (typeof(theRow.cells) != 'undefined')
		{
			theCells = theRow.cells;
		}
		else
		{
			return false;
		}
	var rowCellsCnt  = theCells.length;
	var currentColor = null;
	var newColor     = null;
	if (typeof(window.opera) == 'undefined' &&
		typeof(theCells[0].getAttribute) != 'undefined' &&
		typeof(theCells[0].getAttribute) != 'undefined')
	{
		currentColor = theCells[0].getAttribute('bgcolor');
		newColor = (currentColor.toLowerCase() == thePointerColor.toLowerCase())? theNormalBgColor: thePointerColor;
		for (var c = 0; c < rowCellsCnt; c++)
		{
			theCells[c].setAttribute('bgcolor', newColor, 0);
		}
		// end for}else {currentColor = theCells[0].style.backgroundColor;newColor = (currentColor.toLowerCase() == thePointerColor.toLowerCase())? theNormalBgColor: thePointerColor;for (var c = 0; c < rowCellsCnt; c++) {theCells[c].style.backgroundColor = newColor;}
	}
return true;
}

function openPopup(a){window.open('popup.jsp', 'popup', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=no,width=350,height=255');}

/**
 * Create email adress and write anchor tag to source. 
 */ 
function insertEmailLink(name, domain){
	document.write('<a href=\"mailto:'+ name + '@' + domain + '\"><u>' + name + '@' + domain +'</u></a>');
}
/**
 * Create email adress and add anchor tag to DOM.
 */ 
function insertMailTo(parentId, name, domain){
	var email = name + '@' + domain;
	var tagA = document.createElement("a");
	tagA.setAttribute('href', ('mailto:' + email));
	var tagU = document.createElement('u');
	tagU.appendChild(document.createTextNode(email));
	tagA.appendChild(tagU);
	document.getElementById(parentId).appendChild(tagA);
	}

function insertMailToWithLabel(parentId, name, domain, label){
	var email = name + '@' + domain;
	var tagA = document.createElement("a");
	tagA.setAttribute('href', ('mailto:' + email));
	var tagU = document.createElement('u');
	tagU.appendChild(document.createTextNode(label));
	tagA.appendChild(tagU);
	document.getElementById(parentId).appendChild(tagA);
	}
	

