/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function Fdump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
  // Budeme zapisovat do suboru!
  // var fso = new CreateObject("Scripting.FileSystemObject");
  var fso = new ActiveXObject('Scripting.FileSystemObject');
  // var s = fso.CreateTextFile("C:\js"+level+".txt", True);
  var s = fso.OpenTextFile("C:\js"+level+".txt",8);
  s.writeline("---- DUMP ----");
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				// dumped_text += level_padding + "'" + item + "' ...\n";
				// dumped_text += dump(value,level+1);
				s.writeline(level_padding + "'" + item + "' ...\n");
				s.writeline(dump(value,level+1));
			} else {
				// dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
        s.writeline(level_padding + "'" + item + "' => \"" + value + "\"\n");
			}
		}
	} else { //Stings/Chars/Numbers etc.
		// dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    s.writeline("===>"+arr+"<===("+typeof(arr)+")");
	}
  s.Close();
	return 'je to v subore C:\\js.txt ';
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function zobrazSkryj(idecko)
{
  var el=document.getElementById(idecko);
  // el.style.display=(GetDisplay(el) == "none")?"block":"none";
  if(GetDisplay(el) == "none") SetDisplay(el, "block");
  else SetDisplay(el, "none");
  // el.innerHTML += dump(el.style.display);
  // alert(el.style.display);
  // el.visibility = (el.visibility == "hidden")?"visible" : "hidden";
}

function GetDisplay(el)
{
  if(el.currentStyle)
    return el.currentStyle.display;
  if(document.defaultView)
    return document.defaultView.getComputedStyle(el, '').getPropertyValue("display");
  ERROR("Don't know how to get display");
  return '';
}

function SetDisplay(el, style)
{
  el.style.display = style;
  return;
  if(el.currentStyle)
    el.currentStyle.display = style;
  if(document.defaultView)
    document.defaultView.getComputedStyle(el, '').getPropertyValue("display") = style;
  ERROR("Don't know how to set display");
  return '';
}

function Browser(ret)
{
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

  var t = "Browser name: "+ browser + "\n"+
  "Browser version: "+ version;
  if(ret)
    return t;
  alert(t);
}

function ERROR(tt)
{
  alert("Nastala chyba v JavaScripte: \n"+tt+"\n\n"+Browser(true));
}

// function imposeMaxLength(Object, MaxLen)
// {
  // //alert('Kontrolujem: '+Object.toString());
  // //alert('Dlzka: '+Object.value.length);
  // return (Object.value.length <= MaxLen);
// }

function imposeMaxLength(Event, Object, MaxLen)
{
  if(Object.value.length > MaxLen)
    Object.value = Object.value.substr(0, MaxLen);
  return ((Object.value.length <= MaxLen)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40)))
}

function SubmitForm(name)
{
  document.name.submit();
}

function CheckBoxWarning(el, text)
{
  // alert(el.name + el.checked);
  if(!el.checked)
    return true;
  else
    return confirm(text);
}

// var rtb_tags = new Array();
// rtb_tags[0] = new Array('[b]', '<b>', '[/b]', '</b>');
// rtb_tags[1] = new Array('[i]', '<i>', '[/i]', '</i>');

//document.onmousedown = click;

function isdefined( variable)
{
  alert(typeof(window[variable]));
    return (typeof(window[variable]) == "undefined")?  false: true;
}

//document.getElementById('BB').onmousedown= click;
/*
function SetSelectionIE(id)
{
  var element = document.getElementById( 'my_textarea' );
}
*/

function IsIE()
{
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
//alert(clientPC);
var clientVer = parseInt(navigator.appVersion); // Get browser version
//alert(clientVer);
  var browser=navigator.appName;
  var b_version=navigator.appVersion;
  var version=parseFloat(b_version);
  //alert(Browser(true));
  if( browser.indexOf('xplorer') != -1 && browser.indexOf('nternet') != -1 )
    return true;
  return false;
}

// Form_Ford funkcia
function ChangeValue(elemId, change, min, max)
{
  var elem = document.getElementById(elemId);
  if(elem == null) return alert('OPS! '+elemId);
  // alert("Changing value! elemID" + elem.value + elem);
  
  if(min != 'null' && elem.value <= min && change < 0)
  {
    elem.value = min;
    return;
  }
  if(max != 'null' && elem.value >= max && change > 0)
  {
    elem.value = max;
    return;
  }
  // alert(dump(elem.value));
  // alert(dump(parseInt(elem.value)));
  // alert(parseInt(elem.value));
  if( elem.value == "" || isNaN(elem.value) ) elem.value = 0;
  // if ( parseInt(elem.value) == NaN ) alert('NAN2!');
  // if(typeof(elem.value) != 'number') { alert('Value 0!'); elem.value = 0;  }
  // if( typeof(parseInt(elem.value)) == 'string' ) { alert('NAN!'); elem.value = 0; }
  //alert(dump(change));
  //alert(dump(elem.value));
  //alert(dump(parseInt(elem.value)));
  elem.value = (parseInt(elem.value) + parseInt(change));
  if(elem.value < min) elem.value = min;
  if(elem.value > max) elem.value = max;
  // alert("Changing value!" + elem.value);
}

// Funkcia pre zmenu pozadia, els > pole ID elementov, kde menime pozadie
function ChangeColor(color, els)
{
  for(var i=0; i < els.length; i++)
  {
    var elem = document.getElementById(els[i]);
    if(!elem)
    {
      alert('OPS! Not element '+els[i]);
      continue;
    }
    elem.style.backgroundColor = color;
  }
}

// Funkcia zmeni po kliknuti na ikonu folder!
function ChangeFolder(elemId, val)
{
  var elem = document.getElementById(elemId);
  if(elem == null) return alert('OPS! '+elemId);
  elem.value = val;
}

function CustomValue(par)
{
  this.value = par;
}

// POZOR!! specialna funkcia!
function AMI_ChangePolozkaTyp(el)
{
  // zmenime
  // alert('Zmena: value ' + el.value);
  var typ1 = new Array();
  var typ2 = new Array();
  // if(el.value == 2)
  // {
  typ1.push('AMI_L1');
  typ1.push('AMI_L2');
  typ1.push('AMI_L3');
  typ2.push('AMI_S1');
  // typ2.push('AMI_S2');
    // hide.push('AMI_Lname');
  //}
  
  for(var i=0; i < typ1.length; i++)
  {
    var elem = document.getElementById(typ1[i]);
    if(!elem)
    {
      alert('OPS! Not element '+typ1[i]);
      continue;
    }
    if(el.value == 1)
      SetDisplay(elem, '');
    else
      SetDisplay(elem, 'none');
    /*
    if(el.value == 2 || el.value == 0 || el.value == 3)
      SetDisplay(elem, 'none');
    else if(el.value = 1)
      SetDisplay(elem, '');
    */
    // elem.style.backgroundColor = color;
  }
  
  for(var i=0; i < typ2.length; i++)
  {
    var elem = document.getElementById(typ2[i]);
    if(!elem)
    {
      alert('OPS! Not element '+typ2[i]);
      continue;
    }
    //if(el.value == 1 || el.value == 0 || el.value == 3)
    if(el.value == 2)
      SetDisplay(elem, '');
    else
      SetDisplay(elem, 'none');
    // elem.style.backgroundColor = color;
  }
}

function ChangeClass(elid, cl)
{
  // alert('Zmena!');
  var elem = document.getElementById(elid);
  if(elem)
    elem.className = cl;
}