﻿







//------------------------
var isAjaxRunning = 'NO';
var isMenuMouseOut = 'NO';


if(window.Event && document.captureEvents) document.captureEvents(Event.MOUSEMOVE);
else if (document.captureEvents) document.captureEvents(Event.CLICK);



function setMouseMenuOut()
{
  isMenuMouseOut = 'YES';
}
function setMouseMenuOver()
{
  isMenuMouseOut = 'NO';
}
function jsDocumentClick()
{
  if (isMenuMouseOut=='YES') 
  {
    isMenuMouseOut = 'NO'; 
    closeSetupDIV();
  }
}

function getWaitHTML()
{
  var myHtml = "";
  myHtml = myHtml + "<table cellspacing=0 cellpadding=0 border=0 style='border: 1px solid black;'>";
  myHtml = myHtml + "<tr>";
  myHtml = myHtml + "<td bgcolor='white' style='border-right: 1px solid blue;'><img src='http://www.mujPortal.cz/_app/imgs/spinner.gif' /></td>";
  myHtml = myHtml + "<td bgcolor='#1B6FC0' style='color: white; font-weight:bold; padding-left: 2px; padding-right: 2px;'>Čekejte, prosím..</td>";
  myHtml = myHtml + "</tr>";
  myHtml = myHtml + "</table>";
  return myHtml;
}

function edMenu(hyp, AssID)
{
    if (isAjaxRunning!='NO') return;
    isAjaxRunning = 'YES';
    var myDiv = document.getElementById("mpSetupDIV");
    
    getMouseXY();

    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
    
    
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
    
    myDiv.innerHTML = getWaitHTML();
    myDiv.style.cursor = "wait";

    mpSetup.getEdMenu(AssID,'',edMenuCallBack);
}

function mpMenuObjectFavouriteSetup(imgStarName, setState, ObjectID)
{
    var myImgStar = document.getElementById(imgStarName);
    myImgStar.style.cursor = "wait";
    mpSetup.mpMenuObjectFavouriteSetup(ObjectID,setState,mpMenuObjectFavouriteSetupCallBack);
}
function mpMenuObjectFavouriteSetupCallBack(res)
{
    closeSetupDIV();
    alert(res.value);
}
function mpMenuObjectFavouriteSetupWithReload(imgStarName, setState, ObjectID)
{
    var myImgStar = document.getElementById(imgStarName);
    myImgStar.style.cursor = "wait";
    mpSetup.mpMenuObjectFavouriteSetup(ObjectID,setState,mpMenuObjectFavouriteSetupCallBackWithReload);
}
function mpMenuObjectFavouriteSetupCallBackWithReload(res)
{
    closeSetupDIV();
    ReloadMySelf();
}

function edBMenu(hyp, AssID, BackToPage)
{
    if (isAjaxRunning!='NO') return;
    isAjaxRunning = 'YES';
    var myDiv = document.getElementById("mpSetupDIV");
    
    getMouseXY();

    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
    
    
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
    
    myDiv.innerHTML = getWaitHTML();
    myDiv.style.cursor = "wait";

    mpSetup.getEdMenu(AssID,BackToPage,edMenuCallBack);
}

function edRedactionItemInfo(RedactionItemCode)
{
    if (isAjaxRunning!='NO') return;
    isAjaxRunning = 'YES';
    
    var myDiv = document.getElementById("mpSetupDIV");
  
    getMouseXY();
    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
  
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
    myDiv.innerHTML = getWaitHTML();
    myDiv.style.cursor = "wait";
    mpSetup.edRedactionItemInfo(RedactionItemCode,edMenuCallBack);
}

function getWindowHeight() {
   if (window.innerHeight)
      /* NN4 a kompatibilní prohlížeče */
      return window.innerHeight;
   else if
   (document.documentElement && document.documentElement.clientHeight)
      /* MSIE6 v std. režimu - Opera a Mozilla
      již uspěly s window.innerHeight */
      return document.documentElement.clientHeight;
   else if
   (document.body && document.body.clientHeight)
      /* starší MSIE + MSIE6 v quirk režimu */
      return document.body.clientHeight;
   else
      return null;
}

