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;
}

var maxexp = 5;
var form;
var select;
var expprof = new Array();
var selected = -1;


function inArray(stack,neddle)
{
	for(var i=0; i<stack.length; i++)
		if(stack[i] == neddle)
			return true;
			
	return false;
}
function removeWarning(el)
{
	_parent = el.parentNode;
	var imgs = _parent.getElementsByTagName('img');
	for(var i=0;i<imgs.length;i++)
	{
		if(imgs[i].name == 'warning') {
			_parent.removeChild(imgs[i]);
			break;
		}
	}
}
function addWarning(el)
{
	_parent = el.parentNode;
	removeWarning(el);
	_parent.appendChild(mekeWarningIcon());
}

function mekeWarningIcon()
{
	var warning = document.createElement('img');
	warning.src = 'images/warning.gif';
	warning.name = 'warning';
	warning.style.marginLeft = '4px';
	return warning;
}

function checkForm(form)
{
	return true;
	var errors = false;
	var elemtochek = [
						'date_personale[nume]',
						'date_personale[prenume]',
						'date_personale[telefon]',
						'date_personale[email]',
						'date_personale[sex]',
						'date_personale[data_nasteri]',
						'date_personale[stare_civila]',
						'date_personale[stagiu_militar]',
						'date_personale[oras_domiciliu]',
						'date_personale[oras_natal]',
						'studii[absliceu]',
					 ];
	
	if(typeof(form) != 'object')
	{
		form = eval("document."+form);
	}
	var elements = new Array();
	var inputs = form.getElementsByTagName('input');
	var textareas = form.getElementsByTagName('textarea');
	
	for(var i=0; i<inputs.length; i++)
	{
		if(inputs[i].type != 'submit' && inputs[i].type != 'file')
		elements.push(inputs[i]);
	}
	
	for(var i=0; i<textareas.length; i++)
	elements.push(textareas[i]);
	
	for(var i=0; i<elements.length; i++)
	{
		var el = elements[i];
	
		if(elemtochek.length){
			//if(inArray(elemtochek,el.name))
			//{
				removeWarning(el);
				
				if(el.nodeName.toLowerCase() == 'input'){
					if(el.type == 'text' && el.value == ''){
						el.className = 'input-img';
						errors = true;
					}else if(el.type == 'radio' && !el.checked){
						addWarning(el);
						errors = true;
					}
				}
			//}
		}
	}
	if(errors){
		return false;
	}
	initExperianta();
	return true;
}

function disableFormElements(form,status)
{

	if(typeof(form) != 'object')
	{
		form = eval("document."+form);
	}
	var elements = new Array();
	var inputs = form.getElementsByTagName('input');
	var textareas = form.getElementsByTagName('textarea');
	
	for(var i=0; i<inputs.length; i++)
	{
		if(inputs[i].type != 'submit' && inputs[i].type != 'file')
		elements.push(inputs[i]);
	}
	
	for(var i=0; i<textareas.length; i++)
	elements.push(textareas[i]);
	
	for(i=0; i<elements.length; i++)
	{
		if(!status){
			elements[i].disabled = false;
			elements[i].style.backgroundColor = '#F4F4F4';
		}else{
			elements[i].disabled = true;
			elements[i].style.backgroundColor = '#F9F9F9';
		}
		
	}
	return false;
}

function initForm(form,propNormal,propOver)
{
	if(typeof(form) != 'object')
	{
		form = eval("document."+form);
	}
	var elements = new Array();
	var inputs = form.getElementsByTagName('input');
	var textareas = form.getElementsByTagName('textarea');
	
	for(var i=0; i<inputs.length; i++)
	{
		if(inputs[i].type == 'text')
		elements.push(inputs[i]);
	}
	elements.push(textareas[0]);
	
	for(i=0; i<elements.length; i++)
	{
		var element = elements[i];
		
		element.nprops = propNormal;
		element.oprops = propOver;
		
		element.onblur = function()
		{
			for(var j=0;j<this.nprops.length; j++)
			{
				eval("this.style."+this.nprops[j]);
			}
		}
		element.onfocus = function()
		{
			for(var j=0;j<this.oprops.length; j++)
			{
				eval("this.style."+this.oprops[j]);
			}
		}
	}
}

function initExperianta()
{
	for(i=0;i<expprof.length;i++)
	{
		if(expprof[i])
		{
			for(item in expprof[i])
			{
				
				var el = document.createElement('input');
				el.setAttribute('name','experiente['+i+']['+item+']');
				el.setAttribute('value',expprof[i][item]);
				el.setAttribute('type','hidden');
				form.appendChild(el);
			}
		}
	}
}

function clearNuls()
{
	for(i=0;i<maxexp;i++)
	{

		if(typeof(expprof[i]) == 'undefined'){
			if(expprof.length == 1){
				expprof = new Array();
			}else if(i < expprof.length){
				tmp = expprof[i+1];
				expprof[i+1] = null;
				expprof[i] = tmp;
			}
		}
	}
	expprof.pop();
}
function clearExpForm()
{
	//clear form experianta
	form.expp_companie.value = '';
	form.expp_locatitate.value = '';
	form.expp_functie.value = '';
	form.expp_responsabilitati.value = '';
	form.expp_referinte.value = '';
}

function deleteExperienta()
{
	if(selected == -1) return;
	select.options[selected] = null;
	delete expprof[selected];
	clearNuls();
	clearExpForm();
	populateSelect(expprof);
	selected = -1;
}
function addExperianta()
{
	nextindex = expprof.length;
	for(i=0;i<maxexp;i++)
	{
		if(!expprof[i])
		{
			nextindex = i;
			break;
		}
	}

	if(nextindex >= maxexp){
		alert('Numarul maxim de experiente este '+maxexp);
		clearExpForm();
		return;
	}
	if(!form.expp_companie.value &&
	!form.expp_locatitate.value &&
	!form.expp_functie.value &&
	!form.expp_responsabilitati.value &&
	!form.expp_referinte.value){
		return;
	}

	expprof[nextindex] = new Object();
	expprof[nextindex].companie = form.expp_companie.value;
	expprof[nextindex].localitate = form.expp_locatitate.value;
	expprof[nextindex].functie = form.expp_functie.value;
	expprof[nextindex].responsabilitati = form.expp_responsabilitati.value;
	expprof[nextindex].referinte = form.expp_referinte.value;

	clearExpForm()
	populateSelect(expprof);
}
function populateSelect(data)
{
	for(i=0;i<maxexp;i++)
	{
		if(data[i])
		{
			form.lista_experiente.options[i] = new Option(data[i].companie,i);
		}
	}
}
function selectExperienta()
{
	selected = form.lista_experiente.options[form.lista_experiente.selectedIndex].value;
	var data = expprof[ selected ];

	form.expp_companie.value 			= data.companie;
	form.expp_locatitate.value 			= data.localitate;
	form.expp_functie.value 			= data.functie;
	form.expp_responsabilitati.value 	= data.responsabilitati;
	form.expp_referinte.value 			= data.referinte;
}
window.onload = function()
{
	form = document.formcv;
	select = form.lista_experiente;
	var propNormal = ['backgroundColor="#F4F4F4"'];
	var propOver = ['backgroundColor="#E9E9E9"'];
	initForm(form,propNormal,propOver);
}
