var clipTop =		'<table width="100%" border="0" cellpadding="5" cellspacing="0" align="center">\r\n';
var clipBottom =	'</table>\r\n';
clipBottom +=		'<table class="second" width="100%" border="0" cellpadding="5" cellspacing="0" align="center">\r\n';
clipBottom +=		'<tr>\r\n';
clipBottom +=		'	<td valign="bottom" align="left" style="background: none;"><a href="#" onclick="return removeAllClips();"><img src="../images/basic/delete_all.gif" alt="" />Delete all</a></td>\r\n';
clipBottom +=		'	<td valign="bottom" align="right" style="background: none;"><a href="#" onclick="return removeVisited();"><img src="../images/basic/delete_visited.gif" alt="" />Delete visited</a></td>\r\n';
clipBottom +=		'</tr>\r\n';
clipBottom +=		'</table>\r\n';

var numberOfClips = calculateClips();
var tempX = "";
var tempY = "";

var browser = navigator.appName;

var days = new Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

var d = new Date();
var date = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear() + 1;

var cookieDate = Date.parse(year+"/"+month+"/"+date);
cookieDate = new Date(cookieDate);
// alert(cookieDate);

var cday = cookieDate.getDay();
var cdate = cookieDate.getDate();
var cmonth = cookieDate.getMonth();
var cyear = cookieDate.getFullYear();

var ffDate = days[eval(cday-1)]+", "+cdate+"-"+months[cmonth]+"-"+cyear+" 23:59:59 GMT";
// alert(ffDate);

var domain = "http://www.europa.rs/";

function printURL()
{
	var header = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Printable version</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
	header += '<link rel="stylesheet" href="/css/default.css" type="text/css"><style>body {background: none; background-color: #fff; padding: 10px;}</style></head>';
	header += '<body onLoad="window.print();">';
	header += '<table align="center"><tr><td width="100%" align="left"><div id="content">';
	header += '<img src="/images/basic/logo_1.gif" alt=""/><br/><br/>';
	var footer = '</div></td></tr></table></body></html>';

	var strInner = document.body.innerHTML;
	var startPos = strInner.lastIndexOf("<!-- print_start -->");	
	var endPos = strInner.lastIndexOf("<!-- print_end -->");
	strInner = strInner.substring(startPos + 20, endPos);
		
	if (strInner.lastIndexOf("<!-- print_pause_on -->") > -1)
	{
		var str1 = "<!-- print_pause_on -->";
		var str2 = "<!-- print_pause_off -->";

		startPos = strInner.lastIndexOf(str1);	
		endPos = strInner.lastIndexOf(str2);

		if (endPos > startPos)
		{
			leftStr = strInner.substring(0, startPos);
			rightStr = strInner.substring(endPos + str2.length, strInner.length);
			strInner = leftStr + rightStr;
		}
	}

	var xwin = window.open("", "PrintVersion", "width=625, menubar=yes, toolbar=yes, statubar=no, scrollbars=yes, resizable=yes");

	xwin.document.open();
	xwin.document.write(header+strInner+footer);
	xwin.document.close();
}

function isPPC()
{
	if (navigator.appVersion.indexOf("PPC") != -1) return true;
	else return false;
}

function sendPage(mailHeadline)
{
	if(!isPPC())
	{
		window.location="mailto:\?subject\=" + mailHeadline + "&body=" + escape(mailHeadline) + ": " + window.location;
	}
	else
	{ 
		window.location="mailto:\?body=" + escape(mailHeadline) + ": " + window.location;
	}
}

// displays clips
function showHideClips()
{
	var clipsDisplay = (document.getElementById("clips").style.display == "none" || document.getElementById("clips").style.display == "")? "block" : "none";
	document.getElementById("clips").style.display = clipsDisplay;

	if (clipsDisplay == "block")
	{
		cookieClipped = getCookie("Clipped");
		displayClipped(cookieClipped);
	}

	return false;
}

