/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
                
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;
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function changePassword(changeBox, passMain)
{
	if(changeBox.checked)
	{
		$(passMain+'_js').value = "";
		$(passMain+'_r_js').value = "";

		$(passMain+'_js').disabled = false;
		$(passMain+'_r_js').disabled = false;
	}
	else
	{
		$(passMain+'_js').value = "*****";
		$(passMain+'_r_js').value = "*****";

		$(passMain+'_js').disabled = true;
		$(passMain+'_r_js').disabled = true;
	}
}

function renameContact(listId, listTitle, cLanguage)
{
	var newName = "";
	var newTitle = listTitle.trim();

	if(cLanguage == "en")
	{
		var renameText = "Enter a new title for this Contact-list";
		var renameError = "The new title is the same as the old one.";
	}
	else
	{
		var renameText = "Geef een nieuwe naam op voor deze contactlijst.";
		var renameError = "De opgegeven naam is hetzelfde.";
	}

	if((newName = prompt(renameText, listTitle)))
	{
		if(newName.trim())
		{
			newName = newName.trim();
			newName = encodeURIComponent(newName);

			if(newName == newTitle)
			{
				alert(renameError);
			}
			else
			{
				location.href = "mijn_perslijst.php?action=change_list&list_id="+listId+"&list_title="+newName;

				return true;
			}
		}
	}
	
	return false;
}

//------------------------------------------------- Voor rubrieken

function rub_collapse_all()
{
	var item;
	var j = 0;
	
	while( item = document.getElementById( 'rub_expand_'+j ) )
	{
		rub_collapse( item, j );	
		j++;
	}
}

function rub_expand_all()
{
	var item;
	var j = 0;
	
	while( item = document.getElementById( 'rub_expand_'+j ) )
	{
		rub_expand( item, j );	
		j++;
	}
}


function rub_select (currentSelection, selectId)
{
	var regItems = document.getElementsByTagName("input");
	var rubriekCat = "";
	var i = 0;

	for(i = 0; i < regItems.length; i++)
	{
		rubriekCat = regItems[i].getAttribute("mainCat");

		if(rubriekCat == selectId)
		{
			regItems[i].checked = (currentSelection.checked) ? true : false;
		}
	}

	if( currentSelection.checked )
	{
		var regrows = document.getElementById( 'sublist_under_'+selectId ).getElementsByTagName( 'LI' );

		for(i = 0; i < regrows.length - 1; i++)
		{
			regrows[i].style.display = 'block';
		}

		document.getElementById( 'rub_more_'+selectId ).style.display = 'none';
		
		document.getElementById( 'rub_expand_'+selectId ).innerHTML = '-';
	};
}

function rub_more(currentSelection, selectId)
{
	var regrows = document.getElementById( 'sublist_under_'+selectId ).getElementsByTagName( 'LI' );

	for(i = 0; i < regrows.length; i++)
	{
		regrows[i].style.display = 'block';	
	}

	document.getElementById( 'rub_more_'+selectId ).style.display = 'none';
}

function rub_expand (currentSelection, selectId)
{
	var regrows = document.getElementById( 'sublist_under_'+selectId ).getElementsByTagName( 'LI' );
	
	for(i = 0; i < regrows.length - 1; i++)
	{
		regrows[i].style.display = 'block';	
	}

	currentSelection.innerHTML = "-";

	document.getElementById( 'rub_more_'+selectId ).style.display = 'none';
}

function rub_collapse( currentSelection, selectId )
{
	var regrows = document.getElementById( 'sublist_under_'+selectId ).getElementsByTagName( 'LI' );
	
	var have_not_collapsed = false;
	var have_collapsed = false;
	
	for(i = 0; i < regrows.length; i++)
	{
		if( regrows[i].getElementsByTagName('input').length )
		{
			if( ! regrows[i].getElementsByTagName('input')[0].checked ) 
			{
				regrows[i].style.display = 'none';
				have_collapsed = true;
			}
			else 
			{
				have_not_collapsed = true;
			}
		}
	}

	if( have_not_collapsed && have_collapsed )
	{
		document.getElementById( 'rub_more_'+selectId ).style.display = 'block';
	};

	currentSelection.innerHTML = "+";
}


