function SetCursor(id)
{
	var obj = document.getElementById(id);
	if(obj)
	{
	    obj.focus();
	    if(obj.createTextRange) 
	    {
		    var v = obj.value;
    	    var r = obj.createTextRange();
    	    r.moveStart('character', v.length);
    	    r.select();
	    }
	}
}

function GoTo(url, blank)
{
    if(blank) window.open(url);
    else window.location = url;	
}

function GetRadioValue(radio) 
{
	if(!radio) return '';
	var radioLength = radio.length;
	if(radioLength == undefined)
	{
		if(radio.checked) 
			return radio.value;
		else
			return '';
	}
	for(var i = 0; i < radioLength; i++) if(radio[i].checked) return radio[i].value;
	return '';
}

function SetFieldClass(field, cls)
{
	field.className = cls;
}

function ChangeDynamicList(parentList, childList, childArray)
{
	var parentListValue = parentList.options[parentList.selectedIndex].value;
	var tmp;
	var current = 0;
	
	childList.options.length = 1;
	
	if(parentListValue == "0") return false;
	
	for(var i = 0; i < childArray[parentListValue].length; i++)
	{
		childList.options[childList.length] = new Option(childArray[parentListValue][i][0], childArray[parentListValue][i][1], false, childArray[parentListValue][i][1] == current);
		if (childArray[parentListValue][i][1] == current) tmp = i;
	}
	
	childList.selectedIndex = tmp + 1;
	
	if (childList.options[childList.selectedIndex].text == '-')
	{
		childList.disabled = true;
		childList.selectedIndex = 1;
	}
	else
	{
		childList.disabled = false;
	}
}

function KeepDynamicListChild(childList, childListKeeper)
{
    childListKeeper.value = childList.value;
}

function ChangeDynamicListFromKeeper(parentList, childList, childArray, childListKeeper)
{
    ChangeDynamicList(parentList, childList, childArray);
	if((childListKeeper.value != null) && (!(childList.disabled))) 
	{
		SelectOptionByValue(childList, childListKeeper.value);
	}
}

function SelectOptionByValue(objList, selValue)
{
    for(i = 0; i < objList.options.length; i++)
    {
        if(objList.options[i].value == selValue) objList.options[i].selected = true;
    }
}

function InArray(arr, search)
{
    try
    {
        for(i = 0; i < arr.length; i++) if(arr[i] == search) return true;
    }
    catch(err) { }
    return false;
}

function ControlInputInt(e)
{
    var code;
    if(e)
    {
        code = e.which;
        if((code < 48 || code > 57) && code != 13 && code != 8 && code != 0 && !e.ctrlKey) e.preventDefault();
        else return true;
    }
    else
    {
        code = event.keyCode;
        if((code < 48 || code > 57 || code == 32) && code != 13) event.returnValue = false;
        else return true;
    }
}

function ControlPasteInt(e)
{
    try
    {
        var pasteData = window.clipboardData.getData('Text');
        event.srcElement.value = pasteData.replace(/[^0-9]+/gi, '');
        event.returnValue = false;
    }
    catch(err) { }
}

function ControlInputFloat(e)
{
    var code;
    var obj;
    var isPointPressed = false;

    if(e)
    {
        if(e.target) obj = e.target;
        else if(e.srcElement) obj = e.srcElement;
        if(obj.nodeType == 3) obj = obj.parentNode; // Safari bug
        
        if(!isPointPressed && obj) isPointPressed = obj.value.indexOf('.') > -1;
        if(!isPointPressed && obj) isPointPressed = obj.value.indexOf(',') > -1;
        
        code = e.which;
        
        if(!((code >= 48 && code <= 57) || code == 13 || code == 8 || code == 0 || ((code == 44 || code == 46) && !isPointPressed)) && !e.ctrlKey) 
            e.preventDefault();
    }
    else
    {
        if(event.target) obj = event.target;
        else if(event.srcElement) obj = event.srcElement;
        if(obj.nodeType == 3) obj = obj.parentNode; // Safari bug
        
        if(!isPointPressed && obj) isPointPressed = obj.value.indexOf('.') > -1;
        if(!isPointPressed && obj) isPointPressed = obj.value.indexOf(',') > -1;

        code = event.keyCode;
        
        if(!((code >= 48 && code <= 57 && code != 32) || code == 13 || ((code == 44 || code == 46) && !isPointPressed))) 
            event.returnValue = false;
    }
}

function ControlInputChars()
{
    var strLegalChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZąčęėįšųūžĄČĘĖĮŠŲŪŽ';
    var intKeyCode = window.event ? window.event.keyCode : window.event.which;
    if(strLegalChars.indexOf(String.fromCharCode(intKeyCode)) < 0) window.event.returnValue = false;
}