// creates empty cookies History and Clipped
function createCookies()
{
	var cookieStr = "" + document.cookie;

	// alert("" + document.cookie);
	// alert(cookieStr.indexOf("Clipped"));

	if (cookieStr.indexOf("Clipped") == -1)
	{
		if (browser.indexOf("Netscape") == -1)
		{
			document.cookie = "Clipped=; expires="+cookieDate.toGMTString()+"; path=/";
		}
		else
		{
			document.cookie = "Clipped=; expires="+ffDate+"; path=/";
		}

		// alert("1 - " + document.cookie);
	}
	else
	{
		// alert("2 - " + document.cookie);
	}
}

// retrievs cookie value
function getCookie(cookieName)
{
	// alert(document.cookie);
	
	var cookies = document.cookie.split("; ");
	var cookieValue = "";

	// alert(cookies);

	for (var c = 0; c < cookies.length; c++)
	{
		// alert(cookies[c]);

		tempCookie = cookies[c].split("=");

		if (tempCookie[0] == cookieName)
		{
			cookieValue = "" + utils_requestStr(unescape(tempCookie[1]));
		}
	}

	return cookieValue;
}

// limits to content of a cookie to 20 records
function cutToSize(cookieName)
{
	if (cookieName != "null" && cookieName != null)
	{
		var limit = 20;
		var list = cookieName.split(";");
		var newString = "";
		var start = list.length - (limit);
		var end = list.length - 1;

		if (list.length >= limit)
		{
			for (var i = start; i <= end; i++)
			{
				newString += list[i]+";";
			}

			newString = newString.substr(0, (newString.length) - 1);

			return newString;
		}
		else
		{
			return cookieName;
		}
	}
	else
	{
		return "";	
	}
}

function addToClipped(pageTitle, pageId, clipIcon, addThis)
{
	if (document.getElementById(clipIcon))
	{
		tempX = document.getElementById(clipIcon).offsetLeft;
		tempY = document.getElementById(clipIcon).offsetTop;
	}
	
	cookieClipped = getCookie("Clipped");
	// alert(cookieClipped);

	if (cookieClipped.indexOf(pageTitle) == -1)
	{
		beforeMove(clipIcon);
		onad(clipIcon);

		if (addThis)
		{
			pageId = "" + window.location.search;
		}

		window.setTimeout("addToClipped2('"+pageTitle+"', '"+pageId+"', '"+clipIcon+"')", 500);
	}
	else
	{
		addToClipped2(pageTitle, pageId, clipIcon);
	}

	return false;
}

// adds a page to clipped pages
function addToClipped2(pageTitle, pageId, clipIcon)
{	
	pageTitle = pageTitle.replace(/<single>/g, "'");

	var cookieString = escape(pageTitle + "|" + pageId + "|not_visited;");
	var cookieClipped = getCookie("Clipped");
	cookieClipped = cutToSize(cookieClipped);

	if (cookieClipped == "undefined")
	{ // clipped is empty
		if (browser.indexOf("Netscape") == -1)
		{
			document.cookie = "Clipped=" + cookieString + "; expires=" + cookieDate.toGMTString() + "; path=/";
		}
		else
		{
			document.cookie = "Clipped=" + cookieString + "; expires=" + ffDate + "; path=/";
		}

		numberOfClips = calculateClips();
		document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";
	}
	else
	{ // clipped is not empty
		if (cookieClipped.indexOf(unescape(cookieString)) == -1 && cookieClipped.indexOf(unescape(pageId)) == -1)
		{ // page is not in clipped
			if (browser.indexOf("Netscape") == -1)
			{
				document.cookie = "Clipped=" + escape(cookieClipped) + cookieString + "; expires=" + cookieDate.toGMTString() + "; path=/";
			}
			else
			{
				document.cookie = "Clipped=" + escape(cookieClipped) + cookieString + "; expires=" + ffDate + "; path=/";
			}

			numberOfClips = calculateClips();
			document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";
		}
	}

	if (document.getElementById("clips"))
	{
		cookieClipped = getCookie("Clipped");
		displayClipped(cookieClipped);
	}

	if (document.getElementById(clipIcon))
	{
		window.setTimeout("iconMoveBack('"+clipIcon+"')", 500);
	}

	return false;
}

