function confirmWin(confirmMsg)
{
    var is_confirmed = confirm(confirmMsg + ' :\n');

    return is_confirmed;
}

//form currency


function numCurrencyFormat(p_num,decimalDelimiter)
{
	var output = '';
	var decimalIndex = p_num.indexOf(decimalDelimiter); 

	if (decimalIndex == -1) {
		var whole = p_num;
		var wdec = '00';
	} else {
		var whole = p_num.substring(0,decimalIndex);
		var wdec = p_num.substring(decimalIndex+1);
	
		wdec = wdec.replace(/[^0-9]/g,'');
	
		if (wdec.length == 0) {
			wdec = '00';
		} else if (wdec.length == 1) {
			wdec = wdec+'0';
		} else {
			wdec = wdec.substring(0,2);
		}
	}

	whole=''+Math.floor(whole);
	for (i = whole.length-1; i >= 0 ; i--)
	{
		output = whole.charAt(i)+output;

		if (((whole.length-i)%3==0)&&(i>0))
		{
			output = '.'+output;
		}

	}

	if (output == '') {
		output = '0';
	}

	output = output+decimalDelimiter+wdec;

	return output;
}

function cleanString(p_num,decimalDelimiter) {
	var re = new RegExp("[^0-9"+decimalDelimiter+"]", "g");
	var str = p_num.replace(re,'');

	return str;
}

function currencyFormat(obj,decimalDelimiter) {

	if (!obj) return;
	if (obj.value=='') return;

	obj.value = cleanString(obj.value,decimalDelimiter);
	obj.value = numCurrencyFormat(obj.value,decimalDelimiter);
}

var XMLHttpRequestObject = createXMLHttpRequestObject();
function createXMLHttpRequestObject()
{
  var XMLHttpRequestObject = false;

  try
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e)
  {
    var aryXmlHttp = new Array(
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP",
                               "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0"
                               );
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
    {
      try
      {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      }
      catch(e){document.write("createXMLHttpRequestObject: XMLHttpRequestObject Error");}
    }
  }

  if (!XMLHttpRequestObject)
  {
    alert("Error: failed to create the XMLHttpRequest object.");
  }
  else
  {
    return XMLHttpRequestObject;
  }
}

function sendFormData(idForm, dataSource, divID, ifLoading)
{
  var postData='';
  var strReplaceTemp;

  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("POST", dataSource);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
          XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");

    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        try
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = XMLHttpRequestObject.responseText;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else
      {
        if(ifLoading)
        {
          try
          {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = '<center><img src="/typo3conf/ext/alphito_libs/libs/img/loading.gif"></center>';
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }

    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
      strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
      if (document.getElementById(idForm).elements[i].tagName == "SELECT") {
		var selObj=document.getElementById(idForm).elements[i];
		for(j=0; j<selObj.length; j++) {
			if (selObj[j].selected == true) {
				postData += "&aryFormData["+strReplaceTemp+"][]="+Base64.encode(selObj[j].value);
			}
		}
      } else if (document.getElementById(idForm).elements[i].type == "radio") {
                if (document.getElementById(idForm).elements[i].checked) {
                                postData += "&aryFormData["+strReplaceTemp+"][]="+Base64.encode(document.getElementById(idForm).elements[i].value);
                }
      } else if (document.getElementById(idForm).elements[i].type == "checkbox") {
                if (document.getElementById(idForm).elements[i].checked) {
                                postData += "&aryFormData["+strReplaceTemp+"][]="+Base64.encode(document.getElementById(idForm).elements[i].value);
                }
      } else {
	      postData += "&aryFormData["+strReplaceTemp+"]="+Base64.encode(document.getElementById(idForm).elements[i].value);
      }

    }

    postData += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}

function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
}      

function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function

/*
function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
//    alert("Handler could not be removed");
    alert("Handler could not be removed1: "+evType);
  }
} 

function removeEvent(elm, evType, fn, useCapture)
{
  if (elm.removeEventListener){
    elm.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.detachEvent){
    var r = elm.detachEvent("on"+evType, fn);
    return r;
  } else {
//    alert("Handler could not be removed");
    alert("Handler could not be removed2: "+evType);
  }
}
*/

