/* ------------------------------------------------------------------------

File name:            main.js
Date of creation:     19/04/2009
Date of last update:  19/04/2009
Author:               Pavel Zahradník, elektrico@email.cz
Purpose:              Main script - JavaScript
URL:                  http://www.panoramo.cz/js/main.css
Licence:              Copyright (c) 2009, 
                      Elektrico - ing. Pavel Zahradník, 
                      All rights reserved
Contact:              Táboritská 274/II.,  
                      379 01 Třeboň, 
                      +420 723 862 361, 
                      www.elektrico.cz, 
                      elektrico@email.cz
                      
------------------------------------------------------------------------ */

var myEditor;
var Menu_id_actual;
var Activelogin = false;
var ActiveloginInner = false;
var width_inner = 250;
var height_inner = 150;
var actual_ratio = 0.0;

var ActiveDateInner = false;
var DateDivName = new Array;

var ActiveContactInner = false;
var ContactDivName = new Array;

function SelectDate(DayName, MonthName, YearName) {
  DateDivName[0] = DayName;
  DateDivName[1] = MonthName;
  DateDivName[2] = YearName;
  //alert(DateDivId);
  var body = document.getElementById("body");
  //var height_inner = 200;
  //var width_inner  = 300;
  var left_inner = 0;
  var top_inner = 0;
  ScrollX = getScrollXY("left");
  ScrollY = getScrollXY("top");
  
  if (ActiveDateInner == false) {
    var BrowserInner = document.createElement("div"); 
    BrowserInner.setAttribute("id","date_inner");
    BrowserInner.style.position = "absolute";
    BrowserInner.style.backgroundColor = "white";
    body.appendChild(BrowserInner);
  } else {
    var BrowserInner = document.getElementById("date_inner");
  }
  var obj = document.getElementsByName(DayName)[0]
  left_inner = findPosX(obj) + 2;// + findWidth(obj);
  top_inner = findPosY(obj) + findHeight(obj) + 2;
  //alert(left_inner);
  //alert(top_inner);
  //BrowserInner.style.width = width_inner + "px";
  //BrowserInner.style.height = height_inner + "px";
  BrowserInner.style.left = left_inner + "px"; //(WindowSize('width') - width_inner)/2 + ScrollX + "px";
  BrowserInner.style.top = top_inner + "px"; //(WindowSize('height') - height_inner)/2 + ScrollY + "px";
  ActiveDateInner = true;
  var Url = "modules/kalendar.php?div=date_inner" ;
  GetText(Url, EvalShowContent, 'date_inner');

  
}

function SetTime(year, month, day) {
  document.getElementsByName(DateDivName[0])[0].value = day;
  document.getElementsByName(DateDivName[1])[0].value = month;
  document.getElementsByName(DateDivName[2])[0].value = year;
  var BrowserInner = document.getElementById("date_inner");
  BrowserInner.parentNode.removeChild(BrowserInner);
  
  ActiveDateInner = false;
}

function OtevriProhlizecKontaktu(kontakt_ID, ID, TitleName, NameName, LastNameName) {
	ContactDivName[0] = ID;	
	ContactDivName[1] = TitleName;
  ContactDivName[2] = NameName;
  ContactDivName[3] = LastNameName;
  //alert(DateDivId);
  var body = document.getElementById("body");
  //var height_inner = 200;
  //var width_inner  = 300;
  var left_inner = 0;
  var top_inner = 0;
  ScrollX = getScrollXY("left");
  ScrollY = getScrollXY("top");
  
  if (ActiveContactInner == false) {
  	var BrowserInner = document.createElement("div"); 
    BrowserInner.setAttribute("id","contact_inner");
    BrowserInner.style.position = "absolute";
    BrowserInner.style.backgroundColor = "white";
    body.appendChild(BrowserInner); 
  } else {
    var BrowserInner = document.getElementById("contact_inner");
  }
  var obj = document.getElementsByName(LastNameName)[0];
  left_inner = findPosX(obj) + 2;// + findWidth(obj);
  top_inner = findPosY(obj) + findHeight(obj) + 2;
  //alert(left_inner);
  //alert(top_inner);
  //BrowserInner.style.width = width_inner + "px";
  //BrowserInner.style.height = height_inner + "px";
  BrowserInner.style.left = left_inner + "px"; //(WindowSize('width') - width_inner)/2 + ScrollX + "px";
  BrowserInner.style.top = top_inner + "px"; //(WindowSize('height') - height_inner)/2 + ScrollY + "px";
  ActiveContactInner = true;
  var Url = "modules/prohlizec_kontaktu.php?div=contact_inner&ID="+kontakt_ID;
  EvalContent(Url, 'contact_inner');
}