function getWindowWidth() {
   if (window.innerWidth)
      /* NN4 a kompatibilní prohlížeče */
      return window.innerWidth;
   else if
   (document.documentElement && document.documentElement.clientWidth)
      /* MSIE6 v std. režimu - Opera a Mozilla
      již uspěly s window.innerWidth */
      return document.documentElement.clientWidth;
   else if
   (document.body && document.body.clientWidth)
      /* starší MSIE + MSIE6 v quirk režimu */
      return document.body.clientWidth;
   else
      return null;
}

function getWindowScrollLeft() {
  var scrOfX = 0;

  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfX;
}


function getWindowScrollTop() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

 
function edMenuCallBack(res)
{
  isAjaxRunning = 'NO';
  var myDiv = document.getElementById("mpSetupDIV");
  myDiv.style.cursor = "default";
  myDiv.style.zIndex = 999999;

  if (res.error==null)
  {
    myDiv.innerHTML = res.value;
  } else
  {
    myDiv.innerHTML = "Litujeme, ale komunikace ze serverem byla přerušena. Zkuste prosím provést refresh (znovunačtení) této stránky (klávesa F5) do vašeho prohlížeče a provést akci znovu.";
  }    
  isMenuMouseOut = 'YES'; 
  
  if(window.addEventListener){ // Mozilla, Netscape, Firefox
	myDiv.addEventListener('onmouseout', setMouseMenuOut, false);
	myDiv.addEventListener('onmouseover', setMouseMenuOver, false);
   } else { // IE
    myDiv.attachEvent('onmouseout',setMouseMenuOut)
    myDiv.attachEvent('onmouseover',setMouseMenuOver)
   }
  
  
  var winY = getWindowHeight()+getWindowScrollTop();  // vyska stranky
  var divY = myDiv.offsetHeight+myDiv.offsetTop;      // Y-pozice DIVU + vyska divu

  var winX = getWindowWidth()+getWindowScrollLeft();  // sirka stranky
  var divX = myDiv.offsetWidth+myDiv.offsetLeft;    // X-pozice DIVU  + sirka divu
  
  if (winY<divY)
  {
     myDiv.style.top = winY - myDiv.offsetHeight;
  }
  
  if (winX<divX)
  {
    myDiv.style.left = winX - myDiv.offsetWidth;
  }
  if (myDiv.style.top<1) myDiv.style.top = 1;
  if (myDiv.style.left<1) myDiv.style.left = 1;
}

 

function edObjectMenu(hyp, sObjectID)
{
    var myDiv = document.getElementById("mpSetupDIV");
   
    getMouseXY();
    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
    
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
    myDiv.innerHTML = getWaitHTML();
    myDiv.style.cursor = "wait";
    mpSetup.getObjectEdMenu(sObjectID,edMenuCallBack);
}
function edObjectMenu2(sObjectID)
{
    var myDiv = document.getElementById("mpSetupDIV");

    getMouseXY();
    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
   
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
    myDiv.innerHTML = getWaitHTML();
    myDiv.style.cursor = "wait";
    mpSetup.getObjectEdMenu(sObjectID,edMenuCallBack);
}


function edLogoutForm(hyp)
{
  var myDiv = document.getElementById("mpSetupDIV");

  myDiv.style.background = "lime";
  myDiv.style.position = "absolute";
  
    getMouseXY();
    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';

  myDiv.innerHTML = getWaitHTML();
  mpSetup.MakeUserLogout();
  window.navigate('default.aspx'); 
}

function closeSetupDIV()
{
  var myDiv = document.getElementById("mpSetupDIV");
  myDiv.innerHTML = "";
}

function edLoginForm(hyp)
{
    var myDiv = document.getElementById("mpSetupDIV");
  
    myDiv.style.background = "lime";
    myDiv.style.position = "absolute";
   
    getMouseXY();
    myDiv.style.left = tempMouseX+'px';
    myDiv.style.top = tempMouseY+'px';
   
    myDiv.innerHTML = getWaitHTML();
    mpSetup.getLoginForm(edMenuCallBack);
}

function edMakeLogin(UserName, UserPassword)
{
    var state = mpSetup.makeLogin(UserName, UserPassword).value; 
    if (state=='OK') ReloadMySelf(); else alert('Chybné heslo nebo jméno!');
}



