// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function validateInputField(fieldId, minLength, errorDivId, errorMessage) {
	var trimmedFieldValue = new String(trim(document.getElementById(fieldId).value));
	if(trimmedFieldValue.length < minLength) {
		document.getElementById(errorDivId).innerHTML = errorMessage;
		document.getElementById(errorDivId).style.display = 'block';
		document.getElementById(errorDivId + "1").style.display = 'block';
		
		return false;
	} else {
		if(document.getElementById(errorDivId).innerHTML.length > 0) {
		  document.getElementById(errorDivId).innerHTML = "";
		  document.getElementById(errorDivId).style.display = 'none';	  
		  document.getElementById(errorDivId + "1").style.display = 'none';
		 
		}
		return true;
	}
}

function validateEmailField(emailAddressDivId, errorDivId, errorMessage) {
	var trimmedFieldValue = new String(trim(document.getElementById(emailAddressDivId).value));
	var emailReg = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var regex = new RegExp(emailReg);
	var valid = regex.test(trimmedFieldValue);
	if(valid) {
		document.getElementById(errorDivId).innerHTML = "";
		document.getElementById(errorDivId).style.display = 'none';
		document.getElementById(errorDivId + "1").style.display = 'none';
	
		
	} else {
		document.getElementById(errorDivId).innerHTML = errorMessage;
		document.getElementById(errorDivId).style.display = 'block';
		document.getElementById(errorDivId + "1").style.display = 'block';
		
				
		
	}
	return valid;
}
function showHidePreview (inVal) {

            if (document.getElementById('preview' + inVal).style.display == "block") {
                        document.getElementById('preview' + inVal).style.display = 'none';
            }

            else {
                        document.getElementById('preview' + inVal).style.display = 'block';
            }

}
function hideDiv(divId) {
	document.getElementById(divId).style.display = 'none';
	
}

/*
 * This function is used to clear and close the floating login form, which is displayed on all pages.
 * Invoked when user clicks on the login link, or the 'x' in the top right hand corner of the login box. 
 */
function resetLoginFormAndHideIt() {
	document.getElementById('loginError_loginForm').innerHTML = '';
	document.getElementById('loginError_loginForm').style.display = 'none';
	document.getElementById('loginForm').username.value = "";
	document.getElementById('loginForm').password.value = "";		
	document.getElementById('floating_login_form').style.display = 'none';
}

/* convenience method for calling unica tagging with an onclick 
 * fixes IE vs Firefox bug when target=_blank
 */
function callUnica(unicaString) {
	ntptLinkTag(this, unicaString);
	return true;
}

function getCookieValue(name) {
	var nameValuePairs = document.cookie.split(';');
	for(var i=0;i < nameValuePairs.length;i++) {
		var nameValuePair = unescape(nameValuePairs[i].replace(" ","")); // spaces used for display in the document.cookie() removed
		if(nameValuePair.indexOf(name+"=")!= -1) {
			return nameValuePair.substring(name.length + 1, nameValuePair.length);
		}
	}
	return "";
}

function deleteCookie(name) {
	// A cookie can only be deleted by setting its expiry date to one in the past.
	// Internally javascript stores all dates as a number from the 1st of January 1970
	// so by setting cookies expiry date to this we are effectively setting the date to zero.
	document.cookie = name +'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}

function storeCookie(name, value) {
	document.cookie = name+"="+escape(value);
}
