var IE = document.all?true:false

var tempX = 0
var tempY = 0
var target = 0;

function tewiki(e) {
if (navigator.appName!='Microsoft Internet Explorer') {
	var t = window.getSelection().toString();
	if(t.length>0) openWiki(t);
	}
else {
	var t = document.selection.createRange();
	if(document.selection.type == 'Text' && t.text>'') {
		document.selection.empty();
		if(t.text.length>0) openWiki(t.text);}
   }
   
function openWiki(t) {
while (t.substr(t.length-1,1)==' ') 
	t=t.substr(0,t.length-1)
while (t.substr(0,1)==' ') 
	t=t.substr(1)
doCheck(t);
}  

function doCheck(t){
if (!e) e = window.event;
 if (IE) { 
    tempX = e.clientX + document.body.scrollLeft+document.documentElement.scrollLeft;
    tempY = e.clientY + document.body.scrollTop+document.documentElement.scrollTop;
  } else {  
    tempX = e.pageX
    tempY = e.pageY
  }  
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  

	var popUp;
	if(document.getElementById('popUp'))  {
			popUp = document.getElementById('popUp');
			if ( popUp.hasChildNodes() )
			{
				while ( popUp.childNodes.length >= 1 )
				{
					 popUp.removeChild( popUp.firstChild );       
				} 
			}
			target = 0;
	}
	else popUp = document.createElement('div');
	popUp.id = "popUp";
	popUp.style.background="#ffffff";
	popUp.style.position="absolute";

	document.body.appendChild(popUp);
	document.getElementById('popUp').style.visibility="hidden";
	document.getElementById('popUp').style.display="none";	
	var width = (window.innerWidth) ? window.innerWidth : document.body.clientWidth;
	var height = (window.innerHeight) ? window.innerHeight : document.body.clientHeight;
	var centerX = (width/2)-200;
	var centerY = (height/2)-100;
	
	document.getElementById('popUp').style.display="block";	
	document.getElementById('popUp').style.visibility="visible";
	document.getElementById('popUp').style.padding="2px";
	document.getElementById('popUp').style.border="2px ridge #dfdfdf";
	document.getElementById('popUp').style.top=tempY+'px';
	document.getElementById('popUp').style.left=tempX+'px';

	var bodyDiv = document.createElement('div');
	bodyDiv.style.padding="5px";

	var closeImage = document.createElement('img');
	closeImage.src = "http://harivillu.org/plugins/close-button.png";
	closeImage.style.border = "0px";

	var eteluguLink = document.createElement('a');
	var closeLink = document.createElement('a');

	var sriTextDiv = document.createElement('div');
	sriTextDiv.style.cssText="float:left;font-size:13px;font-weight:bold;padding-right:5px";
	
	var sriText =  document.createTextNode('శ్రీ శోధన ప్లగ్‌ఇన్');
	
	var eteluguText =  document.createTextNode(' (e-తెలుగు సౌజన్యంతో) ');
	
	var closeLinkDiv = document.createElement('div');
	closeLinkDiv.style.cssText= "padding:0px;background-color:#efefef;text-align:right;";

	eteluguLink.setAttribute('href', 'http://etelugu.org');
	closeLink.setAttribute('href', '#close');

	var tform = document.createElement('div');
	tform.style.cssText = "clear:both";
	tform.name = 'tform';

	closeLink.onclick = function(){return closePopUp();};

	eteluguLink.appendChild(eteluguText);
	closeLink.appendChild(closeImage);
	
	sriTextDiv.appendChild(sriText);
	sriTextDiv.appendChild(eteluguLink);
	closeLinkDiv.appendChild(sriTextDiv);
	closeLinkDiv.appendChild(closeLink); 

	var brk = document.createElement('br');

	var option1 = createOption('tewiki','తెవికీ',0, true);
	var option2 = createOption('wiktionary','విక్షనరీ',1);
	var option3 = createOption('google','గూగులమ్మ',2);
	var option4 = createOption('brown','బ్రౌన్',3);
	
	tform.appendChild(option1);
	tform.appendChild(option2);
	tform.appendChild(option3);
	tform.appendChild(option4);
	
	document.getElementById('popUp').appendChild(closeLinkDiv); 
	bodyDiv.appendChild(tform); 

	var selLink1 = createLink('#open',t,t.length,true);
	var selLink2 = createLink('#open',t,t.length-1,true);
	var selLink3 = createLink('#open',t,t.length-2,true);
	var selLink4 = createLink('#open',t,t.length-3);

	if(t.length>0) bodyDiv.appendChild(selLink1); 
	if(t.length-1>0) bodyDiv.appendChild(selLink2); 
	if(t.length-2>0) bodyDiv.appendChild(selLink3); 
	if(t.length-3>0) bodyDiv.appendChild(selLink4); 

	document.getElementById('popUp').appendChild(bodyDiv); 
}
}

document.ondblclick= function(event){tewiki(event);}
document.onkeypress= function(event){closePopUpwhenEscPressed(event);}

function openWindow(t){
var elinks= new Array()
elinks[0] = 'http://te.wikipedia.org/wiki/';
elinks[1] = 'http://te.wiktionary.org/wiki/';
elinks[2]  = 'http://www.google.co.in/search?q=';
elinks[3] =  'http://dsal.uchicago.edu/cgi-bin/romadict.pl?display=utf8&table=brown&query=';

var target_url= elinks[target];
 window.open(target_url+encodeURIComponent(t), 'tewiki', 'width=700,height=500,resizable=1,menubar=1,scrollbars=1,status=1,titlebar=1,toolbar=1,location=1,personalbar=1');
}

function set_target(tar)
{
target = tar;
}

function closePopUp(){
	document.getElementById('popUp').style.visibility="hidden";
	document.getElementById('popUp').style.display="none";	
}

function createOption(id,text,target_no,check){
	var optionText =  document.createTextNode(text);
	var optionLabel = document.createElement('label');
	var checkedText = '';
	if(check==true) var checkedText = 'checked';
	try{
		option = document.createElement('<input type="radio" value="'+target_no+'" onClick="set_target('+target_no+')" name="target" '+checkedText+'/>');
	}
	catch(err){
	option = document.createElement('input');
	option.type = 'radio';
	option.id = id;
	option.name = 'target';
	if(check==true){
		option.defaultChecked = true;
		option.checked = true; 
	}
	option.onclick=function(){ return set_target(target_no);}
	}
	optionLabel.appendChild(option);
	optionLabel.style.cssText="padding-right:8px";
	optionLabel.appendChild(optionText);
	return optionLabel;
}

function createLink(href_text, text, length, seperator){
	var sepText = '';
	if(seperator==true&&text.length-length<text.length-1){
		sepText = ' | ';
	}
	var newLink = document.createElement('a');
	newLink.href=href_text;
	newLink.style.textDecoration="none";
	newLink.onclick = function(){return openWindow(text.substr(0,length));};
	var linkText = document.createTextNode(text.substr(0,length)+sepText);
	newLink.appendChild(linkText);
	return newLink;
}

function closePopUpwhenEscPressed(e){
	var kC  = (window.event) ? event.keyCode : e.keyCode;
	var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE;
	if(kC==Esc){
		closePopUp();
	}	  
}