var operationMapContacts = new Array();

/* stop blinking background - IE */
eval("try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}");
itemIdUA = '';
function obj(id) { return document.getElementById(id); }

/*
urltype:
	null: samotna url = urlOrId
1 - url jako value objektu s id urlOrId
 */
function go2Url(urlOrId, target, urltype) {
	var url = urlOrId;
	if (url == "") return;
	if (urltype && urltype == 1) {
		url = obj(urlOrId).value;
	}
	if (target) {
		window.open(url);
	} else {
		window.location.href = url;
	}
}

// StringBuffer object
function StringBuffer() {
	this.buffer = "";
	this.append = new Function("str", "this.buffer += str;");
	this.getString = new Function("return this.buffer");
}

// js leftS trim function
String.prototype.leftS = function(ln) {
	var tmpStr = this.substr(0, ln);
	if (tmpStr != this) {
		var lastSpaceIndex = tmpStr.lastIndexOf(' ');
		if (lastSpaceIndex > -1) {
			tmpStr = tmpStr.substring(0, lastSpaceIndex);
		}
		tmpStr += "...";
	}
	return tmpStr;
};


$(document).ready(function() {
	$("li").hover(function() {    
	  $(this).addClass("hover");    
	},function(){    
	  $(this).removeClass("hover");
	});
	
	if (itemIdUA) {
		showStatusUA(statusUA);
	}  
});  

/* Check for JQuery browser supporting */
function supportedBrowser() {
  try {
	var strVersion = $.browser.version;
	var index = strVersion.indexOf(".");
	if (index > -1) {
	  var index2 = strVersion.indexOf(".", index + 1);
	  if (index2 == -1) index2 = strVersion.length; 
	  strVersion = strVersion.substr(0, index2);
	}
	
	var version = parseFloat(strVersion);
	
	if ($.browser.msie && version >= 6) return true;
	if ($.browser.mozilla && version >= 1.5) return true;
	if ($.browser.opera && version >= 9) return true;
	if ($.browser.safari) return true;
  } catch (err) {
	return false;
  }
}

