﻿// script pre custom drop down
if (_siteLevel == undefined) var _siteLevel="../";

function selectReplacement(obj,funct) 
{
	obj._className = obj.className;
	obj._onchange = obj.onchange;

    obj.className += ' replaced';
    var ul = document.createElement('ul');
    ul.className = 'selectReplacement' + obj._className;
    ul.style.cssText = obj.style.cssText;
    if (obj.disabled)
    {
        ul.className += " disabled";
    }
    var opts = obj.options;
	var optsL = opts.length;
    var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
    for (var i=0; i<optsL; i++) 
    { 
        // ak je Disabled tak prenes len aktualne zvoleny
        if (!obj.disabled || obj.disabled && i == selectedOpt)
        {
            var li = document.createElement('li');
            if (funct != null) 
                { var txt = funct(opts[i].value, opts[i].text); }
            else
                { var txt = document.createTextNode(opts[i].text); }
            li.appendChild(txt);
            li.selIndex = i;
            li.selectID = obj.id;
            li.onclick = function() { selectMe(this); };
            if (i == selectedOpt) 
            {
                li.className = 'selected';
                li.onclick = function() {
                    this.parentNode.className += ' selectOpen' + obj._className;
                    this.onclick = function() { selectMe(this); };
                    };
            }
            if (window.attachEvent) 
            {
                li.onmouseover = function() { this.className += ' hover'; };
                li.onmouseout = function() { this.className = this.className.replace(new RegExp(" hover\\b"), ''); };
            }
            if (i==0) { li.className += " listFirst"; }
            ul.appendChild(li);
        }
    }
    obj.onfocus = function() { ul.className += ' selectFocused' + obj._className; };
    obj.onblur = function() { ul.className = 'selectReplacement'+ obj._className; };
    obj.onchange = function() { var idx = this.selectedIndex; selectMe(ul.childNodes[idx]); };
    obj.onkeypress = obj.onchange;
    obj.parentNode.insertBefore(ul,obj);
    return ul;
}

function selectMe(obj) {
    var lis = obj.parentNode.getElementsByTagName('li');
	var lisL = lis.length;
    var objSel = document.getElementById(obj.selectID);
    for (var i=0; i<lisL; i++) 
    {   
        if (lis[i] != obj) 
        {
            lis[i].className='';
            lis[i].onclick = function() { selectMe(this); };
        } 
        else 
        {
            setVal(obj.selectID, obj.selIndex); 
            obj.className='selected';
            obj.parentNode.className = obj.parentNode.className.replace(new RegExp(" selectOpen"+objSel._className+"\\b"), '');
            obj.onclick = function() 
            {
                obj.parentNode.className += ' selectOpen' + objSel._className;
                this.onclick = function() {selectMe(this); };
            };
        }
        if (i==0) { lis[i].className += " listFirst"; }
    }
}

function hideAll(ul,selectEl) { ul.className = ul.className.replace(new RegExp(" selectOpen"+selectEl._className+"\\b"), ''); }
function showAll(ul,selectEl) { ul.className += ' selectOpen' + selectEl._className; }

function setVal(objID,val) 
{
    var obj = document.getElementById(objID);
    obj.selectedIndex = val;
	if (obj._onchange != undefined) 
	    obj._onchange();
}

function setSelect(name, mouseover, funct) 
{ 
    var selectEl = document.getElementById(name); 
    if (selectEl != null)
    { 
        var selectDiv = selectEl.parentNode;
        var ul = selectReplacement(selectEl, funct);
        if (ul != null)
        {
            if (selectDiv != null)
            {
                selectDiv.style.cssText = ul.style.cssText; 
                selectDiv.className = 'selectReplacement' + selectEl._className;
            }
            if (mouseover)
            {
                ul.onmouseout = function() { hideAll(ul,selectEl);}
                ul.onmouseover = function() { showAll(ul,selectEl);}                   
            }
        }
    }
}

function createLang(value, text) 
{
    var obj = document.createDocumentFragment();
    var img = document.createElement("img");
    img.src=_siteLevel+"Img/Language/"+value+".gif";
    img.width = "16";
    img.id = "selectlang"+value;
    img.alt = text;
    var txt = document.createTextNode(" "+text);
    obj.appendChild(img);
    obj.appendChild(txt);
    return obj;
}

