//BANNERPAGINA FUNCTIES
function autoSelect(selectTarget) {
	if(selectTarget != null && ((selectTarget.childNodes.length == 1
	  && selectTarget.childNodes[0].nodeName == "#text") || (selectTarget.tagName == "INPUT"
	  && selectTarget.type == "text"))) {
		if(selectTarget.tagName == 'TEXTAREA' || (selectTarget.tagName == "INPUT" && selectTarget.type == "text")) {
			 selectTarget.select();
		} else if(window.getSelection) { // FF, Safari, Opera
			var sel = window.getSelection();
			var range = document.createRange();
			range.selectNode(selectTarget.firstChild);
			sel.removeAllRanges();
			sel.addRange(range);
		} else { // IE
			document.selection.empty();
			var range = document.body.createTextRange();
			range.moveToElementText(selectTarget);
			range.select();
		}
	}
}

//TICKET SYSTEEM FUNCTIES -------------------------------------------------------------------------
function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}
//------------------------------------------------------------------------- TICKET SYSTEEM FUNCTIES

function displayElement(id) {
	e = document.getElementById(id);
	if(e.style.display == 'none') {
		e.style.display = 'block';
	} else {
		e.style.display = 'none';
	}
}

//PROJECT UPLOAD -> PRODUCT KOPPELEN
function insertItems() {
	var el = document.getElementById('producten');

	var el2	= document.getElementById('gekozenProducten');
	for(c = 0; c < el.options.length; c++) {
		if(el.options[c].selected == true) {
			var option		= document.createElement("option");

			var val 		= el.options[c].value.split("!-!");
			option.value 	= val[0];

			var txt			= document.createTextNode(val[1]);

			el2.appendChild(option);
			option.appendChild(txt);
		}
	}
}
function deleteItems() {
	var el 	= document.getElementById('gekozenProducten');
	var del = new Array();
	for(c=0; c < el.options.length; c++) {
		if(el.options[c].selected == true) {
			del.push(el.options[c]);
		}
	}
	for (a=0; a < del.length; a++) {
		el.removeChild(del[a]);
	}
}

//PRODUCT DETAIL PAGINA -> FOTO SLIDER
function slideRight() {
	var div = document.getElementById('fotoKaderThumbsSlider');

	if(currLeft < 0) {
		if(currLeft < newLeft) {
			currLeft = currLeft + 10;

		} else {
			currLeft = newLeft;
			clearInterval(intervalID);
		}
	} else {
		currLeft = 0;
		newLeft = 0;
		clearInterval(intervalID);
	}

	div.style.marginLeft = currLeft + "px";
}

function slideLeft() {
	var div = document.getElementById('fotoKaderThumbsSlider');

	if(currLeft > -((total - 3) * offset)) {
		if(currLeft > newLeft) {
			currLeft = currLeft - 10;
		} else {
			currLeft = newLeft;
			clearInterval(intervalID);
		}
	} else {
		currLeft = -((total - 3) * offset);
		newLeft = -((total - 3) * offset);
		clearInterval(intervalID);
	}
	div.style.marginLeft = currLeft + "px";
}


function initSlide(dir) {
	clearInterval(intervalID);
	if(dir == "next") {
		newLeft -= offset;
		intervalID = setInterval('slideLeft()', 30);
	} else if(dir == "prev") {
		newLeft += offset;
		intervalID = setInterval('slideRight()', 30);
	}
}

