﻿/*
** Linker 
** written by Arunas Janeliunas, Verslo Zinios (Lithuania)
*/

linker = function(){}

linker.popUp;

linker.urlKarjera  	   = 'http://manokarjera.cv.lt/career.aspx?search=1&searchtext=';
linker.urlManoKarjera  = 'http://manokarjera.cv.lt/Default4.aspx?searchText=';
linker.urlArchyvasPers = 'http://archyvas.vz.lt/index.php?ss=1&sa=1&sn=1&sp=1&st=3&s=';
linker.urlArchyvasComp = 'http://archyvas.vz.lt/index.php?ss=1&sa=1&sn=1&sp=1&st=2&s=';
linker.urlFoto         = 'http://foto.vz.lt/index.php?mid=354&s=';

linker.go = function()
{
	var htmlStringPers = "";
	var htmlStringComp = "";
	var htmlString     = "";
	
	if ( $('MKcenterBlock') ) {
		
		// Find Persons TagCloud
		htmlStringPers = linker.findPersonsTagCloud();
		
		// Find Companies TagCloud
		htmlStringComp = linker.findCompaniesTagCloud();
		
		// If any found
		if ( htmlStringComp != "" || htmlStringPers != "" ) {
			htmlString += '<div id="pop_up_more" style="display: none;">';
			htmlString += '  <a href="#" id="linker_karjera" title="Žiūrėti karjeros pasikeitimus" target="_blank">Žiūrėti karjeros pasikeitimus</a>';
			htmlString += '  <a href="#" id="linker_manokarjera" title="Ieškoti manokarjera.cv.lt" target="_blank">Ieškoti manokarjera.cv.lt</a>';
			htmlString += '  <a href="#" id="linker_archyvas" title="Ieškoti VŽ archyve" target="_blank">Ieškoti VŽ archyve</a>';
			htmlString += '  <a href="#" id="linker_foto" title="Ieškoti fotoarchyve" target="_blank">Ieškoti fotoarchyve</a>';
			htmlString += '</div>';

			// Write pop-up DIV
			$('MKcenterBlock').innerHTML = htmlString + $('MKcenterBlock').innerHTML;

			// Replace Persons TagCloud by TagCloud DIV
			var regexp = eval("/\{TAGPERS[^}]*\}/gi");
			$('MKcenterBlock').innerHTML = $('MKcenterBlock').innerHTML.replace( regexp, htmlStringPers );

			// Replace Companies TagCloud by TagCloud DIV
			var regexp = eval("/\{TAGCOMP[^}]*\}/gi");
			$('MKcenterBlock').innerHTML = $('MKcenterBlock').innerHTML.replace( regexp, htmlStringComp );

			// Register Click Event Handler
		    linker.popUp = document.getElementById('pop_up_more');
			document.onclick = linker.register;
		}
	}
}

linker.findPersonsTagCloud = function() {
	var htmlString     = "";

	// Find TagCloud
	var regexp = eval("/\{TAGPERS/gi")
	var startPos = $('MKcenterBlock').innerHTML.search (regexp) + 8;
		
	// TagCloud not found
	if(startPos == -1) {
		return "";
	}
		
	// Find tagCloud end
	var endPos = $('MKcenterBlock').innerHTML.indexOf ('}', startPos); 

	// TagCloud end not found
	if(endPos == -1) {
		return "";
	}
		
	// Find all tags
	var tagList = $('MKcenterBlock').innerHTML.substring(startPos, endPos).replace(/^\s+|\s+$/g,"");
	var tags = tagList.split('|');

	// Tags not found
	if(tags.length < 1) {
		return "";
	}
		
	// Collect TagCloud DIV
	htmlString += '<div class="footnoteview" style="margin-left:16px;width:445px;display:block;">';
	htmlString += '  <div class="t1x">Žiūrėkite daugiau apie minimus asmenis:</div>';
	htmlString += '  <div class="t10_r" style="line-height:13px;text-decoration:none;">';
	for ( var idx=0; idx<tags.length; idx++ ) {
		htmlString += '<a class="pop_up_link" href="#" onClick="linker.relatedInfo(this, \'PERS\', \'' + tags[idx] + '\');return false;">' + tags[idx] + '</a>';
		if (idx!=tags.length-1) htmlString += ", ";
	}
	htmlString += '  </div>';
	htmlString += '</div>';
	
	return htmlString;
}