function SetContact(ID, title, name, lastName) {
	document.getElementsByName(ContactDivName[0])[0].value = ID;
  document.getElementsByName(ContactDivName[1])[0].value = title;
  document.getElementsByName(ContactDivName[2])[0].value = name;
  document.getElementsByName(ContactDivName[3])[0].value = lastName;
  var BrowserInner = document.getElementById("contact_inner");
  BrowserInner.parentNode.removeChild(BrowserInner);
  
  ActiveContactInner = false;
}

var ActiveOknoInner = false;
var OknoDivName = new Array;          

function ActivateOkno (objectName, inner_ID) {
	var body = document.getElementById("body");
  var left_inner = 0;
  var top_inner = 0;
  ScrollX = getScrollXY("left");
  ScrollY = getScrollXY("top");
  
  if (ActiveOknoInner == false) {
  	var BrowserInner = document.createElement("div"); 
    BrowserInner.setAttribute("id",inner_ID);
    BrowserInner.style.position = "absolute";
    BrowserInner.style.backgroundColor = "white";
    body.appendChild(BrowserInner); 
  } else {
    var BrowserInner = document.getElementById(inner_ID);
  }
  var obj = document.getElementsByName(objectName)[0];
  left_inner = findPosX(obj) + 2; 
  top_inner = findPosY(obj) + findHeight(obj) + 2;
  
  BrowserInner.style.top = top_inner + "px"; 
  BrowserInner.style.left = left_inner + "px";
  return true;
}  

function DeactivateOkno (inner_ID) {
	var BrowserInner = document.getElementById(inner_ID);
  BrowserInner.parentNode.removeChild(BrowserInner);
  
  return false;
}        
          
function UpravitLokalitu(akce) {
    
  var sel = document.getElementsByName('nemovitost_lokalita_psc')[0];
  var ID;
  if ((sel != null) && ((ID = sel.options[sel.selectedIndex].value)!= "")) { // byla vybrana lokalita
		var inner_ID = "okno_inner";  	
  	ActiveOknoInner = ActivateOkno('lokalita-tlacitka', inner_ID);
  	var Url = "modules/prohlizec_lokalit.php?div=okno_inner&akce="+akce+"&ID="+ID;
  	EvalContent(Url, inner_ID);
  	//document.getElementById(inner_ID).innerHTML = "Ahoj okýnko...";
  } else {
  	alert("Nejdříve vyberte příslušnou lokalitu...");
  }
  
}

function ZavritProhlizecLokalit() {
	ActiveOknoInner = DeactivateOkno ('okno_inner');
}



function UlozitUdaje() {
  //var prava = document.getElementById('makler-prava');
  //var pravaID = prava.options[prava.selectedIndex].id;
  //document.makler.action = 'modules/makleri_ulozit.php?pravaID='+pravaID;
  document.makler.action = 'modules/makleri_ulozit.php';
  document.makler.submit();
}
      
function ObnovitMaklere() {
  document.makler.action = 'modules/makleri_ulozit.php?akce=obnovit';
  document.makler.submit();
}
      
function OdtranitMaklere() {
  document.makler.action = 'modules/makleri_ulozit.php?akce=odstranit';
  document.makler.submit();
}


function GetContent(Url, ObjectID) {
  GetText(Url, PutContent, ObjectID);
}

function PutContent (xmlText, ObjectID) {
  var obj = document.getElementById(ObjectID);
  obj.innerHTML = xmlText;
}

function GetContentToObject (Url, Object){
  GetText(Url, PutContentToObject, Object);
}

function PutContentToObject (xmlText, Object) {
  Object.innerHTML = xmlText;
}