//CheckBoxReplacement
crir = {
    cssClass: "|chbox1|chbox2|",
	cssHover: "hover",
	cssHidden: "crirHidden",
	cssCheckBox: { checked:"checkbox_checked", unchecked:"checkbox_unchecked"},
	cssRadio: { checked:"radio_checked", unchecked:"radio_unchecked"},
	
	init: function() {
		var arrLabels = document.getElementsByTagName('label');
		var arrLabelsL = arrLabels.length;
		searchLabels:
		for (var i=0; i<arrLabelsL; i++) {
			var parentNode = arrLabels[i].parentNode;
			if (arrLabels[i].getAttributeNode('for') && arrLabels[i].getAttributeNode('for').value != '' && parentNode != null) {
				labelElementFor = arrLabels[i].getAttributeNode('for').value;				
				inputElement = document.getElementById(labelElementFor);
			}
			else {				
				continue searchLabels;
			}	
			inputElementClass = inputElement.className;	
			parentNodeClass = "|" + parentNode.className + "|";
			if (crir.cssClass.indexOf(parentNodeClass) > -1 ) { 
				inputElement._onclick = inputElement.onclick;
				inputElement.className = crir.cssHidden;
				inputElementType = inputElement.getAttributeNode('type').value;	
				if (inputElementType == "checkbox") {
					inputElement.onclick = crir.toggleCheckboxLabel;
				}
				else {
					inputElement.onclick = crir.toggleRadioLabel;
				}
				arrLabels[i].onmouseover = crir.overLabel;
				arrLabels[i].onmouseout = crir.outLabel;
				if (inputElement.checked) {
					if (inputElementType == 'checkbox') { arrLabels[i].className = crir.cssCheckBox.checked}
					else { arrLabels[i].className = crir.cssRadio.checked }
				}
				else {
					if (inputElementType == 'checkbox') { arrLabels[i].className = crir.cssCheckBox.unchecked}
					else { arrLabels[i].className = crir.cssRadio.unchecked }
				}
			}
			else if (inputElement.nodeName != 'SELECT' && inputElement.getAttributeNode('type').value == 'radio') { // this so even if a radio is not hidden but belongs to a group of hidden radios it will still work.
				inputElement._onclick = inputElement.onclick;
				//arrLabels[i].onclick = crir.toggleRadioLabel;
				inputElement.onclick = crir.toggleRadioLabel;
			}
		}			
	},	
	
	overLabel:	function() { this.className += ' '+crir.cssHover; },
	outLabel:	function() { this.className = this.className.replace(new RegExp(" "+crir.cssHover+"\\b"), ''); },
	
	findLabel:	function (inputElementID) {
		var arrLabels = document.getElementsByTagName('label');
		var arrLabelsL = arrLabels.length;
		searchLoop:
		for (var i=0; i<arrLabelsL; i++) {
			if (arrLabels[i].getAttributeNode('for') && arrLabels[i].getAttributeNode('for').value == inputElementID) { return arrLabels[i];break searchLoop; }
		}		
	},	
	
	toggleCheckboxLabel: function () {
		labelElement = crir.findLabel(this.getAttributeNode('id').value);
		if(this.checked) {labelElement.className = labelElement.className.replace(new RegExp(crir.cssCheckBox.unchecked+"\\b"), crir.cssCheckBox.checked); }
		else { labelElement.className = labelElement.className.replace(new RegExp(crir.cssCheckBox.checked+"\\b"), crir.cssCheckBox.unchecked);	}
		if (this._onclick != undefined) 
		    this._onclick();
	},	
	
	toggleRadioLabel: function () {			 
		clickedLabelElement = crir.findLabel(this.getAttributeNode('id').value);
		clickedInputElement = this; 
		clickedInputElementName = clickedInputElement.getAttributeNode('name').value;
		var arrInputs = document.getElementsByTagName('input');
		var arrInputsL = arrInputs.length;
		for (var i=0; i<arrInputsL; i++) {			
			inputElementType = arrInputs[i].getAttributeNode('type').value;
			if (inputElementType == 'radio') {
				inputElementName = arrInputs[i].getAttributeNode('name').value;
				inputElementClass = arrInputs[i].className;
				if (inputElementName == clickedInputElementName && inputElementClass == crir.cssHidden) {				
					inputElementID = arrInputs[i].getAttributeNode('id').value;
					labelElement = crir.findLabel(inputElementID);
					labelElement.className = labelElement.className.replace(new RegExp(crir.cssRadio.checked+"\\b"), crir.cssRadio.unchecked);
				}
			}
		}
		if (clickedInputElement.className == crir.cssHidden) { clickedLabelElement.className = clickedLabelElement.className.replace(new RegExp(crir.cssRadio.unchecked+"\\b"), crir.cssRadio.checked); }
		if (this._onclick != undefined) 
    		this._onclick();
	},
	
	addEvent: function(element, eventType, doFunction, useCapture){
	if (element.addEventListener) { element.addEventListener(eventType, doFunction, useCapture); return true; }
	else if (element.attachEvent) { var r = element.attachEvent('on' + eventType, doFunction); return r; }
		else { element['on' + eventType] = doFunction; }
	}
}
//crir.addEvent(window, 'load', crir.init, false );

/* ------------- funkcia pre otvaranie linky do noveho okna -------------------------*/

function openBlankWindow(link) {
    var href = document.getElementById(link).href;
    window.open(href,'downloadView','status=yes, help=no, center=yes, scroll=off,menubar=no, width=700, height=500');
}

/* ------------- Cookies -------------------------*/
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function ShowProgress(validationGroup,sender,bar,postBack)
{
    if (typeof(Page_ClientValidate) == 'function') 
    {
        var oldPage_IsValid = Page_IsValid; 
        var oldPage_BlockSubmit = Page_BlockSubmit;
        if (Page_ClientValidate(validationGroup) == false) 
        {
            Page_IsValid = oldPage_IsValid; 
            Page_BlockSubmit = oldPage_BlockSubmit; 
            return false; 
        }
    } 
    if (sender == undefined || bar == undefined) return true;
    var barObj = document.getElementById(bar);
    var senderParent = document.getElementById(sender).parentNode;
    if (senderParent == undefined || barObj == undefined) return true;
    senderParent.style.display = "none";
    barObj.style.display = "block";
    
    setTimeout("UpdateImg('imgProc');",10);
    postBack();
    return false;
}

function UpdateImg(bar)
{
    var barObj = document.getElementById(bar);
//alert(barObj.src);
    barObj.src = barObj.src;
}