linker.findCompaniesTagCloud = function() {
	var htmlString     = "";

	// Find TagCloud
	var regexp = eval("/\{TAGCOMP/gi")
	var startPos = $('MKcenterBlock').innerHTML.search (regexp) + 8;
		
	// TagCloud not found
	if(startPos == -1) {
		return "";
	}
		
	// Find tagCloud end
	var endPos = $('MKcenterBlock').innerHTML.indexOf ('}', startPos); 

	// TagCloud end not found
	if(endPos == -1) {
		return "";
	}
		
	// Find all tags
	var tagList = $('MKcenterBlock').innerHTML.substring(startPos, endPos).replace(/^\s+|\s+$/g,"");
	var tags = tagList.split('|');

	// Tags not found
	if(tags.length < 1) {
		return "";
	}
		
	// Collect TagCloud DIV
	htmlString += '<div class="footnoteview" style="margin-left:16px;width:445px;display:block;">';
	htmlString += '  <div class="t1x">Žiūrėkite daugiau apie minimas bendroves:</div>';
	htmlString += '  <div class="t10_r" style="line-height:13px;text-decoration:none;">';
	for ( var idx=0; idx<tags.length; idx++ ) {
		htmlString += '<a class="pop_up_link" href="#" onClick="linker.relatedInfo(this, \'COMP\', \'' + tags[idx] + '\');return false;">' + tags[idx] + '</a>';
		if (idx!=tags.length-1) htmlString += ", ";
	}
	htmlString += '  </div>';
	htmlString += '</div>';
	
	return htmlString;
}

linker.relatedInfo = function (e, kind, keyword) {
	linker.popUp = document.getElementById('pop_up_more');
	if (!linker.popUp) return;
	
	keyword = keyword.replace(/^\s+|\s+$/g,"");
	
	if (kind=='PERS') {
		$('linker_karjera').show()
	}
	else {
		$('linker_karjera').hide()
	}
	
	$('linker_karjera').href = linker.urlKarjera + keyword;			   
	$('linker_manokarjera').href = linker.urlManoKarjera + keyword;			   
	if (kind=='PERS') {
		$('linker_archyvas').href = linker.urlArchyvasPers + Url.encode(keyword).replace(" ", "+").replace("%20", "+");			  
	}
	else {
		$('linker_archyvas').href = linker.urlArchyvasComp + Url.encode(keyword).replace(" ", "+").replace("%20", "+");			  
	}	 
	$('linker_foto').href = linker.urlFoto + keyword;			   
	
	linker.showPopUp(e);
}
	 
linker.register = function (e)	{

	e  = e || window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	    
	if(tg == null)
	    {
	     linker.hidePopUp();
	     return;
	}    
	if(tg.className == 'pop_up_link')
	{
	   if(linker.popUp.style.display == 'block')
	  	  linker.hidePopUp();
	}
	else
	{
	   linker.hidePopUp();
	}
}

linker.showPopUp = function (e) {
    
	var curleft = 0;
	var curtop  = 0;
	if (e.offsetParent) {
		do {
			curleft += e.offsetLeft;
			curtop  += e.offsetTop;
		} while (e = e.offsetParent);
	}
	
	linker.popUp.style.left    = (curleft)+'px';
	linker.popUp.style.top     = (curtop+18)+'px';
	Effect.BlindDown(linker.popUp, {duration:0.2});
}

linker.hidePopUp = function () {
    Effect.BlindUp(linker.popUp, {duration:0.2});
}