function GetContentOutToObject (Url, Object){
  GetText(Url, PutContentOutToObject, Object);
}

function PutContentOutToObject (xmlText, Object) {
  Object.outerHTML = xmlText;
}

function EvalContent(Url, ObjectID) {
  GetText(Url, EvalShowContent, ObjectID);
}

function EvalShowContent (xmlText, DestinationDivId) {
  if (DestinationDivId != 'null') {
    var div = document.getElementById(DestinationDivId);
  }
  
  var script, scripts;
  //alert (xmlText);
  //div.innerHTML = xmlText;
  //scripts = xmlText;
  
  scripts = [];
  var regexp = /<script[^>]*>([\s\S]*?)<\/script>/gi;
	while ((script = regexp.exec(xmlText))) scripts.push(script[1]);
			scripts = scripts.join('\n');
	
	if (scripts) (window.execScript) ? window.execScript(scripts) : window.setTimeout(scripts, 0);
	if (DestinationDivId != 'null') {div.innerHTML = xmlText;}
}

function EvalContentToObject(Url, Object) {
  GetText(Url, EvalShowContentToObject, Object);
}

function EvalShowContentToObject (xmlText, Object) {
  
  var script, scripts;
  //alert (xmlText);
  //div.innerHTML = xmlText;
  //scripts = xmlText;
  
  scripts = [];
  var regexp = /<script[^>]*>([\s\S]*?)<\/script>/gi;
	while ((script = regexp.exec(xmlText))) scripts.push(script[1]);
			scripts = scripts.join('\n');
	
	if (scripts) (window.execScript) ? window.execScript(scripts) : window.setTimeout(scripts, 0);
	//if (DestinationDivId != 'null') {div.innerHTML = xmlText;}
	Object.innerHTML = xmlText;
}


function DeleteUser(ResponseText, DestinationDivId) {
  if (ResponseText != 'true') {alert("Odtranění uživatele se nezdařilo.");} 
  setTimeout(function () {GetContent("users.php");}, 1000); 
}

function DeleteAction(ResponseText, DestinationDivId) {
  if (ResponseText != 'true') {alert("Odtranění akce se nezdařilo.");} 
  setTimeout(function () {GetContent("kalendar-akci.php");}, 1000); 
}

function DeleteNews(ResponseText, DestinationDivId) {
  if (ResponseText != 'true') {alert("Odtranění novinky se nezdařilo.");} 
  setTimeout(function () {GetContent("novinky.php");}, 1000); 
}

function DeleteFormularName(ResponseText, DestinationDivId) {
  if (ResponseText != 'true') {alert("Odtranění názvu zážitku se nezdařilo.");} 
  setTimeout(function () {GetContent("objednavkovy-formular.php");}, 1000); 
}

function DeleteCourse(ResponseText, DestinationDivId) {
  if (ResponseText != 'true') {alert("Odtranění termínu kurzu se nezdařilo.");} 
  setTimeout(function () {GetContent("terminy-kurzu.php");}, 1000); 
}

function EditActions(ResponseText, DestinationDivId) {
  var div = document.getElementById(DestinationDivId);
  //alert(ResponseText);
  if (ResponseText == 'true') {
    div.style.color = "green";
    div.innerHTML = "Operace proběhla úspěšně.";
    //GetText("./pages/session_test.php", ShowContent, 'body_inside');
    setTimeout(function () {GetContent("actions.php");}, 2000);
  } else {
    div.style.color = "red";
    div.innerHTML = "Operace se nezdařila. Některá pole nemají zřejmě platnou formu.";
    setTimeout(function () {div.innerHTML = "";}, 4000);
  }  
}

function EditNews (ResponseText, DestinationDivId) {
  var div = document.getElementById(DestinationDivId);
  //alert(ResponseText);
  if (ResponseText == 'true') {
    div.style.color = "green";
    div.innerHTML = "Operace proběhla úspěšně.";
    //GetText("./pages/session_test.php", ShowContent, 'body_inside');
    setTimeout(function () {GetContent("novinky.php");}, 2000);
  } else {
    div.style.color = "red";
    div.innerHTML = "Operace se nezdařila. Některá pole nemají zřejmě platnou formu.";
    setTimeout(function () {div.innerHTML = "";}, 4000);
  }  
}

