﻿/**
 * @fileOverview Redirection for mobile devices.
 * @author Wouter Bos
 * @version 1.0 - 2011-05-19
 */



/**
 * Redirects mobile devices once. After the first visit a cookie is set that
 * indicates that no more redirection should be done. The cookie is not deleted
 * after the end of the session.
 * 
 * @param {Number} screenWidth Screens with less pixels than the supplied value
 *    are considered mobile devices
 * @param {String} forwardUrl The URL all devices are redirected to
 * @author Wouter Bos
 * @example
 *   <script src="/Estate/Scripts/redirect.js" type="text/javascript"></script>
 *   <script type="text/javascript">
 *     mobileRedirect(961, 'http://MOBILE_URL');
 *   </script>
 */
function mobileRedirect(screenWidth, forwardUrl) {
	if (screen.width < screenWidth) {
		if (cookieName('mobileForwarded') != '1') {
			var date = new Date();
			date.setTime(date.getTime()+(1825*24*60*60*1000));// expires after 5 years
			var expires = date.toGMTString();
			document.cookie = 'mobileForwarded=1; expires=' + expires + '; path=/';
			document.location = forwardUrl;
		}
	};

	function cookieName(name) {
		var dc = document.cookie;
		var prefix = name + "=";
		var begin = dc.indexOf("; " + prefix);
		if (begin == -1) {
			begin = dc.indexOf(prefix);
			if (begin != 0) return null;
		} else {
			begin += 2;
		}
		var end = document.cookie.indexOf(";", begin);
		if (end == -1) {
			end = dc.length;
		}
		return decodeURIComponent(dc.substring(begin + prefix.length, end));
	}
}

