﻿var BrowserDetect = {

	init: function() {

		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";

		this.version = this.searchVersion(navigator.userAgent)

			|| this.searchVersion(navigator.appVersion)

			|| "an unknown version";

		this.OS = this.searchString(this.dataOS) || "an unknown OS";

		this.OSVersion = this.searchString(this.dataOSVersion) || 'Unknown';

	},

	searchString: function(data) {

		for (var i = 0; i < data.length; i++) {

			var dataString = data[i].string;

			var dataProp = data[i].prop;

			this.versionSearchString = data[i].versionSearch || data[i].identity;

			if (dataString) {

				if (dataString.indexOf(data[i].subString) != -1)

					return data[i].identity;

			}

			else if (dataProp)

				return data[i].identity;

		}

	},

	searchVersion: function(dataString) {

		var index = dataString.indexOf(this.versionSearchString);

		if (index == -1) return;

		return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));

	},

	dataBrowser: [

		{

			string: navigator.userAgent,

			subString: "Chrome",

			identity: "Chrome"

		},

		{ string: navigator.userAgent,

			subString: "OmniWeb",

			versionSearch: "OmniWeb/",

			identity: "OmniWeb"

		},

		{

			string: navigator.vendor,

			subString: "Apple",

			identity: "Safari",

			versionSearch: "Version"

		},

		{

			prop: window.opera,

			identity: "Opera"

		},

		{

			string: navigator.vendor,

			subString: "iCab",

			identity: "iCab"

		},

		{

			string: navigator.vendor,

			subString: "KDE",

			identity: "Konqueror"

		},

		{

			string: navigator.userAgent,

			subString: "Firefox",

			identity: "Firefox"

		},

		{

			string: navigator.vendor,

			subString: "Camino",

			identity: "Camino"

		},

		{		// for newer Netscapes (6+)

			string: navigator.userAgent,

			subString: "Netscape",

			identity: "Netscape"

		},

		{

			string: navigator.userAgent,

			subString: "MSIE",

			identity: "Explorer",

			versionSearch: "MSIE"

		},

		{

			string: navigator.userAgent,

			subString: "Gecko",

			identity: "Mozilla",

			versionSearch: "rv"

		},

		{ 		// for older Netscapes (4-)

			string: navigator.userAgent,

			subString: "Mozilla",

			identity: "Netscape",

			versionSearch: "Mozilla"

		},

		{

			string: navigator.userAgent,

			subString: 'Slurp',

			identity: 'Bot'

		},

		{

			string: navigator.userAgent,

			subString: 'AdsBot',

			identity: 'Bot'

		},

		{

			string: navigator.userAgent,

			subString: 'MSNPTC',

			identity: 'Bot'

		},

		{

			string: navigator.userAgent,

			subString: 'Teoma',

			identity: 'Bot'

		}

	],

	dataOS: [

		{

			string: navigator.platform,

			subString: "Win",

			identity: "Windows"

		},

		{

			string: navigator.platform,

			subString: "Mac",

			identity: "Mac"

		},

		{

			string: navigator.userAgent,

			subString: "iPhone",

			identity: "iPhone/iPod"

		},

		{

			string: navigator.platform,

			subString: "Linux",

			identity: "Linux"

		}

	],

	dataOSVersion: [

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'nt 5.1',

			identity: 'XP'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'nt 6.0',

			identity: 'Vista'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'nt 7.0',

			identity: '7'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'nt 5.0',

			identity: '2000'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'win98',

			identity: '98'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'win95',

			identity: '95'

		},

		{

			string: navigator.userAgent.toLowerCase(),

			subString: 'nt 5.2',

			identity: 'Server 2003'

		}

	]

};

BrowserDetect.init();



function checkForm() {

	var domain = document.getElementById('domain').value;

	var email = document.getElementById('email').value;

	var alertText = '';

	//if (!domain.match(/^(((http(s?))|(ftp)):\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9\-.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|br)(:[0-9]+)*(\/($|[a-zA-Z0-9.,;?'\\+&%$#=~_\-]+))*$/i))

	if (!domain.match(/^((?:https?:\/\/)?(?:[a-zA-Z\d][a-zA-Z\d\-]*\.){1,4}[a-zA-Z\d]+)(\/.*?)?$/i))

		alertText += 'Please enter a valid Website address.\n';

	if (!email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b/i))

		alertText += 'Please enter a valid Email address.\n';



	if (alertText.length > 0) {

		alert(alertText);

		return false;

	}

	return true;

}



function checkFormFull() {

	var domain = document.getElementById('domain').value;

	var email = document.getElementById('email').value;

	var name = document.getElementById('name').value;

	var phone = document.getElementById('phone').value;



	var alertText = '';

	if (!domain.match(/^((?:https?:\/\/)?(?:[a-zA-Z\d][a-zA-Z\d\-]*\.){1,4}[a-zA-Z\d]+)(\/.*?)?$/i))

		alertText += 'Please enter a valid Website address.\n';

	if (!email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b/i))

		alertText += 'Please enter a valid Email address.\n';

	if (name.length == 0)

		alertText += 'Please enter Your Name.\n';

	if (!phone.match(/^(?:00|011)?\s*\+?\s*\d*[\.\s\-]*\d{3}[\.\s\-]*\d{3}[\.\s\-]*\d{4}(?:\s+[a-z]*\s*\d+)?/i))

		alertText += 'Please enter a valid Phone number.';



	if (alertText.length > 0) {

		alert(alertText);

		return false;

	}

	return true;

}



function checkAffiliateForm() {

	var name = document.getElementById('name').value;

	var email = document.getElementById('email').value;

	var phone = document.getElementById('phone').value;



	var alertText = '';

	if (name.length == 0)

		alertText += 'Please enter Your Name.\n';

	if (!email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b/i))

		alertText += 'Please enter a valid Email address.\n';

	if (!phone.match(/^(?:00|011)?\s*\+?\s*\d*[\.\(\s\-]*\d{3}[\.\)\s\-]*\d{3}[\.\s\-]*\d{4}(?:\s+[a-z]*\s*\d+)?/i))

		alertText += 'Please enter a valid Phone number.';



	if (alertText.length > 0) {

		alert(alertText);

		return false;

	}

	return true;

}



function checkMapsForm() {

	var name = document.getElementById('name').value;

	var email = document.getElementById('email').value;

	var phone = document.getElementById('phone').value;



	var alertText = '';

	if (name.length == 0)

		alertText += 'Please enter Your Business Name.\n';

	if (!email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b/i))

		alertText += 'Please enter a valid Business Email address.\n';

	if (!phone.match(/^(?:00|011)?\s*\+?\s*\d*[\.\(\s\-]*\d{3}[\.\)\s\-]*\d{3}[\.\s\-]*\d{4}(?:\s+[a-z]*\s*\d+)?/i))

		alertText += 'Please enter a valid Business Phone number.';



	if (alertText.length > 0) {

		alert(alertText);

		return false;

	}

	return true;

}



function newWindow(imageName, width, height) {

	window.open('http://www.boostability.com/Content/images/' + imageName, 'screenshot', 'width=' + width + ',height=' + height);

}