function EditFormularNames (ResponseText, DestinationDivId) {
  var div = document.getElementById(DestinationDivId);
  //alert(ResponseText);
  if (ResponseText == 'true') {
    div.style.color = "green";
    div.innerHTML = "Operace proběhla úspěšně.";
    //GetText("./pages/session_test.php", ShowContent, 'body_inside');
    setTimeout(function () {GetContent("objednavkovy-formular.php");}, 2000);
  } else {
    div.style.color = "red";
    div.innerHTML = "Operace se nezdařila. Některá pole nemají zřejmě platnou formu.";
    setTimeout(function () {div.innerHTML = "";}, 4000);
  }  
}

function EditCourse (ResponseText, DestinationDivId) {
  var div = document.getElementById(DestinationDivId);
  /*alert(ResponseText);*/
  if (ResponseText == 'true') {
    div.style.color = "green";
    div.innerHTML = "Operace proběhla úspěšně.";
    //GetText("./pages/session_test.php", ShowContent, 'body_inside');
    setTimeout(function () {GetContent("terminy-kurzu.php");}, 2000);
  } else {
    div.style.color = "red";
    div.innerHTML = "Operace se nezdařila. Některá pole nemají zřejmě platnou formu.";
    setTimeout(function () {div.innerHTML = "";}, 4000);
  }  
}

function Login(user_name, password) {
  var data = "user_name="+user_name+"&password="+password;
  PostText('./pages/login_input.php', data, LoginAccess, 'login_message');
}

function LoginAccess(ResponseText, DestinationDiv) {
  var div = document.getElementById(DestinationDiv);
  //alert(ResponseText);
  if (ResponseText == 'true') {
    div.style.color = "green";
    div.innerHTML = "Příhlášení proběhlo úspěšně.";
    //GetText("./pages/session_test.php", ShowContent, 'body_inside');
    setTimeout(function () {LoginSuccess(true);}, 2000);
  } else {
    div.style.color = "red";
    div.innerHTML = "Příhlášení se nezdařilo.";
    setTimeout(function () {GetText("./pages/login.php", ShowContent, 'login_inner');}, 2000);
  }   
}

function LoginSuccess(afterLogin) {
  if (afterLogin == true) {
    LoginClose(true);
    window.location.href = "index.php";
  }
  /*GetMenu('0');*/
  /*GetContent(page);*/
}

function LoginOpen()
{
  var body = document.getElementById("body");
  
  if (Activelogin == false) { 
    var loginDiv = document.createElement("div"); 
    loginDiv.setAttribute("id","login");
    loginDiv.style.position = "absolute";
    loginDiv.style.backgroundColor = "black";
    setOpacity(5.5, loginDiv);
    body.appendChild(loginDiv);
  } else {
    var loginDiv = document.getElementById("login");
  }
  
  
  ScrollX = getScrollXY("left");
  ScrollY = getScrollXY("top");
  
  loginDiv.style.width = parseInt(WindowSize('width')*actual_ratio)+"px";
  loginDiv.style.height = parseInt(WindowSize('height')*actual_ratio)+"px";
  loginDiv.style.left = parseInt(WindowSize('width')*((1/2 - actual_ratio/2))) + ScrollX +"px";
  loginDiv.style.top = parseInt(WindowSize('height')*((1/2 - actual_ratio/2))) + ScrollY +"px";
  
  if (ActiveloginInner == false) {
    var loginInner = document.createElement("div"); 
    loginInner.setAttribute("id","login_inner");
    loginInner.style.position = "absolute";
    body.appendChild(loginInner);
  } else {
    var loginInner = document.getElementById("login_inner");
  }
   
  loginInner.style.width = parseInt(width_inner*actual_ratio) + "px";
  loginInner.style.height = parseInt(height_inner*actual_ratio) + "px";
  loginInner.style.left = actual_ratio*(WindowSize('width') - width_inner)/2 + ScrollX + "px";
  loginInner.style.top = actual_ratio*(WindowSize('height') - height_inner)/2 + ScrollY + "px";

  actual_ratio += 0.1;
  
  if (actual_ratio > 1.0) {
    loginDiv.style.left = ScrollX + "px";
    loginDiv.style.top = ScrollY + "px";
    setOpacity(8.5, loginDiv);
    
    var Url = "./pages/login.php";
    GetText(Url, ShowContent, 'login_inner');
    return true;
  } else {
    Activelogin = true;
    ActiveloginInner = true;
    setTimeout(function () {LoginOpen()}, 50);
  }
}

