function safariFix() {
	if(isItSafari()) {
		// Fix Safari
		document.getElementById("topPart").style.backgroundColor = "#2500d5";
	}
}

function isItSafari() {
	var stringToCheck = navigator.userAgent;
	if(stringToCheck != undefined) {	
		var isSafari = false;
		stringToCheck = stringToCheck.toLowerCase();
		var safariIndex = stringToCheck.indexOf("safari");
		var chromeIndex = stringToCheck.indexOf("chrome");
		if(safariIndex >= 0) {
			isSafari = true;
		} 
		if(chromeIndex >= 0) {
			isSafari = false;
		}
		return isSafari;
	}
}

/** Processing for the email to service **/

function validateFeedbackEmail() {
	validationErrorMsg = "There was a problem with the information provided! ";
    var validFlag = true;

    if(beName == "") {
        validationErrorMsg += "Name blank. ";
        validFlag = false;
    }
    if(beEmail == "") {	
        validationErrorMsg += "Email address blank. ";
        validFlag = false;
    } else if(beEmail.indexOf('@', 0) == -1) {
        validationErrorMsg += "Email address invalid. ";
        validFlag = false;	    
    }
    if(beMessage == "") {
        validationErrorMsg += "Message blank. ";
        validFlag = false;
	}
	return validFlag;
}

function getFeedbackEmailFormValues() {
	beName = document.getElementById("beName").value;
	beEmail = document.getElementById("email").value;
	beMessage = document.getElementById("beMessage").value;	
}

function submitFeedbackEmailForm() {
	var beQueryString = "?usersname=" + beName + "&usersemail=" + beEmail
                  		+ "&usersmessage=" + beMessage;
	var getCallHref = "/feedback/emailHclAccountancy.pl" + beQueryString;
	var prefix = "http://www.hclaccountancy.co.uk";
	top.location.href = prefix + getCallHref;
}

function submitFeedbackEmailFormPrevious() {
	
	outputStatus("Sending email");
	hideTheEmailForm();
	
	if(document.getElementById) {
        var beQueryString = "?usersname=" + beName + "&usersemail=" + beEmail
                          + "&usersmessage=" + beMessage;
        var getCallHref = "/feedback/emailHclAccountancy.pl" + beQueryString;

		// To allow it to run locally
		try{ netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
	    } catch(e1) {
	    }

		if (window.XMLHttpRequest) {
			xhr = new XMLHttpRequest();
		}
		else {
			if (window.ActiveXObject) {
				try {
					xhr = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) { }
			}
		}

	    outputStatus("Sending email ......");


		if (xhr) {
			xhr.onreadystatechange = showThankyouMessage;
	        var urlToGet = getCallHref;
	        //alert(urlToGet); // The url changes, but the same data is returned...
			xhr.open("GET", urlToGet, true);
	        outputStatus("Sending email ............");
	 		xhr.send(null);

		}
		else {
			alert("Sorry, but I couldn't send the email"); // Sorry, but I couldn't create an XMLHttpRequest"
		}
		outputStatus("Email sent");
	
	}
}


function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function setErrorMessage() {

	var errorMessage = "";
	// get vars from url
	var errorNumber = gup("errormode");
	//alert("errorNumber = " + errorNumber);
    if(errorNumber == 1) {
		errorMessage = "Error: Username was not provided";
	    outputStatus(errorMessage);		
	    alert("should have output message 1");
	} else if(errorNumber == 2) {
		errorMessage = "Error: Email was not provided";	
	    outputStatus(errorMessage);	    
	    alert("should have output message 2");
	} else if(errorNumber == 3) {
		errorMessage = "Error: Message was not provided";	
	    outputStatus(errorMessage);		
	    alert("should have output message 3");	
	} else if(errorNumber == 4) {
		errorMessage = "Error: There was an unknown error, terribly sorry";		
	    outputStatus(errorMessage);
	    alert("should have output message 3");	
	}
}

function showThankyouMessage() {
	
	outputStatus("Thank you for sending us an email");
}

function outputStatus(statusMessage) {
	document.getElementById("statusMessage").innerHTML = statusMessage;
}

function hideTheEmailForm() {
	document.getElementById("feedbackFormDiv").style.display = "none";
}

function doPostFeedbackEmail() {
    getFeedbackEmailFormValues();
	var emailValid = validateFeedbackEmail();
    if(emailValid) {
	    submitFeedbackEmailForm();
    } else {
        alert(validationErrorMsg);
	}
}

function truncateLength(id){
	if(document.getElementById) {
		var obj = document.getElementById(id);
        var mlength = 1000;
        if (obj.getAttribute && obj.value.length>mlength) {
           obj.value=obj.value.substring(0,mlength);
        }
        document.getElementById("currentCharCount").innerHTML = obj.value.length;
    }
}

