// Target = '_blank' for external links
$('a').click(function() {
	if (this.protocol != 'mailto:' && this.hostname != window.location.hostname) {
		$(this).attr('target', '_blank');
	}
});


// settingsAdvanced.php
$('#deleteBanner').click(function() {
	var msg = translate('Banner wissen?');
	if (confirm(msg)) {
		window.location.href = '/settingsAdvanced.php?deleteBanner=1';
	}		  
});



function keyHandler(event) {
	var target  = event.target;
	var isInput = target.nodeName == 'INPUT' || target.nodeName == 'TEXTAREA';	
	var map     = {37:'keyLeft', 38:'keyUp', 39:'keyRight', 40:'keyDown'};	
	if (typeof window[map[event.keyCode]] === 'function' && !isInput) {
		window[map[event.keyCode]]();
		event.preventDefault();
		// Set cookie to hide text
		var objDate  = new Date();
		var lifespan = 1000 * 60 * 60; // 1 hour
		objDate.setTime(objDate.getTime() + lifespan);
		var expDate = objDate.toGMTString();
		document.cookie = 'keyboard=1; expires=' + expDate + '; path=/';
	}
}



$(function() {
	
	// Disable right-click
	if ( !GLOBAL.ADMIN ) {
		$('img').bind('contextmenu', function() {
			return false;
		});
	}
	
	
	// Init keyNav
	var mainNav = document.getElementById('mainNav');
	if (mainNav) { // Other tests fail!
		window.focus();
		var map = {37:'keyLeft', 38:'keyUp', 39:'keyRight', 40:'keyDown'};
		$(document).keydown(function(event) {
			keyHandler(event);
		});
	}


	// Set cookie to store viewport size
	if (self.name != 'thumbs') {
		var height = $(window).height();
		var width  = $(window).width();
		if (typeof top.frames['thumbs'] == 'undefined') {
			width -= 167; // Width of thumbs frame
		}
		var viewportSizeNew = width + '_' + height;
		document.cookie = 'viewportSize=' + viewportSizeNew + '; path=/';
		$('#imgTime').append('<br />Cookie VPS (JS): ' + viewportSizeNew);
	}
	
	
	// Init imageLayer
	var imageLayer = $('#imageLayer');
	if (imageLayer.length != 0 && typeof GLOBAL.imgProp != 'undefined') {
		var imgPath = '/data/' + GLOBAL.siteId + '/cache/' + GLOBAL.imgProp + '.jpg';
		// Show keyboard message
		var isMobile     = navigator.userAgent.match(/(iphone|ipod|ipad)/i) != null;
		var cookieExists = document.cookie.indexOf('keyboard=') != -1;
		if (!isMobile && !cookieExists) {
			var msg = translate('Navigeer met de pijltjes op uw toetsenbord');
			$('#itemLayer').append("<div id='msgKeyboard'>" + msg + "</div>");
		}
		
		// Show image with copy block
		if (imageLayer.html().indexOf('Copyright_Protected') != -1) {
			imageLayer.css('backgroundImage', 'url(' + imgPath + ')');
		}

	}
	
	
	// Check upload
	/*
	$('#frmUpload').submit(function(event) {
		if ($('#uploadImg').val().length > 1) {
			$('#btnSubmit').attr('disabled', true);
			return true;
		}
		var msg = translate('Kies eerst een bestand om te uploaden');
		alert(msg);
		event.preventDefault();
	});
	*/
	
	// Safari file upload
	$("form[enctype='multipart/form-data']").submit(function() {
		if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
			// Load a blank page which sends a 'Connection: close' header
			$.ajax({url:'/close.php', async:false});
			return true;
		}
	});
	
	
});



function getPage() { // Get prev/next page
	var mainNav = document.getElementById('mainNav');
	var li   = mainNav.getElementsByTagName('li');
	var cats = [];
	var hasSubCats, isRightPage, href;
	
	for (var i = 1; i < li.length; i++) { // i = 1 -> Skip 'Home'
		href        = li[i].getElementsByTagName('A')[0].href;
		isRightPage = href.indexOf('/frame.php') != -1 || href.indexOf('/text.php') != -1 || href.indexOf('/overview.php') != -1;
		hasSubCats  = li[i].getElementsByTagName('UL').length > 0;
		if (!hasSubCats && isRightPage) {
			cats.push(href);
		}
		if (li[i].id.indexOf('cur') != -1) {
			var curIndex = cats.length - 1;
		}
	}
	
	var prevPage = cats[curIndex - 1] || cats[cats.length - 1];
	var nextPage = cats[curIndex + 1] || cats[0];
	
	return {'prev':prevPage, 'next':nextPage};
}


function keyLeft() {
	top.location.href = getPage().prev;
}


function keyRight() {
	top.location.href = getPage().next;
}



function validateEmail(str) {
	var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return !!(str.length == 0 || pattern.test(str));
}



function validateUrl(str) {
	var pattern = /^(www\.)?(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return !!(str.length == 0 || pattern.test(str));
}



function validatePhone(str) {
	var matches = str.match(/\d/g); // 'g' = global (search entire string, don't stop at first reference)
	return !!(str.length == 0 || (matches && matches.length >= 7));
}



function translate(str) {
	var lang = $('html').attr('lang') || 'nl';
	var out  = str;
	if (language[str] && language[str][lang]) {
		out = language[str][lang];
	}
	return out;
}



var language = [];

language['Banner wissen?'] = {
	"en": "Delete banner?"
}

language['Deze pagina wissen?'] = {
	"en": "Delete this page?"
}

language['Deze pagina, inclusief %d foto(s), wissen?'] = {
	"en": "Delete this page, including %d image(s)?"
}

language['Foto wissen?'] = {
	"en": "Delete image?"
}

language['Foto en tekst wissen?'] = {
	"en": "Delete image and text?"
}

language['Kies eerst een bestand om te uploaden'] = {
	"en": "First choose a file to upload"
}

language['Navigeer met de pijltjes op uw toetsenbord'] = {
	"en": "Navigate with the arrow keys on your keyboard"
}

language['Volledige nieuwe zone invoegen?'] = {
	"en": "Insert completely new zone?"
}

language['Wachtwoord vergeten?'] = {
	"en": "Forgot password?"
}
