﻿//IMAGE CACHING
var img0 = new Image(89,15); img0.src = '/k/utils/img/sigla.gif';

//PROGRESS BAR
var ipbL = new Image(3,16), ipbR = new Image(3,16), ipbF = new Image(2,16), ipbE = new Image(2,16);
ipbL.src = '/k/utils/img/pbLeft.gif';
ipbR.src = '/k/utils/img/pbRight.gif';
ipbF.src = '/k/utils/img/pbFull.gif';
ipbE.src = '/k/utils/img/pbEmpty.gif';
var img;

//DEFAULT STYLE (RO)
img = new Image(31,31);  img.src = '/k/utils/css/default_ro/errorIcon.gif';
img = new Image(117,21); img.src = '/k/utils/css/default_ro/login.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_ro/continuareG.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_ro/salvareG.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_ro/revenireG.gif';
img = new Image(94,22);  img.src = '/k/utils/css/default_ro/finalizare.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_ro/inchidereG.gif';

//DEFAULT STYLE (EN)
img = new Image(31,31);  img.src = '/k/utils/css/default_en/errorIcon.gif';
img = new Image(117,21); img.src = '/k/utils/css/default_en/login.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_en/continuareG.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_en/salvareG.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_en/revenireG.gif';
img = new Image(94,22);  img.src = '/k/utils/css/default_en/finalizare.gif';
img = new Image(101,21); img.src = '/k/utils/css/default_en/inchidereG.gif';

var target;

function objById(id)
{
    return document.getElementById(id);
}

function objByName(name)
{
    return document.getElementsByName(name);
}

function MPB()
{
	if (objById('progress'))
	{
		var pbL = objById('pbL'), pbR = objById('pbR'), pbF = objById('pbF'), pbE = objById('pbE');
		if (pbL)
		{
		    pbL.src = ipbL.src; pbL.hspace = 0; pbL.alt = ''; pbL.width = 3;
		}
		if (pbR)
		{
		    pbR.src = ipbR.src; pbR.hspace = 0; pbR.alt = ''; pbR.width = 3;
		}
		if (pbF)
		{
		    pbF.src = ipbF.src; pbF.hspace = 0; pbF.alt = '';
		}
		if (pbE)
		{
		    pbE.src = ipbE.src; pbE.hspace = 0; pbE.alt = '';
		}
		objById('progress').style.display = 'block';
	}
}

function setTarget(obj)
{
    target = obj.id;
}

function HL(obj,status)
{
    switch(status)
    {
        case 'on': 
            obj.className = 'hon';
            break;
            
        case 'off':
        obj.className = '';
    }
}

function EQ(id,stat)
{
	if (objById(id))
	{
		var cnt = 0, trf = objById(id).nextSibling;
		while(trf && trf.firstChild && trf.firstChild.tagName == 'TD' && trf.firstChild.className != 'qbd' && trf.firstChild.className != 'qbde' && cnt < 3)
		{
		    trf = trf.nextSibling;
		}
		if (cnt < 3)
		{
			var tde = trf.firstChild;
			if (stat == 'on')
			{
			    tde.className = 'qbde';
			}
			else
			    tde.className = 'qbd';
		}		
		var tds = objById(id).getElementsByTagName('TD');
		if (typeof(tds) != 'undefined' && tds.length > 1)
		{
			tds[0].className = (stat == 'on' ? 'qnre' : 'qnr');
			tds[1].className = (stat == 'on' ? 'qtxe' : 'qtx');
		}
	}
}

function CO(type,obj)
{
	var v = obj.value.replace(/(^\s+)|(\s+$)/g, '');
	switch(type)
	{
		case 'TEXT':
		    obj.value = v;
		    break;
		    
		case 'NMBR':
		    obj.value = ( isNaN(parseFloat(v)) ? '' : parseFloat(v) );
		    break;
		    
		case 'NMBR_POSITIVE':
		    obj.value = ( isNaN(parseInt(v)) ? '' : Math.abs(parseInt(v)) );
		    break;
	}
}

function CS(obj,qid)
{
	CO('NMBR_POSITIVE',obj);
	var tbl = obj.parentNode, cnt = 0;
	while ((typeof(tbl) == "undefined" || tbl.tagName != "TABLE") && cnt < 10)
	{
	    tbl = tbl.parentNode;cnt++;
	}
	var inputs = tbl.getElementsByTagName('INPUT'), sum = 0;
	for (var i=0; i<inputs.length; i++)
	{
	    sum += (inputs[i].id.indexOf('q' + qid) == 0 && !isNaN(parseInt(inputs[i].value)) ? parseInt(inputs[i].value) : 0);
	}
	if (objById('lq' + qid))
	    objById('lq' + qid).innerHTML = sum.toString();
}