function bestelDownload() {
	d = document.downloadFrm;
	var errors = new Array("naam","email2");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function tellAFriendVerzenden() {
	d = document.getElementById('frmTellAFriend');
	var errors = new Array("myvoornaam","myachternaam","myemail","tovoornaam","toachternaam","toemail", "mylink");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
			document.getElementById(errors[a]+'Lbl').classname = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function toggleDiv(divId){
	if(document.getElementById(divId).style.display=='none'){
		document.getElementById(divId).style.display = 'block';
	} else {
		document.getElementById(divId).style.display = 'none';
	}
	return true;
}

function showElement(elementID){
	if(document.getElementById(elementID).style.display == 'none'){
		document.getElementById(elementID).style.display = 'block';
	} else {
		document.getElementById(elementID).style.display = 'none';
	}
	return true;
}

function aanmeldenCheck() {
	d = document.getElementById('aanmeldFrm');
	var errors = new Array("voornaam", "achternaam", "adres", "postcode", "plaats", "telefoon2", "mobiel2", "email2");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function berekenRoute() {
	d = document.routeFrm;
	var errors = new Array("adres","postcode");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function vraagStellen() {
	d = document.vraagFrm;
	var errors = new Array("vraag", "antwoordVia", "naam","email2");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function contactVersturen() {
	d = document.getElementById('contactFrm');
	var errors = new Array("naam2","adres","postcode","plaats", "land", "email2", "opmerking", 'captcha');
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "inputBoxGroot";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function nieuwsRegistreren() {
	d = document.getElementById('nieuwsRegistrerenFrm');
	var errors = new Array("naam","email2");
	error = false;
	for (a=0;a<errors.length;a++) {
		document.getElementById(errors[a]).className = "";
		if (!d[errors[a]].value) {
			error = true;
			document.getElementById(errors[a]).className = "error";
		}
	}

	if (!error) {
		return true;
	} else {
		return false;
	}
}

function bugreport(currentPage,referer,naam) {
	open("/content/reportbug.php?currentPage="+escape("http://"+currentPage)+"&referer="+escape(referer)+"&naam="+naam,"bugReport","width=500,height=460,scrollbars=no,resizable=no,toolbar=no,statusbar=yes");
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function setImageSrc(id, el) {
	img = document.getElementById(id);
	a = document.getElementById(id + 'Url');
	if (img) {
		img.src = el.href;
	}
	if (a) {
		var href = el.href;
		href = href.replace('/project/', '/slimbox/');
		href = href.replace('/productgroter/', '/slimbox/');
		href = href.replace('/middle/', '/slimbox/');
		a.href = href;
		a.title = el.title;
	}
}

// laat elementen met een id knipperen
function blinkId(id) {
	var i = document.getElementById(id);
	if(i.style.visibility=='hidden') {
		i.style.visibility='visible';
	} else {
		i.style.visibility='hidden';
	}
    setTimeout("blinkId('"+id+"')",1000);
	return true;
}

// toggled de CallMeBack layer
function toggleOverlayDiv(layer1, layer2) {
	var layers = new Array(layer1, layer2);
	for (var i=0;i<layers.length;i++) {
		if(document.getElementById(layers[i]).style.display=='none') {
			document.getElementById(layers[i]).style.display='block';
			document.body.style.overflow='hidden';
			document.getElementsByTagName("html")[0].style.overflow='hidden';
			toggleSelectBoxes(false);
		} else {
			document.getElementById(layers[i]).style.display='none';
			document.body.style.overflow='auto';
			document.getElementsByTagName("html")[0].style.overflow='auto';
			document.getElementsByTagName("html")[0].style.overflowX='hidden';
			toggleSelectBoxes(true);
		}
	}

	var layer = jQuery('#' + layer2),
		ph = layer.find('.captchaPlaceholder'),
		id;

	if (ph.html() === '') {
		id = layer.find('input[name=captchaID]').val();

		ph.html('<img src="/inc/captcha/captcha.php?id=' + id + '" class="floatLeft" style="margin:0 5px 0 0;">');
	}

}

// zoekt naar alle selectboxes en zet ze aan of uit
function toggleSelectBoxes(status) {
	var selectboxes = document.getElementsByTagName("select");
	for (var i=0;i<selectboxes.length;i++) {
		selectboxes[i].style.visibility=(status) ? 'visible' : 'hidden';
	}
}

// bezichtigen van een project toevoegen aan je lijstje
function bezichtigenProject(id, naam) {
	if (document.getElementById('bezichtiging' + id) ) {
		alert('Dit project is reeds toegevoegd.');
	}
	else {
		var el = document.getElementById('bezichtigingen');
		var div = document.createElement('div');
		var input = document.createElement('input');
		var span = document.createElement('span');
		var naam = document.createTextNode(naam);
		var del = document.createElement('a');
		var kruisje = document.createTextNode('x');

		div.id = "bezichtiging" + id;

		input.name = 'bezichtigen[]';
		input.value = id;
		input.type = 'hidden';

		span.className = 'kleinKaderBezichtiging';
		span.appendChild(naam);

		del.href = 'javascript: wisBezichtiging(' + id + ');';
		del.appendChild(kruisje);

		document.getElementById('geenBezichtigingenMelding').style.display ='none';

		el.appendChild(div);
		div.appendChild(input);
		div.appendChild(span);
		div.appendChild(del);
	}
}

function wisBezichtiging(id) {
	var div = document.getElementById('bezichtiging' + id);
	div.parentNode.removeChild(div);

	if (document.getElementById('bezichtigingen').getElementsByTagName('input').length < 1) {
		document.getElementById('geenBezichtigingenMelding').style.display ='block';
	}
}

function switchDisplayVisibility(el,forced) {
	var element = document.getElementById(el);
	if (forced) {
		element.style.display = forced;
	} else {
		if (element.style.display == 'none' || element.style.display == '') {
			element.style.display = 'block';
		} else {
			element.style.display = 'none';
		}
	}
}

/**
 * Loads CSS asynchronously. Second param (media) is optional. Leave blank for media="all"
 *
 * @param {String} path to file
 * @param {String} media type
 * @return void
 * @author Joris van Summeren <joris@e-sites.nl>
 * @since 19 okt 2010
 */
function loadAsyncCSS(path, media) {
	var doc = document,
		link = doc.createElement('link'),
		head = doc.head || doc.getElementsByTagName('head')[0];

	link.type = 'text/css';
	link.href = path;
	link.rel = 'stylesheet';
	link.media = media || 'all';
	head.appendChild(link);
}