// displays clipped pages
function displayClipped(cookieClipped)
{
	document.getElementById("clips").style.display = "block";
	
	var cookieString = "" + unescape(cookieClipped);

	if (cookieString != "undefined" && cookieString != "" && cookieString != "null" && cookieString != null)
	{
		cookieString = cookieString.substr(0, (cookieString.length) - 1);
		var pages = cookieString.split(";");

		var pagesString = clipTop;

		for (var p = 0; p < pages.length; p++)
		{
			var page = pages[p].split("|");

			if (page[1].indexOf("?") > -1)
			{
				pagesString += '<tr><td class="link" align="left"><a href="/code/navigate.php'+page[1]+'" class="'+page[2]+'" onclick="changeToVisited(\''+page[1]+'\');"><img src="../images/basic/events_a_bg.gif" alt=""/>'+page[0]+'</a></td><td width="10" align="right"><a href="#" onclick="return removeClip(\''+escape(pages[p])+'\');"><img src="../images/basic/delete_icon.gif" alt="" width="9" height="11" /></a></td></tr>';
			}
			else
			{
				pagesString += '<tr><td class="link" align="left"><a href="/code/navigate.php?Id='+page[1]+'" class="'+page[2]+'" onclick="changeToVisited(\''+page[1]+'\');"><img src="../images/basic/events_a_bg.gif" alt=""/>'+page[0]+'</a></td><td width="10" align="right"><a href="#" onclick="return removeClip(\''+escape(pages[p])+'\');"><img src="../images/basic/delete_icon.gif" alt="" width="9" height="11" /></a></td></tr>';
			}
		}

		pagesString += clipBottom;
	}
	else
	{
		var pagesString = "";
	}
	
	document.getElementById("clips").innerHTML = pagesString;

	addThis = null;

	return false;
}

// marks visited clips
function changeToVisited(visitedId)
{
	var cookieClipped = getCookie("Clipped");
	var cookieString = "" + unescape(cookieClipped);
	var tempString = "";

	if (cookieString != "undefined" && cookieString != "" && cookieString != "null" && cookieString != null)
	{
		cookieString = cookieString.substr(0, (cookieString.length) - 1);
		var pages = cookieString.split(";");

		for (var p = 0; p < pages.length; p++)
		{
			var page = pages[p].split("|");

			if (page[1] == visitedId)
			{
				page[2] = "visited";
			}

			tempString += page[0] + "|" + page[1] + "|" + page[2] + ";";
		}

		if (browser.indexOf("Netscape") == -1)
		{
			document.cookie = "Clipped=" + escape(tempString) + "; expires=" + cookieDate.toGMTString() + "; path=/";
		}
		else
		{
			document.cookie = "Clipped=" + escape(tempString) + "; expires=" + ffDate + "; path=/";
		}

		cookieClipped = getCookie("Clipped");
		displayClipped(cookieClipped);

		numberOfClips = calculateClips();
		document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";
	}

	return false;
}

// calculates number of clipped pages
function calculateClips()
{
	var cookieClipped = getCookie("Clipped");
	var cookieString = "" + unescape(cookieClipped);

	if (cookieString != "undefined" && cookieString != "" && cookieString != "null" && cookieString != null)
	{
		cookieString = cookieString.substr(0, (cookieString.length) - 1);
		var pages = cookieString.split(";");

		return pages.length;
	}
	else
	{
		return 0;
	}
}

