/*  Start /_templates/roottemplate/roottemplate_portal.js */

///////////////////////////////////////////////////////////////////////////////////////////////////////
// De scripts js wordt gebruikt voor scripts die voor beide roottemplates gebruikt worden //
///////////////////////////////////////////////////////////////////////////////////////////////////////


/*  End /_templates/roottemplate/roottemplate_portal.js */

/*  Start /_templates/search_rdc/search_rdc.js */

var urlRDC;

function showRDC(nr) {
	aParams = {};
	aParams.action = 'show';
	aParams.nr = nr;
	
	$('address').pgx('local.kaart', aParams);
}

function gotoRDC(nr) {		
	location = PGX.Path + urlRDC;
}

function showRDCInfo(rdcUrl, nameUrl) {	
	urlRDC = rdcUrl;	
	$('url').innerHTML = '<a href="'+rdcUrl+'">'+nameUrl+'</a>';
	$('clickurl').onclick = function() { 
		location = PGX.Path + rdcUrl;
	}	
}

function searchRDC() {
	aParams = {};
	aParams.action = 'search';
	aParams.postcode = $('postcode').getValue();
	aParams.onComplete = function(response) {
		
		check = trim(response.responseText);
		if (trim(response.responseText) == '') {
			$('postcode').value = 'geen resultaat';
		} else {
			showRDC(check);
		}
		
	}
	
	pgx('local.kaart', aParams);
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

/*  End /_templates/search_rdc/search_rdc.js */

/*  Start /_templates/steleenvraag/steleenvraag.js */

function checkContactForm() {
	// check op email of telefoonnummer
	elm1 = $('email').value;
	elm2 = $('telnr').value;	
	if ((elm1 == '') && (elm2 == '')) {
		$('contactError').innerHTML = '<span class="form_error_tekst">*</span> Uw e-mailadres of telefoonnummer moet ingevuld zijn.';
		$('contactError').style.marginTop='48px';
	} else {		
		if ((elm1 !== '') && (!checkEmail(elm1))) {
			$('contactError').innerHTML = '* Vul een geldig E-mailadres in.';
		} else {
			if (!ValidatePhonenumber(elm2)) {
				$('contactError').innerHTML = '* Vul een geldig telefoonnummer in.';
			} else {
				if ($('naam').value == '') {
					$('contactError').innerHTML = '* Vul alle verplichte velden in.';
				} else {
					// alles goed opslaan formulier en PGX.form.check('contact') aanroepen
					aParams = {};
					aParams = $('contact').serialize(true);			
					aParams.action = 'save';
					pgx('local.steleenvraag', aParams);				
				}
			}		
		}
	}
}

function checkEmail(email) {
	filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return filter.test(email);
}


/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	var bracket=3
	strPhone=trim(strPhone)
	if(strPhone.indexOf("+")>1) return false
	if(strPhone.indexOf("-")!=-1)bracket=bracket+1
	if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
	var brchr=strPhone.indexOf("(")
	if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
	if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhonenumber(Phone){
	if ((Phone==null)||(Phone=="")){		
		return false;
	}
	if (checkInternationalPhone(Phone)==false){
		return false;
	}
	return true;
}
 
function setHidden(checkbox,hiddenElement) {
	if($(checkbox).checked){
		$(hiddenElement).value = 'Ja';
	}else{
		$(hiddenElement).value = 'Nee';
	}
}


/*  End /_templates/steleenvraag/steleenvraag.js */