function LoginScroll() {
  if (Activelogin == true) {
    var loginDiv = document.getElementById("login");
    var loginInner = document.getElementById("login_inner");
    
    ScrollX = getScrollXY("left");
    ScrollY = getScrollXY("top");
  
    loginDiv.style.width = WindowSize('width')+"px";
    loginDiv.style.height = WindowSize('height')+"px";
    loginDiv.style.left = ScrollX+"px";
    loginDiv.style.top = ScrollY+"px";
    
    loginInner.style.left = parseInt((WindowSize('width') - width_inner)/2 + ScrollX) + "px";
    loginInner.style.top = parseInt((WindowSize('height') - height_inner)/2 + ScrollY) + "px"; 
  }
}

function LoginResize() {
  if (Activelogin == true) {
    var loginDiv = document.getElementById("login");
    var loginInner = document.getElementById("login_inner");
    
    ScrollX = getScrollXY("left");
    ScrollY = getScrollXY("top");
  
    loginDiv.style.width = WindowSize('width')+"px";
    loginDiv.style.height = WindowSize('height')+"px";
    loginDiv.style.left = ScrollX+"px";
    loginDiv.style.top = ScrollY+"px";
    
    loginInner.style.left = parseInt((WindowSize('width') - width_inner)/2 + ScrollX) + "px";
    loginInner.style.top = parseInt((WindowSize('height') - height_inner)/2 + ScrollY) + "px"; 
  }
}

function LoginClose(success) {
  var loginDiv = document.getElementById("login");
  var loginInner = document.getElementById("login_inner");
 
  loginDiv.parentNode.removeChild(loginDiv);
  loginInner.parentNode.removeChild(loginInner);
  Activelogin = false;
  ActiveloginInner = false;
  actual_ratio = 0.0;
  
  if (success != true) { 
    /*GetMenu('1');*/
    GetContent("login_false.php");
  }
}

var isBrowserActive = false;
var actualBrowserRatio = 0.0;

//var domain = "http://147.32.122.167/chmelar_pages/";

function openBrowser(foto_id) {
	if ((isBrowserActive == true) && (actualBrowserRatio >= 1.0)) {
		// browser is already opened				
		closeBrowser();
	}
  
  var body = document.getElementsByTagName("body")[0];
  var browserHeight = 544;
  var browserWidth = 640;
  var scrollX = getScrollXY("left");
  var scrollY = getScrollXY("top");
  
	//var test = document.getElementById('test');	  
  
  // init or get browser window 
  if (isBrowserActive == false) {
  	var BrowserInner = document.createElement("div"); 
  	BrowserInner.setAttribute("id","browser_inner");
  	body.appendChild(BrowserInner);	
	} else {
		var BrowserInner = document.getElementById("browser_inner");
	}
	
	// define actual position and size 
	BrowserInner.style.width = parseInt(browserWidth * actualBrowserRatio) + "px";
  BrowserInner.style.height = parseInt(browserHeight) + "px";
  BrowserInner.style.left = actualBrowserRatio*(WindowSize('width') -browserWidth)/2 + scrollX + "px";
  BrowserInner.style.top = (WindowSize('height') - browserHeight)/2 + scrollY + "px";
	
	// increment size ratio
	actualBrowserRatio += 0.1;
	//test.innerHTML += 'ratio: ' + actualBrowserRatio + '<br>';
	
	if (actualBrowserRatio >= 1.0) {
  	changeBrowserFoto(foto_id);
  } else {
    isBrowserActive = true;
    setTimeout(function () {openBrowser(foto_id);}, 50);
  } 	
}

function closeBrowser() {
  var BrowserInner = document.getElementById("browser_inner");
  BrowserInner.parentNode.removeChild(BrowserInner);
  isBrowserActive = false;
  actualBrowserRatio = 0.0;
}