// removes selected clip
function removeClip(targetPage)
{
	var tempString = "" + unescape(targetPage);
	var clipIcon = tempString.split("|");

	if (document.getElementById("clipIcon_"+clipIcon[1]))
	{
		tempX = document.getElementById("clipIcon_"+clipIcon[1]).offsetLeft;
		tempY = document.getElementById("clipIcon_"+clipIcon[1]).offsetTop;

		iconMoveBack("clipIcon_"+clipIcon[1]);
	}
	
	var cookieClipped = getCookie("Clipped");
	var newString = cookieClipped.replace(unescape(targetPage), "");
	newString = newString.replace(/;{2,}/g, ";");

	if (newString.indexOf(";") == 0)
	{
		newString = newString.replace(";", "");
	}

	if (browser.indexOf("Netscape") == -1)
	{
		document.cookie = "Clipped=" + escape(newString) + "; expires=" + cookieDate.toGMTString() + "; path=/";
	}
	else
	{
		document.cookie = "Clipped=" + escape(newString) + "; expires=" + ffDate + "; path=/";
	}
					  
	cookieClipped = getCookie("Clipped");
	displayClipped(cookieClipped);

	numberOfClips = calculateClips();
	document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";

	if (numberOfClips == 0)
	{
		document.getElementById("clips").style.display = "none";
	}

	return false;
}

// removes visited clips
function removeVisited()
{
	var cookieClipped = getCookie("Clipped");
	var cookieString = "" + unescape(cookieClipped);
	var tempString = "";

	if (cookieString != "undefined" && cookieString != "" && cookieString != "null" && cookieString != null)
	{
		cookieString = cookieString.substr(0, (cookieString.length) - 1);
		var pages = cookieString.split(";");

		for (var p = 0; p < pages.length; p++)
		{
			var page = pages[p].split("|");

			if (page[2] != "visited")
			{
				tempString += page[0] + "|" + page[1] + "|" + page[2] + ";";
			}
		}

		if (browser.indexOf("Netscape") == -1)
		{
			document.cookie = "Clipped=" + escape(tempString) + "; expires=" + cookieDate.toGMTString() + "; path=/";
		}
		else
		{
			document.cookie = "Clipped=" + escape(tempString) + "; expires=" + ffDate + "; path=/";
		}

		cookieClipped = getCookie("Clipped");
		displayClipped(cookieClipped);

		numberOfClips = calculateClips();
		document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";
	}

	return false;
}

// removes all clipped pages
function removeAllClips()
{
	window.clearTimeout(mnaTime);

	if (browser.indexOf("Netscape") == -1)
	{
		document.cookie = "Clipped =; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
	}
	else
	{
		document.cookie = "Clipped =; expires=01/01/1970; path=/";
	}

	cookieClipped = getCookie("Clipped");
	displayClipped(cookieClipped);

	numberOfClips = calculateClips();
	document.getElementById("clipsNum").innerHTML = "(" + numberOfClips + ")";
	document.getElementById("clips").style.display = "none";

	return false;
}

var mnaTime = "";
var XX = "";
var YY = "";
var endX = "";
var endY = "";
var xstep = "";
var ystep = "";
var delay_time = "";
var chX = "";
var chY = "";
var ohX = "";
var ohY = "";
var yon = "";
var ie = "";
var ns6 = "";

function beforeMove(clipIcon)
{
	if (document.getElementById(clipIcon))
	{
		XX = document.getElementById(clipIcon).offsetLeft; // start X position of the scrolling object
		YY = document.getElementById(clipIcon).offsetTop; // start Y position of the scrolling object
		endX = document.getElementById("clippedLink").offsetLeft; // end X position of the scrolling object
		endY = document.getElementById("clippedLink").offsetTop; // end Y position of the scrolling object

		xstep = (XX - endX) / 40; // moving step x
		ystep = (endY - YY) / 40; // moving step y

		delay_time = 1; // delay in miliseconds

		chX = 0;
		chY = 0;
		ohX = 0;
		ohY = 0;
		yon = 0;

		ie = document.all? 1 : 0;
		ns6 = document.getElementById && !document.all? 1 : 0;
	
		if (ie)
		{ // IE
			document.getElementById(clipIcon).style.left = XX;
			document.getElementById(clipIcon).style.top = YY;
		}
		else if (ns6)
		{ // FF
			document.getElementById(clipIcon).style.left = XX + "px";
			document.getElementById(clipIcon).style.top = YY + "px";
		}
	}
}