function rub_toggle (currentSelection, selectId)
{
	var regrows = document.getElementById( 'sublist_under_'+selectId ).getElementsByTagName( 'LI' );

	var collapsed = false;

	

	for(i = 0; i < regrows.length - 1; i++)
	{
		if( regrows[i].style.display == 'none' )
		{
			collapsed = true;
		}
	}

	if( collapsed )
	{
		rub_expand(currentSelection, selectId);
	}
	else
	{
		rub_collapse( currentSelection, selectId );
	}
		
}

function rub_check (currentSelection, selectId)
{
	var regItems = document.getElementsByTagName("input");
	var rubriekCat = "";
	var i = 0;

	var havechecked = false;
	var allchecked = true;
	
	for(i = 0; i < regItems.length; i++)
	{
		rubriekCat = regItems[i].getAttribute("mainCat");

		if(rubriekCat == selectId)
		{
			if( regItems[i].checked )
			{
				havechecked = true;
			}
			else allchecked = false;
		}
	}
	
	if( ell = document.getElementById('main_'+selectId) )
	{
		ell.checked = ( havechecked && allchecked );
	}
}


// ---------------------- Voor regionaal





function checkNodaal( nod , par1 , par2 )
{
	var ell = document.getElementById(nod);

	highlightParent( ell );

	checkParent( par1 ); 
	checkParent( par2 );
};

function highlightParent( ell )
{
	var s = ell.parentNode.className;
	
	s = s.replace(" checked" , "" );

	if( ell.checked ) s = s + " checked";

	ell.parentNode.className = s;
}

function checkParent( code )
{
	var countell =  document.getElementById(code+'_rows');

	if( countell ) // maar hoeft niet te bestaan ( alleen hoofdgebied.
	{
		var elts_cnt  = countell.value;
	}
	else return;


	// lopen child nodes af om te krijen of er 1 niet is gechecked.

	var checked = true;

	for( var i = 0; i < elts_cnt; i++ )
	{
		// select_[prov_code]_[nummer]_[i] = subgebied

		var name = code+"_"+i;
		if( ! document.getElementById(name).checked ) checked = false;
	};

	var ell = document.getElementById(code);
	
	ell.checked = checked;

	highlightParent( ell );
}

function setCebuco( prefix , do_check)
{
	// select_[prov_code]_[nummer]_rows = aantal subgebieden 

	var countell =  document.getElementById(prefix+'_rows');

	if( countell ) // maar hoeft niet te bestaan ( alleen hoofdgebied.
	{
		var elts_cnt  = countell.value;
	}

	for( var i = 0; i < elts_cnt; i++ )
	{
		// select_[prov_code]_[nummer]_[i] = subgebied
		var name = prefix+'_'+i;			
		
		var ell = document.getElementById(name);

		ell.checked = do_check;

		highlightParent( ell );
	};

	highlightParent( document.getElementById(prefix) );

	return true;
} 

function setProvincie( prefix , do_check)
{
	// select_[prov_code]_rows = aantal gebieden in provincie
	var elts_cnt  = document.getElementById(prefix+'_rows').value;

	for( var i = 0; i < elts_cnt; i++ )
	{
		// select_[prov_code]_[i] = gebied
		var name = prefix+'_'+i;	
		
		var ell = document.getElementById(name);

		ell.checked = do_check;

		highlightParent( ell );

		// gebied is net aan of uit gezet zonder click dus doe hetzelfde als met de click
		setCebuco( name , do_check);
	};

	highlightParent( document.getElementById(prefix) );

	return true;
} // end of the 'setProvincie()' function





















// use $ instead of getElementById
function $(obj)
{
	if (arguments.length > 1)
	{
		for (var i = 0, objects = []; i < arguments.length; i++)
		{
			if(document.getElementById(arguments[i]) !== null)
			{
				objects.push($(arguments[i]));
			}
		}
		return objects;
	}

	if (typeof obj == 'string')
	{
		newObj = document.getElementById(obj);
	}
	return newObj;
}