function changeBrowserFoto(foto_id) {
	var url = domain+"modules/browser.php?foto_id="+foto_id;
	GetText(url, EvalShowContent, 'browser_inner');
}

function ImageBrowserOpen(foto_id) {  
	/*  
  if (document.getElementById("browser_inner") != null) {
    var BrowserInner = document.getElementById("browser_inner");
    BrowserInner.style.width = parseInt(image_width) + "px";
    BrowserInner.style.height = parseInt(image_height) + "px";
    var Url = domain+"modules/browser.php?height="+image_height+"&width="+image_width+"&description="+description+"&curr_fileID="+curr_fileID+file;
    GetText(Url, EvalShowContent, 'browser_inner');
    return true;
  }
  */
  var test = document.getElementById('test');
  //test.innerHTML += actual_ratio;
  //actual_ratio += 0.1;
  //test.innerHTML += actual_ratio;
  
  
  if (ActiveBrowserInner == true) {ImageBrowserClose();}
  var body = document.getElementsByTagName("body")[0];
  
  //var image_ratio = image_width/image_height;
  var height_inner = 540;//parseInt(0.9*WindowSize('height'));
  var width_inner  = 720;//0.5*WindowSize('width');
  var ScrollX = getScrollXY("left");
  var ScrollY = getScrollXY("top");
  //test.innerHTML += 'Sleft: ' + ScrollX + ' - Stop' + ScrollY + ' - Wheight: ' + WindowSize('width') + ' - Wwidth: ' + WindowSize('height');  
  //return; 
  //if (image_height < height_inner) {height_inner = image_height;}
  //if (image_width < width_inner)   {width_inner = image_width;}
  
  if (ActiveBrowserInner == false) {
    //if (ScrollY < 210) {
      //document.getElementById("flash").style.visibility = "hidden"; 
    //}
    var BrowserInner = document.createElement("div"); 
    BrowserInner.setAttribute("id","browser_inner");
    BrowserInner.style.position = "absolute";
    //BrowserInner.style.zIndex = 1;
    BrowserInner.style.backgroundColor = "white";
    body.appendChild(BrowserInner);
  } else {
    var BrowserInner = document.getElementById("browser_inner");
  }
  
  BrowserInner.style.width = parseInt(width_inner*actualBrowserRatio) + "px";
  //BrowserInner.style.height = parseInt(height_inner*actual_ratio) + "px";
  BrowserInner.style.height = parseInt(height_inner) + "px";
  BrowserInner.style.left = actualBrowserRatio*(WindowSize('width') - width_inner)/2 + ScrollX + "px";
  //BrowserInner.style.left = (WindowSize('width') - width_inner)/2 + ScrollX + "px"
  //BrowserInner.style.top = actual_ratio*(WindowSize('height') - height_inner)/2 + ScrollY + "px";
  BrowserInner.style.top = (WindowSize('height') - height_inner)/2 + ScrollY + "px";

  actualBrowserRatio = actualBrowserRatio + 0.1;
  test.innerHTML += 'ratio: ' + actualBrowserRatio + '<br>'; 
  if (actualBrowserRatio >= 1.0) {
  	changeFoto(foto_id);
    //var Url = domain+"modules/browser.php?height="+height_inner+"&width="+width_inner+"&description="+description+"&curr_fileID="+curr_fileID+file;
    //alert(Url);
    //GetText(Url, EvalShowContent, 'browser_inner');
    
    //document.getElementById("flash").style.zIndex = -1;
    return;
  } else {
    ActiveBrowserInner = true;
    setTimeout(function () {ImageBrowserOpen(foto_id);}, 50);
  }
}


function ImageBrowserClose() {
  var BrowserInner = document.getElementById("browser_inner");
  BrowserInner.parentNode.removeChild(BrowserInner);
  //document.getElementById("flash").style.visibility = "visible"; 
  ActiveBrowserInner = false;
  actualBrowserRatio = 0.0;
}

function changeFoto(foto_id) {
	var url = domain+"modules/browser.php?foto_id="+foto_id;
	//alert(url);
  GetText(url, EvalShowContent, 'browser_inner');
}