function reloc1(clipIcon)
{
	if (yon == 0)
	{
		XX = XX - xstep;
		YY = YY + ystep;
	}

	if (ie)
	{
		// IE
		chX = document.body.clientWidth;
		chY = document.body.clientHeight;

		ohX = document.getElementById(clipIcon).offsetWidth;
		ohY = document.getElementById(clipIcon).offsetHeight;
	}
	else if(ns6)
	{
		// FF
		chX = window.innerWidth;
		chY = window.innerHeight;

		ohX = document.getElementById(clipIcon).offsetWidth;
		ohY = document.getElementById(clipIcon).offsetHeight;
	}

	if (XX >= endX)
	{
		yon = 1;
		document.getElementById(clipIcon).style.visibility = "hidden";
	}

	if (XX >= (chX - ohX))
	{
		yon = 0;

		XX = (chX - ohX);
		YY = (chY + ohY);
	}
	
	if (ie)
	{ // IE
		document.getElementById(clipIcon).style.left = XX;
		document.getElementById(clipIcon).style.top = YY;
	}
	else if (ns6)
	{ // FF
		document.getElementById(clipIcon).style.left = XX + "px";
		document.getElementById(clipIcon).style.top = YY + "px";
	}
}

function onad(clipIcon)
{
	if (document.getElementById(clipIcon))
	{
		document.getElementById(clipIcon).style.visibility = "visible";
		loopfunc(clipIcon);
	}
}

function loopfunc(clipIcon)
{
	reloc1(clipIcon);
	mnaTime = setTimeout("loopfunc('"+clipIcon+"')", delay_time);
}

function iconMoveBack(clipIcon)
{
	window.clearTimeout(mnaTime);
	
	document.getElementById(clipIcon).style.left = tempX + "px";
	document.getElementById(clipIcon).style.top = tempY - 4 + "px";
}

function utils_requestStr(value)
{
	if (!value)
	{
		return value;
	}
	else
	{
		value = "" + value;

		//replacuje sve izmedju tagova u <...> u blank
		
		//script|object|iframe|applet|meta|style|form|img|blink|link|embed|frame|frameset|layer|ilayer|bgsound|title|base
		var re = new RegExp("(\%3C|<)"+utils_stringRegEx("script")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("object")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("iframe")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("applet")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("meta")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("style")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("form")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		//re = new RegExp("(\%3C|<)"+utils_stringRegEx("img")+"[^\n]*\"?(\%3E|>)", "gi");
		//value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("blink")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("link")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("embed")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("frame")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("frameset")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("ilayer")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("layer")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("bgsound")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("title")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");
		re = new RegExp("(\%3C|<)"+utils_stringRegEx("base")+"[^\n]*\"?(\%3E|>)", "gi");
		value = value.replace(re, "");

		return value;
	}
}

function utils_stringRegEx(str)
{
	var strRegEx = "";

	for (var i = 0; i < str.length; i++)
	{
		var chr = str.charAt(i);

		strRegEx += "(" + chr.toLowerCase() + "|%" + utils_dec2hex(chr.charCodeAt(0)) + "|%" + utils_dec2hex(chr.toUpperCase().charCodeAt(0)) + ")";
	}

	return strRegEx;
}

function utils_dec2hex(n)
{
	var hex = "0123456789ABCDEF";
	var mask = 0xf;
	var retstr = "";

	while(n != 0)
	{
		retstr = hex.charAt(n&mask)+retstr;
		n>>>=4;
	}

	if (retstr.length == 1) retstr = "0" + retstr;
	if (retstr.length == 0) retstr = "00";

	return retstr;
}