function RandomString(len)
{
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var randomString = '';
    for(var i = 0; i < len; i++)
    {
        var rnum = Math.floor(Math.random() * chars.length);
        randomString += chars.substring(rnum, rnum + 1);
    }
    return randomString;
}

function TryEval(s)
{
    try
    {
        eval(s);
    }
    catch(err)
    {
        //   
    }
}

function ErrOn(desc, page, line, chr)
{
    alert('A JavaScript error has occurred!\n\n' + 
            'Error:\t' + desc + '\n' + 
            'URL:\t' + page + '\n' + 
            'Line:\t' + line + '\n');
    return true;
}

function CapsLock()
{
    kc = event.keyCode ? event.keyCode : event.which;
    sk = event.shiftKey ? event.shiftKey : ((kc == 16) ? true : false);
    if(((kc >= 65 && kc <= 90) && !sk) || ((kc >= 97 && kc <= 122) && sk)) return true;
    else return false;
}

function FieldOff(id)
{
    var obj = document.getElementById(id);
    if(obj)
    {
        obj.style.visibility = 'hidden';
        obj.style.display = 'none';
    }
}

function FieldOn(id, display)
{
    var obj = document.getElementById(id);
    if(!display) display = 'block';
    if(obj)
    {
        obj.style.visibility = 'visible';
        obj.style.display = display;
    }
}

function FieldOnOff(id, display)
{
    var obj = document.getElementById(id);
    if(!display) display = 'block';
    if(obj)
    {
        if(obj.style.visibility == 'hidden') FieldOn(obj, display);
        else FieldOff(obj);
    }
}

function AreYouSure(text)
{
	return confirm(text);
}

function MakeURLKey(objName, objUrlKey, separator)
{
	if(objUrlKey.value == '')
	{
        if(!separator) separator = '_';
        
        var trans = new Array();
        trans[trans.length] = new Array(/ /g, separator);
        trans[trans.length] = new Array(/\?/g, '');
        trans[trans.length] = new Array(/ą/g, 'a');
        trans[trans.length] = new Array(/č/g, 'c');
        trans[trans.length] = new Array(/ę/g, 'e');
        trans[trans.length] = new Array(/ė/g, 'e');
        trans[trans.length] = new Array(/į/g, 'i');
        trans[trans.length] = new Array(/š/g, 's');
        trans[trans.length] = new Array(/ų/g, 'u');
        trans[trans.length] = new Array(/ū/g, 'u');
        trans[trans.length] = new Array(/ž/g, 'z');
        
        var s = objName.value.toLowerCase();
        
		for(var i = 0; i < trans.length; i++)
		{
			s = s.replace(trans[i][0], trans[i][1]);
		}
		
		s = s.replace(/[^a-z0-9-_]/ig, "");
		
		objUrlKey.value = s;
	}
}

function GetKeyCode()
{
    var intKeyCode = window.event ? window.event.keyCode : window.event.which;
    return intKeyCode;
}

function SubmitForm()
{
	if(GetKeyCode() == 13)
	{
		event.cancelBubble = true;
		event.returnValue = false;
		document.getElementById('ok').click();
	}
}

function PositionDivAfterElement(divID, elementID)
{
    var div = document.getElementById(divID);
    var element = document.getElementById(elementID);
    
    var x = 0;
    var y = element.offsetHeight;

	while(element.offsetParent && element.tagName.toUpperCase() != 'BODY')
	{
		x += element.offsetLeft;
		y += element.offsetTop;
		element = element.offsetParent;
	}

	x += element.offsetLeft;
	y += element.offsetTop;

	div.style.left = x + 'px';
	div.style.top = y + 'px';
}

/*
function TipBoxOn(tip, tipBoxID, elementID)
{
    document.getElementById(tipBoxID).innerHTML = tip;
    PositionDivAfterElement(tipBoxID, elementID);
    FieldOn(tipBoxID);
}

function TipBoxOff(tipBoxID)
{
    document.getElementById(tipBoxID).innerHTML = '';
    FieldOff(tipBoxID);
}

function IsFirmCodeValid(code)
{
	if(isNaN(parseInt(code)) || code.length != 9)
	{
		return false;
	}
	else
	{
		var a = new Array();
		var contra = 0;
		var sum = 0;
		
		for(var i = 1; i <= 8; i++)
		{
			a[i] = code.substring(i-1,1);
		}
		
		contra = parseInt(code.substring(8,1));
		
		for(var i = 1; i <= 9; i++)
		{
			sum = sum + (i * parseInt(a[i]));
		}
		
		if((sum % 11) == contra) return true;
		else return false;
	}
}
*/

/*** Window Onload Manager ***/

function WOMOn()
{
    window.onload = WOMGo;
}
function WOMGo()
{
    for(var i = 0; i < woms.length; i++)
    {
        //alert(woms[i]);
        eval(woms[i]);
    }
}
function WOMAdd(func)
{
    woms[woms.length] = func;
}
var woms = new Array();