/* Service for witching between alternate stylesheets */
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
	  a.disabled = true;
	  if(a.getAttribute("title") == title) a.disabled = false;
	}
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	if(a.getAttribute("rel").indexOf("style") != -1
	   && a.getAttribute("rel").indexOf("alt") == -1
	   && a.getAttribute("title")
	   ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

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;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

/* End of Service for witching between alternate stylesheets */

/* tabs - requires jQuery */
$.prototype.makeTabs = function() {
	var tabs = $("#" + this.attr("id") + " li a");
	if(tabs.length == 0) return;
	for (var ti=0; ti < tabs.length; ti++)
	{
		$("div[class*='tabs-" + $(tabs[ti]).attr("href").substring(1) + "']").hide();
		$(tabs[ti]).bind("click", function() {
			for (var tiin=0; tiin < tabs.length; tiin++)
			{
				$(tabs[tiin]).removeClass("active");
				$("div[class*='tabs-" + $(tabs[tiin]).attr("href").substring(1) + "']").hide();
			}
			$(this).addClass("active");
			$("div[class*='tabs-" + $(this).attr("href").substring(1) + "']").show();
			return false;
		});
	}
	$("#" + this.attr("id") + " li a:first").addClass("active");
	$("div[class*='tabs-" + $(tabs[0]).attr("href").substring(1) + "']").show();
};

/* operation maps */
function activateOperationsMap(elId, targetCont, mapsData) {
	$("#"+elId).show().after("<p class=\"fr operations-select\"></p>");
	$(".operations-select").html(buildOperationsSelect(mapsData["world"][1]));

	var tabs = $("#"+elId + " li a");
	if(tabs.length == 0) return;
	for (var ti=0; ti < tabs.length; ti++)
	{
		$(tabs[ti]).bind("click", function() {
			$("#"+targetCont).empty().addClass("loading");
			$("#"+targetCont).load(mapsData[$(this).attr("href").substring(1)][0], null, function() { $("#"+targetCont).removeClass("loading"); } );
			$(".operations-select").html(buildOperationsSelect(mapsData[$(this).attr("href").substring(1)][1]));
			return false;
		});
	}
}
function buildOperationsSelect(data) {
	var sb = new StringBuffer();

	sb.append('<select id="choose-country" onchange="go2Url(this.value)">');
	sb.append('<option value="">--- '+webLocale[lang]["choose-country"].toLowerCase()+' ---</option>');
	for (var i=0; i<data.length; i++) {
		sb.append('<option value="'+data[i][1]+'">'+data[i][0]+'</option>');
	}
	sb.append('</select>');
	return sb.getString();
}

/* image mapy */
/*
 * vytvoreny objekt se musi jmenovat stejne, jako jeho prvni parametr (tedy jmeno/id mapy) - kvuli namapovani toggleArea na jednotlive arey mapy
 * priklad:
 * var imagemap1 = new ImageMap("imagemap1"...)
 * pridany tooltips - vse mezi /* ****** * /
 */

/* ***** */
var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
var ver = navigator.appVersion;
var isIE = ver.indexOf("MSIE");
var ttTimer;
/* ***** */

function ImageMap(id, mapWidth, mapHeight, bgrImg, hasTooltips) {
	this.id = id;
	this.map = $("img[usemap$='"+id+"']");
	this.mapH = mapHeight;
	this.mapW = mapWidth;
	this.toolTips = hasTooltips;
	
	this.overId = "IM-"+id;
	this.mapOver = null;

	// ajax loading tooltips
	/* ***** */
	this.tooltipArray = new Array();
	this.tooltipClosed = true;
	this.tooltipLastId = 0;
	/* ***** */

	this.init = function() {
		this.tooltipArray = operationMapContacts;
		this.map.after('<img src="' + blankSrc + '" class="map-over" id="'+this.overId+'" style="width: '+this.mapW+'px; height: '+this.mapH+'px" alt="" usemap="#'+this.id+'" />');
		this.mapOver = $("#"+this.overId);
		this.mapOver.css("background-image", "url('"+bgrImg+"')");

		/* ***** */
		if (this.toolTips) {
			obj("image-map-tooltip").onmouseover = function() { clearTimeout(ttTimer); };
			obj("image-map-tooltip").onmouseout = function() { ttTimer = setTimeout( function() { $("#image-map-tooltip").empty().hide(); eval(id+".tooltipClosed = true"); }, 1000 ); };
		}
		/* ***** */

		var mapAreas = $("map[name='"+this.id+"'] area");

		for (var i=0; i< mapAreas.length; i++) {
			$(mapAreas[i]).attr("rel", "area"+(i+1));
			mapAreas[i].onmouseover = function(e) {

				var areaCnt = $(this).attr("rel").substring(4);

				/* ***** */
				if (eval(id+".toolTips")) {
					if(eval(id+".tooltipLastId") != areaCnt) { eval(id+".tooltipClosed = true"); }
					if (eval(id+".tooltipClosed")) {

						var ttTop, ttLeft;
						if (isIE && window.event) {
							ttTop = window.event.clientY+iebody.scrollTop - $(obj("image-map-tooltip").parentNode).offset().top + -30;
							ttLeft = window.event.clientX+iebody.scrollLeft - $(obj("image-map-tooltip").parentNode).offset().left + 12;
						} else {
							ttLeft = e.pageX - $(obj("image-map-tooltip").parentNode).offset().left + 12;
							ttTop = e.pageY - $(obj("image-map-tooltip").parentNode).offset().top + -30;
						}

						ttLeft > 430 ? ttLeft -= 304 : ttLeft*1;
						ttTop < 0 ? ttTop = 5 : ttTop*1;
						ttTop > 340 ? ttTop -= 80 : ttTop*1;


						$("#image-map-tooltip").css("left", ttLeft+"px");
						$("#image-map-tooltip").css("top", ttTop+"px");
						// custom ppf10 - pri pouziti jinde smazat - ajax loading tooltips

						eval(id+".showTooltip('"+$(this).attr("alt")+"', '"+$(this).attr("href")+"', "+ areaCnt +")");
						// az sem
					} else {
						clearTimeout(ttTimer);
					}
				} else {
					$(this).attr("title", $(this).attr("alt"));
				}
				/* ***** */

				eval(id+".toggleArea("+areaCnt+")");
			};
			mapAreas[i].onmouseout = function() { eval(id+".toggleArea(0)"); };
		}
	};

	this.toggleArea = function(area) {
		var posY = -1*(parseInt(area)*this.mapH);
		this.mapOver.css("background-position", "0px "+posY+"px");
		/* ***** */
		if(area == 0) ttTimer = setTimeout( function() { $("#image-map-tooltip").empty().hide(); eval(id+".tooltipClosed = true"); }, 1000 );
		/* ***** */
	};

	// custom ppf10 - ajax loading tooltips
	/* ***** */
	this.showTooltip = function(countryName, countryPageUrl, areaId) {
		this.tooltipClosed = false;
		var arr = this.tooltipArray;
		
		$("#image-map-tooltip").empty();
		/*if (!arr[countryName] || arr[countryName] == "") {
			$("#image-map-tooltip").load(countryPageUrl + " address", null, function() {
				arr[countryName] = $("#image-map-tooltip").html();
				$("#image-map-tooltip").prepend("<h3>"+countryName+"</h3>");
				$("#image-map-tooltip").append("<p><a href=\""+countryPageUrl+"\">" + webLocale[lang]["country-overview"] + "</a>");
			});
		} else { */
			$("#image-map-tooltip").html(arr[countryName]);
			$("#image-map-tooltip").prepend("<h3>"+countryName+"</h3>");
			$("#image-map-tooltip").append("<p><a href=\""+countryPageUrl+"\">" + webLocale[lang]["country-overview"] + "</a>");
		//}

		$("#image-map-tooltip").fadeIn();
		clearTimeout(ttTimer);
		this.tooltipLastId = areaId;
		this.tooltipArray = arr;
	};
	/* ***** */

	this.init();
}

/* Hide / Show widgets */
function manageWidget(idWidget)	{
  if (supportedBrowser()) {
  	$("#widget-" + idWidget).show("fast");
  	$(".hide-widget").each(
      function(i){
        if (this.style.display != 'none' && this.style.id != "#" + idWidget) $(this).hide();
      }
    );
  	return false;
  }
}
/* */

// View subsection select depended on selected section
function showSubsection(idSection)	{
	var idS = "p___" + idSection.substring(2);
	if (supportedBrowser()) {
		var getOutCache = Math.random();
		if ($("#subsection"))	$("#subsection").load("/srv/www/content/pub/en/_subsection-select-"+idS+".html?"+getOutCache).show('fast');
	}
}

function setSubSection(valueChoosenSubSection)	{
	var selectedIndex =  valueChoosenSubSection.split(".");
	selectId = selectedIndex[2];
	selectId++;
	if($("#subsection"))	$("#subsection").attr('selectedIndex',selectId);
	return false;
}

/* */

/* management - zkraceni itemu na strance */

var managerList = new Array();

function managerMakeThumb(itemId, imgThPath) {
	var contId="#manager-"+itemId;

	managerList[itemId] = new Array();
	managerList[itemId]["perexFull"]=$(contId+" div:eq(0)").html();
	managerList[itemId]["perexShort"]=managerList[itemId]["perexFull"].leftS(180);
	//*****//
	if (managerList[itemId]["perexShort"].lastIndexOf("<p>") > managerList[itemId]["perexShort"].lastIndexOf("</p>")) {
		managerList[itemId]["perexShort"] += "</p>";
	}
	//alert(managerList[itemId]["perexShort"]);
	//*****//

	managerList[itemId]["hasImg"] = false;

	if (imgThPath) {
		managerList[itemId]["hasImg"] = true;
		managerList[itemId]["iTh"]=imgThPath;
		managerList[itemId]["iFull"]=$(contId+" .fl-content img").attr("src");

		$(contId+" .fl-content img").attr("src", managerList[itemId]["iTh"]);
		$(contId+" .fl-content").show();
		$(contId).addClass("photo-thumb");
	}
	if (managerList[itemId]["perexFull"].length > managerList[itemId]["perexShort"].length) {
		$(contId+" div:eq(0)").html(managerList[itemId]["perexShort"]);
		var sb = new StringBuffer();
		sb.append('<p style="padding-top: 0.5em !important;"><a class="btn black" title="More" onclick="managerShowDetail(\''+itemId+'\', this.parentNode); return false" href="#">More</a></p>');
		$(contId+" .fl-content").before(sb.getString());
	}
}

function managerShowDetail(itemId, morelinkObj) {
	var contId="#manager-"+itemId;

	var sb = new StringBuffer();
	sb.append('<p style="padding-top: 0.5em !important;"><a class="btn black" title="Back" onclick="managerHideDetail(\''+itemId+'\', this.parentNode); return false" href="#">Back</a></p>');

	if (managerList[itemId]["hasImg"]) {
		$(contId+" .fl-content img").attr("src", managerList[itemId]["iFull"]);
		$(contId).removeClass("photo-thumb");
		$(contId+" .fl-content").append(sb.getString());
	} else {
		$(contId+" .fl-content").before(sb.getString());
	}
	if (morelinkObj) $(morelinkObj).remove();
	$(contId+" div:eq(0)").html(managerList[itemId]["perexFull"]);

}

function managerHideDetail(itemId, backlinkObj) {
	var contId="#manager-"+itemId;

	if (managerList[itemId]["hasImg"]) {
		$(contId+" .fl-content img").attr("src", managerList[itemId]["iTh"]);
		$(contId).addClass("photo-thumb");
	}
	if (backlinkObj) $(backlinkObj).remove();
	$(contId+" div:eq(0)").html(managerList[itemId]["perexShort"]);

	var sb = new StringBuffer();
	sb.append('<p style="padding-top: 0.5em !important;"><a class="btn black" title="More" onclick="managerShowDetail(\''+itemId+'\', this.parentNode); return false" href="#">More</a></p>');
	$(contId+" .fl-content").before(sb.getString());
}


/* onclick - teasers */

/* UA */
function showStatusUA(statusUA) {
	var eStatusUA = $("#widget-update-alert P.statusUA")[0];
	if (eStatusUA) {
		if (statusUA) {
			eStatusUA.innerHTML = 'This site is checked for you.<br/><a href="#">Remove this site from Update Alert</a>';
		} else {
			eStatusUA.innerHTML = 'This site is not checked for you.<br/><a href="#">Set this site for Update Alert</a>';
		}
		$("A", eStatusUA).unbind('click');
		$("A", eStatusUA).bind('click', function() {
			WdSettingsAjax.changeItem(itemIdUA, showStatusUA);
			return false;
		});
	}
}
/* UA */


$(document).ready(function() {

    /* Scrolovatelný široký obrázek vkládaný přes Edee s třídou wide-ing */
    $("p.wide-img").addClass("img-frame");
    $("p.img-frame").append("<span class='shift-left'>&nbsp;</span><span class='shift-right'>&nbsp;</span>");
    var imgHeight = $("p.img-frame img").height();              /* Get height of img */
    $("#p-mid .in p.img-frame").height(imgHeight);              /* Set height of scrolling block */
    $("#p-mid .in p.img-frame span").height(imgHeight);         /* Set height of navigators */
    var positionImg = 40;                                       /* start left position of image */
    var driftRight = $("#p-mid .in p.img-frame").width() - 78;  /* width of visible part image  width of elem.p minus (width navigators + 2px) */
    var lengthImg = $("p.img-frame img").width() - driftRight;  /* width of image minus width of visible part */
    var drift = lengthImg / 3;  /* length of drift part, if we want move 3x */

    /* hover function of navigators */
    $("p.img-frame span").hover( function () { $(this).addClass("move"); }, function () { $(this).removeClass("move"); } );

    /* click function of navigators - moving by image */
    $("p.img-frame span.shift-right").click(function () {
        if (lengthImg + positionImg - 34 > drift)    {
            positionImg -= drift;
            $("p.img-frame img").css("left", positionImg);
        }
    });
    $("p.img-frame span.shift-left").click(function () {
        if (lengthImg + positionImg - 34 < lengthImg)    {
            positionImg += drift;
            $("p.img-frame img").css("left", positionImg);
        }
    });
	
    /* Otvírání img do highslide - neni to galerie, nýbrž samostatně umístěný img v textu */
    $("a.zoom-img").addClass("hs");
	$("a.hs").click(function () {
      return hs.expand(this);
    });
    

    /* Zmenšený obrázek vkládaný přes Edee s třídou small-img */
    if ($("p.small-img img"))	{
		var imgSrc = $("p.small-img img").attr("src");
		var imgAlt = $("p.small-img img").attr("alt");
		$("p.small-img").css("overflow","visible");
		$("p.small-img img").attr("width","500").removeAttr("height").addClass("frame").wrap("<a></a>");
		$("p.small-img a").addClass("hs");
		$("p.small-img a.hs").attr("href",imgSrc);
		$("p.small-img a.hs").attr("title",imgAlt);
		$("a.hs").click(function () {
		  return hs.expand(this);
		});
	}

});

