function check_if_perID(perID){
	var strPerID = perID.substring(0,13);	
	var strExtraDot = perID.substring(13,14);
	var searchResultPerID = strPerID.search(/[0-9]{3}\.[0-9]{4}\.[0-9]{4}/);
	
	if(searchResultPerID!=0 || ((strExtraDot != "") && (strExtraDot != "."))){

		return false;
	}else{
		return true;
	}
}

function check_if_sysID(sysID){
	
	if	(	0 != sysID.search(/[a-fA-F0-9]{16}/) ){
		return false;
	}else{
		return true;
	}
}

function validate_dongle( dongle ){
	dongle 	=  	'PP'+make_dongle_transformations(dongle);
	return check_if_dongle( dongle);
}

function check_if_dongle(don_nr){
	
	var bol_332 = don_nr.search(/PP[0-9]{3}\.[0-9]{3}\.[0-9]{2}/);
	var bol_342 = don_nr.search(/PP[0-9]{3}\.[0-9]{4}\.[0-9]{2}/);
	var bol_343 = don_nr.search(/PP[0-9]{3}\.[0-9]{4}\.[0-9]{3}/);

	if(
	   (	bol_332 != 0 || don_nr.length != 12	)
	&& (	bol_342 != 0 || don_nr.length != 13	)
	&& (	bol_343 != 0 || don_nr.length != 14	)
	){

		return false;
	}
	return true;
}

function check_if_dongle_ajax(dongle){

	dongle = make_dongle_transformations(dongle);
	
	/* macht eine validierung in der DB */
	var ajaxUrl	=	"/ajax/validate_don_sysid.php?dongle_nr="+dongle;

						  
	var req = new Request({		url:ajaxUrl,
								
								onSuccess: 	handle_dongle_response,
								onFailure: 	function() {
												$('content').set('text', 'The request failed');
											}
	});
	
					  
						  
	req.send();
	return true;
}	

function make_dongle_transformations( dongle ){

	if ( dongle.substr(0,2) == 'PP' || dongle.substr(0,2) == 'pp' ){
		dongle = dongle.substr(2);
	}
	
	var arrDongle	=	transform_dongle_string_to_array(dongle);
	var dongle_str	=	"";
	
	arrDongle.each( function(donPart, index){
						var partLength;
						
						switch( index ){
						 	case 0:		partLength	=	3;
						 				break;
						 	case 1:		partLength	=	4;
						 				break;
						 	case 2:		partLength	=	3;
						 				break;
						 }
						 
						 var i = 0;
						 
						 while ( donPart.length < partLength ){
						 	donPart	=	'0'+donPart;							 								 	
						 	//security net
						 	if ( i > 6 ){
						 		break;
						 	}
						 	i++;
						 }
						dongle_str	+=	donPart+".";
					});
	
	/*if ( dongle_str.length == 8 ){
		dongle = dongle + ".001";
	}*/
	if ( dongle_str.length == 9 &&  dongle_str.substr(-1) == "." ){
		dongle_str = dongle_str + "001";
	}
				
	if ( dongle_str.length == 13 ){
		return dongle_str.substr(0,12);
	}else{
		return dongle_str;
	}
	
}	

function transform_dongle_string_to_array( dongle ){

	var from 		=	0;
	var newV	 	= 	'';	
	var arrDongle	=	Array();
	var needle			=	'.';
			
	while (0 <= from && from < dongle.length) {
	
		var idx = dongle.indexOf(needle, from);
		
		if (idx >= 0) {
        	newV	=	dongle.substr(from, (idx-from) );
        	arrDongle.push( newV );
		}else {
			newV	=	dongle.substr(from );
			arrDongle.push( newV );
        	break;
        }
    	from = idx+1;
	}
		
	return arrDongle;
}	