/* pozice kurzoru mysi ----------------------------------------------------------------- */
// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)



// Temporary variables to hold mouse x-y pos.s
var tempMouseX = 0
var tempMouseY = 0

// Main function to retrieve mouse x-y pos.s


function xgetMouseXY(e) {

if (IE) { // grab the x-y pos.s if browser is IE
    tempMouseX = event.clientX + document.documentElement.scrollLeft;
    tempMouseY = event.clientY + document.documentElement.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    alert('bb');
    e = window.event;
    tempMouseX = window.event.pageX
    tempMouseY = e.pageY
  }  

  if (tempMouseX < 0){tempMouseX = 0}
  if (tempMouseY < 0){tempMouseY = 0}  
}

function getMouseXY(e) {
  var xMousePos = 0; // Horizontal position of the mouse on the screen
  var yMousePos = 0; // Vertical position of the mouse on the screen
  var xMousePosMax = 0; // Width of the page
  var yMousePosMax = 0;
    if (document.layers) {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has 
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position 
        // reflects the position from the top/left of the screen the 
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no 
        // matter if the user has scrolled or not.
        //tempMouseX = event.clientX + document.documentElement.scrollLeft;
        //tempMouseY = event.clientY + document.documentElement.scrollTop;
    
        //xMousePos = window.event.x+document.body.scrollLeft;
        //yMousePos = window.event.y+document.body.scrollTop;
        xMousePos = event.clientX + document.documentElement.scrollLeft;
        yMousePos = event.clientY + document.documentElement.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // je to FireFOX, takze nic nedelame
        if (e)
        {
          xMousePos=e.pageX;
          yMousePos=e.pageY;
        } else
        {
          xMousePos = tempMouseX;
          yMousePos = tempMouseY;
        }
   }
   
   tempMouseX = xMousePos;
   tempMouseY = yMousePos;
}



// vraci kod stiknute klavesy (enter je keydown_code==13)
function GetKeyPressValue(e)
{
  if(window.event) // IE
    {
        keydown_code = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keydown_code = e.which;
    }
    return keydown_code;
}

if(window.addEventListener){ // Mozilla, Netscape, Firefox
	document.addEventListener('click', jsDocumentClick, false);
} else { // IE
	 document.attachEvent('onclick',jsDocumentClick)
}


// priradi danou hodnotu do daneho elementu v tride CSS
function ChangeCss(theClass,element,value) { 
	var cssRules; 
	if (document.all) { 
		cssRules = 'rules'; 
	} 
	else if (document.getElementById) { 
		cssRules = 'cssRules'; 
	} 
	
	for (var S = 0; S < document.styleSheets.length; S++){ 
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) 
		{ 
		    //if (R==0) alert(document.styleSheets[S][cssRules][R].selectorText.toLowerCase());
			
			switch(cssRules){
				case 'rules': 	var strTmp = document.styleSheets[S][cssRules][R].selectorText.toUpperCase();
								var strTmp2 = theClass.toUpperCase();
								break; // Pro IE6 to prevede na velka pismena (muze byt nepresne, pokud jsou pouzivany tridy CSS s odlisenim pouze ve velikostech pismen)
				case 'cssRules': 	var strTmp = document.styleSheets[S][cssRules][R].selectorText; 
									var strTmp2 = theClass;
									break; // Bere surova data (FF...)
				return;
			}
			/*
			if (R==0) {
				//alert(strTmp);
				//alert(strTmp2);
			}
			*/
			if (strTmp == strTmp2) { 
				document.styleSheets[S][cssRules][R].style[element] = value; 
				//alert("OK");
			} 
		} 
	} 
	
} 



// zjisti pozici X a Y daneho objektu (levy horni roh objektu)
// vymyslet dodelavku pozice praveho dolniho rohu
function getElementPosition(elemID){
	var offsetTrail = document.getElementById(elemID);
	var offsetLeft = 0;
	var offsetTop = 0;
	
	while (offsetTrail){
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined'){
		offsetLeft += document.body.leftMargin;
		offsetTop += document.body.topMargin;
	}
	return {left:offsetLeft,top:offsetTop};
}



