/**
 * Utility.js
 * 
 * v 1.0
 */

function $(elemId)
{
	var elem;
	if(document.getElementById)
		elem = document.getElementById(elemId);
	else
		elem = document.all[elemId];
	return elem;
}

function hide(elemId) 
{
    $(elemId).style.display = 'none';
}

function show(elemId) 
{
    $(elemId).style.display = '';
}

function toggle(elemId) 
{
	$(elemId).style.display = isVisible(elemId) ? 'none' : '';
}

function isVisible(elemId)
{
	return $(elemId).style.display == "none" ? false : true;
}

function setValue(elemId, value)
{
	$(elemId).value = value;
}

function getValue(elemId)
{
	return $(elemId).value;
}

function getTextByValue(selectId, value)
{
	for(var x = 0; x < $(selectId).length; x++)
	{
		if(value == $(selectId).options[x].value)
		{
			return $(selectId).options[x].text;			
		}
	}
	return null;	
}

function setTextByValue (fromId, toId)
{
	setValue(toId,getTextByValue(fromId,getValue(fromId)));
}

function selIndexFromValue(selectId, value)
{
	for(var x = 0; x < $(selectId).length; x++)
	{
		if(value == $(selectId).options[x].value)
		{
			$(selectId).options[x].selected = true;
			break;
		}
	}
}

function resetSelect(selectId)
{
	$(selectId).options.length = 0;
}
// ****************************************************
// create encoded query string from an array like this:
// arParams['param1'] = "value1";
// arParams['paramN'] = "valueN";
// ****************************************************
function array2QueryString(arParams)
{
	var arResult = new Array();
	
	for (var i in arParams) 
	{
		//var sParam = encodeURIComponent(i);
		var sParam = i;
		sParam += "=";
		sParam += encodeURIComponent(arParams[i]);
		arResult.push(sParam);
	}
	
	return arResult.join("&");
}

function zeroPad(num, length)
{ 
	var result = num + '';
	while (result.length < length)
		result = '0' + result
	
 	return result;
}
function isNull(value)
{
	if(value == null) return true;
	if(value == undefined) return true;
	return false;
}

function defaultImage(imgObj, defaultImage)
{
	imgObj.src = defaultImage;
}

function selectAll(elemid)
{
	var a = document.getElementsByTagName('input');
	for (i = 0; i <= a.length; i++)
	{
		var obj = document.getElementById(elemid + '[' + i + ']');
		if(obj)
			obj.checked = true;
	}
}

function getLabelForId(id)
{
	var label, labels = document.getElementsByTagName('label');
 	for (var i = 0; (label = labels[i]); i++) 
   		if (label.htmlFor == id) return label;
 	
 	return null;
}

function showelement(el){
	
		if($(el).style["display"]=='block'){
			$(el).style["display"]='none';
			//$(el+'btn').style["color"]='#669933';
			$(el+'img').src='img'+group+'/plus.gif';
		}else{
			$(el).style["display"]='block';
			//$(el+'btn').style["color"]='#0066CC';
			$(el+'img').src='img'+group+'/minus.gif';
		}
	}
	function showAcc(){
		if(document.getElementById('Acc').style["display"]=='block'){
			document.getElementById('Acc').style["display"]='none';
			document.getElementById('Accbtn').style["color"]='#669933';
			document.getElementById('Accimg').src='img/plus.gif';
		}else{
			document.getElementById('Acc').style["display"]='block';
			document.getElementById('Accbtn').style["color"]='#0066CC';
			document.getElementById('Accimg').src='img/minus.gif';
		}
	}
	function showNT(){
		if(document.getElementById('NT').style["display"]=='block'){
			document.getElementById('NT').style["display"]='none';
			document.getElementById('NTbtn').style["color"]='#669933';
			document.getElementById('NTimg').src='img/plus.gif';
		}else{
			document.getElementById('NT').style["display"]='block';
			document.getElementById('NTbtn').style["color"]='#0066CC';
			document.getElementById('NTimg').src='img/minus.gif';
		}
	}
	function showPNT(){
		if(document.getElementById('PNT').style["display"]=='block'){
			document.getElementById('PNT').style["display"]='none';
			document.getElementById('PNTbtn').style["color"]='#669933';
			document.getElementById('PNTimg').src='img/plus.gif';
		}else{
			document.getElementById('PNT').style["display"]='block';
			document.getElementById('PNTbtn').style["color"]='#0066CC';
			document.getElementById('PNTimg').src='img/minus.gif';
		}
	}
	
function navigaper(who,dir,obj){
	var generic_img 		= who.replace("per","img");
	
	if(isNull(dir))
	{
		$('imgregione').src 	= $('imgregione').src.replace("_over","");
		$('imgmarca').src 		= $('imgmarca').src.replace("_over","");
		$('imggroupage').src 	= $('imggroupage').src.replace("_over","");

		$(generic_img).src 		= "img/" + generic_img.replace("img","") + "_over.gif";
		
		$('perregione').style.display="none";
		$('permarca').style.display="none";
		$('pergroupage').style.display="none";
		$(who).style.display="block";
		
		$('naviga_per_selected').value = who;
	}
	else
	{
		if(who != $('naviga_per_selected').value)
		{
			if(dir == 'over')	rollover(obj);
			else				rollout(obj);
		}
	}
}

function showbug()
{
	document.getElementById('insertionbug').style['display']='';
}
function hidebug()
{
	document.getElementById('insertionbug').style['display']='none';
}
function check(who){
		if(Form.checkForm(who,'Register')==false){
			alert('Attenzione, correggere/compilare i campi segnalati in rosso');
			return false;
		}else{
			return true;
		}
	}

/**
 * Login functions
 * 
 * @return
 */

function manageLogin()
{
  display = $('box_login').style['display'];
  $('box_login').style['display']=(display == 'none') ? 'block' : 'none';
}

function loginSubmit(form)
{
	// weak form check
  if($('LoginFormControllerlogin').value.length == 0){
	alert('Inserire la propria email');
	return false;
  }

  if($('LoginFormControllerpassword').value.length < 5 || $('LoginFormControllerpassword').value.length >= 24 ){
	alert('Password non valida');
    return false;
  }

	var str = "LoginFormController";

	$(str+'type').name 	   = $(str+'type').name.replace(str,str+'$');
	$(str+'referer').name  = $(str+'referer').name.replace(str,str+'$');
	$(str+'login').name    = $(str+'login').name.replace(str,str+'$');
	$(str+'password').name = $(str+'password').name.replace(str,str+'$');

	document.getElementById('loginForm').submit();
}