//Test for IE
var IE = /*@cc_on!@*/false;

//Generic email address checker//
function checkEmail(sEmail) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(sEmail))
		return true
	else
		return false;
}

/* tests to see if string matches regular expression */
function isValidRegex(s, exp) {

    var myregexp = new RegExp(exp);
    myregexp.Pattern = exp;
    
    return myregexp.test(s);
}

/* tests to see if string is in correct UK style postcode: AL1 1AB, BM1 5YZ etc. */
function isValidPostcode(p) {
	var postcodeRegEx = /[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}/i;
	return postcodeRegEx.test(p);
}

/* Pad string with charcters */
var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;
 
function pad(str, len, pad, dir) {
 
	if (typeof(len) == "undefined") { var len = 0; }
	if (typeof(pad) == "undefined") { var pad = ' '; }
	if (typeof(dir) == "undefined") { var dir = STR_PAD_RIGHT; }
 
	if (len + 1 >= str.length) {
 
		switch (dir){
 
			case STR_PAD_LEFT:
				str = Array(len + 1 - str.length).join(pad) + str;
			break;
 
			case STR_PAD_BOTH:
				var right = Math.ceil((padlen = len - str.length) / 2);
				var left = padlen - right;
				str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
			break;
 
			default:
				str = str + Array(len + 1 - str.length).join(pad);
			break;
 
		} // switch
 
	}
 
	return str;
 
}

function EmailFriend() {
    var sMail = "mailto:?subject=" + document.title;
    sMail += "&body=I thought you might be interested in this: " + document.title;
    sMail += ". You can view it at, " + location.href;
    location.href = sMail;
}

function PrintPreview()
{
	if (!IE)
		window.print();
	else {
		var OLECMDID = 7;
		/* OLECMDID values:
		* 6 - print
		* 7 - print preview
		* 1 - open window
		* 4 - Save As
		*/
		var PROMPT = 1; // 2 DONTPROMPTUSER
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(OLECMDID, PROMPT);
		WebBrowser1.outerHTML = "";
	}
}

//HTTP object for AJAX calls
function getXMLHTTPRequest() {
	try {
		req = new XMLHttpRequest();
	} 
	catch(err1) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (err2) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (err3) {
				req = false;
			} 
		} 
	}
	return req;
}

//Enquiry checker for forms added to panels//
function checkShortEnquiry()
{
	formObj=document.frmEnquiry;
	if ((formObj.EQ_EMAIL.value != "") && (!checkEmail(formObj.EQ_EMAIL.value)))
	{
		alert("That email address is invalid.");
		formObj.EQ_EMAIL.select();
		formObj.EQ_EMAIL.focus();
		return false;
	}
	if (formObj.EQ_EMAIL.value == "")
	{
		alert("Please enter your email address.");
		formObj.EQ_EMAIL.select();
		formObj.EQ_EMAIL.focus();
		return false;
	}
	formObj.cmdSubmit.value="Submitted";
	formObj.cmdSubmit.disabled=true;
}

//Add site to favourites - IE only//
function addToFavorites(sUrl, sTitle) 
{
	var urlAddress = sUrl;
	var pageName = sTitle;
	
	if (window.external)
	{
		window.external.AddFavorite(urlAddress,pageName) 
	}
	else 
	{
	alert("Sorry! Your browser doesn't support this function."); 
	}
}

//Find root URL of site calling a script - particularly for AJAX calls
function sRootUrl(sURL) {

    var i = sURL.lastIndexOf('/');
    var s = sURL.substring(0, i + 1);

    return s;
}

//Cookies
function createCookie(name,value,days) 
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else 
		var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i<ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') 
			c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) 
			return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function LoadPage()
{
	var mysize=readCookie("font-size");
	// text = document.getElementById("SSIDM_BODY");
	// alert(mysize);
	// SetFont(mysize);
	//text.style.fontSize = fs;
}

function LoadGoogleMapsPage()
{
	initGoogleMaps();
//	var mysize=readCookie("font-size");
//	SetFont(mysize);
}