// TAB Handle
function setSelectionRange(input, selectionStart, selectionEnd) {
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
}

function replaceSelection (input, replaceString) {
	if (input.setSelectionRange) {
		var selectionStart = input.selectionStart;
		var selectionEnd = input.selectionEnd;
		input.value = input.value.substring(0, selectionStart)+ replaceString + input.value.substring(selectionEnd);
    
		if (selectionStart != selectionEnd){ 
			setSelectionRange(input, selectionStart, selectionStart + 	replaceString.length);
		}else{
			setSelectionRange(input, selectionStart + replaceString.length, selectionStart + replaceString.length);
		}

	}else if (document.selection) {
		var range = document.selection.createRange();

		if (range.parentElement() == input) {
			var isCollapsed = range.text == '';
			range.text = replaceString;

			 if (!isCollapsed)  {
				range.moveStart('character', -replaceString.length);
				range.select();
			}
		}
	}
}

function catchTab(item,e){
	if(navigator.userAgent.match("Gecko")){
		c=e.which;
	}else{
		c=e.keyCode;
	}
	if(c==9){
		replaceSelection(item,String.fromCharCode(9));
		setTimeout("document.getElementById('"+item.id+"').focus();",0);	
		return false;
	}
		    
}

function loadContentFromUrl(divId,url) {
        var iDiv = document.getElementById(divId);
        if (XMLHttpRequestObject) {
                XMLHttpRequestObject.open("GET", url);
                XMLHttpRequestObject.setRequestHeader("Method", "GET " + url + " HTTP/1.1");
                //XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                XMLHttpRequestObject.onreadystatechange = function() {
                        try {
                                if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
                                        try {
                                                iDiv.innerHTML = XMLHttpRequestObject.responseText;
                                        }
                                        catch(e){}
                                }
                        }
                        catch(e){}
                }

                try {
                        XMLHttpRequestObject.send("");
                }
                catch(e){document.write("Napaka v XMLHttpRequestObject");}
        }

}

function initLinkedSelect(from,to,options) {
	var toSelectedVal=to.options[to.selectedIndex].value;
	//alert (to.options[to.selectedIndex].value);
     (from.style || from).visibility = "visible";
     from.onchange = function() {
       var fromCode = from.options[from.selectedIndex].value;
       to.options.length = 0;
       for (i = 0; i < options.length; i++) {
         if (options[i][0] == fromCode) {
           to.options[to.options.length] = 
                new Option(options[i][1],options[i][2]);
         }
       } 
	//alert (to.options[to.selectedIndex].value);
	if (to.options[0]) {
		to.options[0].selected = true;
	}
     }
     from.onchange();

	//alert (toSelectedVal);
	//nastavi nazaj zacetno vrednost
	for (var j=0; j < to.length; j++) {
		if (to[j].value == toSelectedVal) {
			to[j].selected = true;
		}
	}
}

function toggleDivContentStack(divid) {
	var div = document.getElementById(divid);
	var stack = document.getElementById(divid+"-stack");

	var tmp = stack.innerHTML;
	stack.innerHTML = div.innerHTML;
	div.innerHTML = tmp;
}

function loadContentFromUrl(divId,url,topHtml) {
        var iDiv = document.getElementById(divId);

        if (XMLHttpRequestObject) {
                XMLHttpRequestObject.open("GET", url);
                XMLHttpRequestObject.setRequestHeader("Method", "GET " + url + " HTTP/1.1");
                //XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                XMLHttpRequestObject.onreadystatechange = function() {
                        try {
                                if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
                                        try {
                                                iDiv.innerHTML = topHtml+XMLHttpRequestObject.responseText;
                                        }
                                        catch(e){}
                                }
                        }
                        catch(e){}
                }

                try {
                        XMLHttpRequestObject.send("");
                }
                catch(e){document.write("Napaka v XMLHttpRequestObject");}
        }
}