/*
    
*/
function CC()
{
	var ret = false;
	if (arguments.length < 2)
	    return false;
	switch(arguments[0])
	{
		case 'RADIO':
			var e1 = '';
			for (var i = 2; i < arguments.length; i++)
			{
				if (arguments[1])
				{
					if (i > 2)
					    e1 += ' || ';
					e1 += '(objById(\'' + arguments[i] + '\') && objById(\'' + arguments[i] + '\').checked && (objById(\'a' + arguments[i] + '\') == null || objById(\'a' + arguments[i] + '\').value.length > 0))';
				}
				else
				{
					if (i > 2)
					    e1 += ' && ';
					e1 += '(objById(\'a' + arguments[i] + '\') == null || (objById(\'' + arguments[i] + '\') && (!objById(\'' + arguments[i] + '\').checked || objById(\'a' + arguments[i] + '\').value.length > 0)))';
				}				
			}
			ret = eval(e1);
			break;
			
		case 'COMBO':
			ret = (objById(arguments[1]) && objById(arguments[1]).value != arguments[2]);
			break;
			
		case 'CHECK':
			var ch1 = 0, ach = true, ch1MIN = (isNaN(parseInt(arguments[2])) ? 1 : parseInt(arguments[2])), ch1MAX = (isNaN(parseInt(arguments[3])) ? 1 : parseInt(arguments[3]));
			for (var i = 4; i < arguments.length; i++)
			{
			    if (objById(arguments[i]) && objById(arguments[i]).checked)
			    {
			        ch1++;
			        if (objById('a' + arguments[i]) && objById('a' + arguments[i]).value.length == 0)
			        {
			            ach = false;
			        }
			    }
			}
			if (arguments[1])
			    ret = (ch1 >= ch1MIN && ch1 <= ch1MAX && ach);
			else
			    ret = (ch1 == 0 || (ch1 >= ch1MIN && ch1 <= ch1MAX && ach))
			break;
			
		case 'TEXT':
			var e2 = '';
			if (arguments.length == 2)
			    ret = (objById(arguments[1]) && objById(arguments[1]).value.length > 0);
			else
			{
				for (var i = 1; i < arguments.length; i++)
				{
					if (i > 1)
					    e2 += ' && ';
					e2 += 'objById(\'' + arguments[i] + '\') && objById(\'' + arguments[i] + '\').value.length > 0';
				}
				ret = eval(e2);
			}
			break;
			
		case 'NUMERIC':
			if (arguments[1])
			    ret = (objById(arguments[4]) && !isNaN(parseFloat(objById(arguments[4]).value)) && parseFloat(objById(arguments[4]).value) >= arguments[2] && parseFloat(objById(arguments[4]).value) <= arguments[3]);
			else
			    ret = (objById(arguments[4]) && (objById(arguments[4]).value.length == 0 || (!isNaN(parseFloat(objById(arguments[4]).value)) && parseFloat(objById(arguments[4]).value) >= arguments[2] && parseFloat(objById(arguments[4]).value) <= arguments[3])));
			break;
			
		case 'MTX_RADIO':
			var e3 = '';
			for (var i = 1; i < arguments.length; i++)
			{
				if (i > 1)
				    e3 += ' && ';
				e3 += '(';
				for (var j = 0; j < arguments[i].length; j++)
				{
					if (j > 0)
					    e3 += ' || ';
					e3 += '(objById(\'' + arguments[i][j] + '\') && objById(\'' + arguments[i][j] + '\').checked)';
				}
				e3 += ')';
			}
			ret = eval(e3);
			break;
			
		case 'MTX_CHECK':
			var ch2 = 0, ch2MIN = (isNaN(parseInt(arguments[1])) ? 1 : parseInt(arguments[1])), ch2MAX = (isNaN(parseInt(arguments[2])) ? 1 : parseInt(arguments[2]));
			ret = true;
			for (var i = 3; i < arguments.length; i++)
			{
				ch2 = 0;
				for (var j = 0; j < arguments[i].length; j++)
				{
				    if (objById(arguments[i][j]) && objById(arguments[i][j]).checked)
				        ch2++;
				}
				ret = (ret && (ch2 >= ch2MIN && ch2 <= ch2MAX));
			}
			break;
			
		case 'POLL':
			var arRank = new Array(), mvp = false; for (var i = 1; i <= arguments[2]; i++) {arRank[arRank.length] = i;}
			if (!arguments[1])
			{
			    for (var i = 3; i < arguments.length; i++)
			    {
			        if (objById(arguments[i]) && objById(arguments[i]).value.length > 0)
			        {
			            mvp = true; break;
			        }
			    }
			}
			if (arguments[1] || mvp)
			{
				for (var i = 3; i < arguments.length; i++)
				{
					var v = (objById(arguments[i]) ? parseInt(objById(arguments[i]).value) : ''), found = false;
					if (isNaN(v))
					{
					    ret = false; break;
					}
					for (var j = 0; j < arRank.length; j++)
					{
					    if (v == arRank[j])
					    {
					        arRank[j] = null; found = true; break;
					    }
					}
					if (!found)
					{
					    ret = false; break;
					}
					else ret = true;
				}
			}
			else
			    ret = true;
			break;
			
		case 'SUM':
			var s = 0, sMIN = (isNaN(parseInt(arguments[2])) ? 0 : parseInt(arguments[2])), sMAX = (isNaN(parseInt(arguments[3])) ? 100 : parseInt(arguments[3])), mvs = false;
			if (!arguments[1])
			{
			    for (var i = 4; i < arguments.length; i++)
			    {
			        if (objById(arguments[i]) && objById(arguments[i]).value.length > 0)
			        {
			            mvs = true; break;
			        }
			    }
			}
			if (arguments[1] || mvs)
			{
				ret = true;			
				for (var i = 4; i < arguments.length; i++)
				{
					var v = (objById(arguments[i]) ? parseInt(objById(arguments[i]).value) : '');
					if (isNaN(v) && v >= sMIN && v <= sMAX)
					{
					    ret = false; break;
					}
					else s += v;
				}
				ret = (ret && s == sMAX);
			}
			    else ret = true;
			break;
			
		default:
			break;
	}
	return ret;
}