function e(id) { return document.getElementById(id) }

function clearDefault(el)
{
  if (el.defaultValue == el.value) el.value = '';
}

function setDefault(el)
{
  if (el.value == '') el.value = el.defaultValue;
}

/* Contactform functions */

function toggleErrorLabel(label,state) {
	if(state == 'on') {
		document.getElementById(label).className = "errorlabel";
	}else{
		document.getElementById(label).className = "normallabel";
	}
}

function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function ValidateForm(form) {

	var error = 0;
	var errorMessage = 'Je hebt dit formulier niet volledig ingevuld:\n\n';
		
	if(typeof(form.required)=='undefined') {
		return true;
	}
		
	
	var fieldnames = form.required.value.split(',');
	
	for(key in fieldnames) {
		if(e(fieldnames[key])) {
			type = e(fieldnames[key]).type
			label = e('label_'+fieldnames[key]).innerHTML;
			label = strip_tags(label);
			if(label.substr(label.length-2)==' *') label = label.substr(0,label.length-2);
			//label = fieldnames[key];
			if(type=='text' || type=='textarea') {
				if(e(fieldnames[key]).value == "") { 
					errorMessage += '- '+label+' is niet ingevuld\n';
					error = 1;
					toggleErrorLabel('label_'+fieldnames[key],'on');
				} else if(fieldnames[key]=='email') {
					p = e(fieldnames[key]).value;
					c1 = p.indexOf('@');
					c2 = p.lastIndexOf('.');
					if (c1<1 || c1==(p.length-1) || c2<c1 || c2>=(p.length-2)) {
						errorMessage += '- '+label+' is geen geldig emailadres\n';
						error = 1;
						toggleErrorLabel('label_'+fieldnames[key],'on');
					}
				}else{
					toggleErrorLabel('label_'+fieldnames[key]);
				}
			} else if(type=='select-one') {
				if(e(fieldnames[key]).options[e(fieldnames[key]).selectedIndex].value=='' || e(fieldnames[key]).options[e(fieldnames[key]).selectedIndex].value=='0') {
					errorMessage += '- '+label+' is niet gekozen\n';
					error = 1;
					toggleErrorLabel('label_'+fieldnames[key],'on');
				}
			} else {
				alert(type)
			}
		}
	
	}

	if(error){
		alert(errorMessage);
		return false; 
	}else{
		return true;
	}
}

function strip_tags(str, allowed_tags) { // needed for validateform!
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +      input by: Alex
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Eric Nagel
    // +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
    // *     example 4: strip_tags('1 < 5 5 > 1');
    // *     returns 4: '1 < 5 5 > 1'
 
    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';
 
    var replacer = function(search, replace, str) {
        return str.split(search).join(replace);
    };
 
    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z]+)/gi);
    }
 
    str += '';
 
    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);
 
    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }
 
        // Save HTML tag
        html = matches[key].toString();
 
        // Is tag not in allowed list? Remove from str!
        allowed = false;
 
        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;
 
            if (i != 0) { i = html.toLowerCasel().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCasel().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCasel().indexOf('</'+allowed_tag)   ;}
 
            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }
 
        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }
 
    return str;
}

$(document).ready(function()
{
	resizeBackgroundImage($('#background_image'));
	
	$(window).resize(function(){
		resizeBackgroundImage($('#background_image'));
	});
});

// resize the background image
function resizeBackgroundImage(bgImage)
{
	var availableWidth = $(window).width();
	var availableHeight = $(window).height();
	var imageHeight = 690;
	var imageWidth = 1100;
	var curWidth;
	var curHeight;
	
	if(imageHeight < availableHeight || imageWidth < availableWidth)
	{
		var percWidth = Math.floor((availableWidth * 100) / imageWidth);
		var percHeight = Math.floor((availableHeight * 100) / imageHeight);
		
		if(percWidth > percHeight)
		{
			curWidth = availableWidth;
			curHeight = resizeImage(imageWidth, imageHeight, availableWidth, 0, 'returnheight');
		} else if(percWidth < percHeight)
		{
			curHeight = availableHeight;
			curWidth = resizeImage(imageWidth, imageHeight, 0, availableHeight, 'returnwidth');
		}
	} else
	{
		//image full size
		curHeight = imageHeight;
		curWidth = imageWidth;
	}
	
	bgImage.css('width', curWidth);
	bgImage.css('height', curHeight);
}

function resizeImage (w, h, nw, nh, coord)
{
	if(coord == 'returnheight')
	{
		var newH = Math.floor((h * nw) / w);
		return newH;
	} else if(coord == 'returnwidth')
	{
		var newW = Math.floor((w * nh) / h);
		return newW;
	}
} 
