// JavaScript Document
function showhide(id, id2){
    if (document.getElementById){
        var obj = document.getElementById(id);
        var obj2 = document.getElementById(id2);
        if (obj.style.display == "none"){
            obj.style.display = "inline";
        } else {
            obj.style.display = "none";
        }
    }
    setTimeout('refreshIframes()', 50);
}

function showhide1(id, id2){
    if (document.getElementById){
        var obj = document.getElementById(id);
        var obj2 = document.getElementById(id2);
        if (obj.style.display == "none"){
            obj.style.display = "block";
        } else {
            obj.style.display = "none";
        }
    }
}

function changeText(id, id2, showText, hiddenText, img)
{
	if ( document.getElementById(id).style.display=="none" ){
		document.getElementById(id2).innerHTML = showText;
		if ( img != null ) {
			document.getElementById(id2).innerHTML += "<img src=\""+img+"\" alt=\"arrow\" /> ";
		}
	}
	else
	{
		document.getElementById(id2).innerHTML = hiddenText;
		if ( img != null ) {
			document.getElementById(id2).innerHTML += "<img src=\""+img+"\" alt=\"arrow\" /> ";
		}
	}
}



function validateSendFriend(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("friendsname");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your friend's name is required");
		document.getElementById("friendsname").className = 'errHighlight';
	} else {
		if(obj.value.length > 50){
			valid = false;
			messageArr.push("Your friend's name is restricted to 50 characters");
			document.getElementById("friendsname").className = 'errHighlight';
		} else {
			document.getElementById("friendsname").className = '';
		}
	}
	
	var obj = document.getElementById("friendsemail");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your friend's email is required");
		document.getElementById("friendsemail").className = 'errHighlight';
	} else {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your friend's email is restricted to 100 characters");
			document.getElementById("friendsemail").className = 'errHighlight';
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your friend's email is not a valid email address");
				document.getElementById("friendsemail").className = 'errHighlight';
			} else {
				document.getElementById("friendsemail").className = '';
			}
		}
	}

	var obj = document.getElementById("yourname");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your name is required");
		document.getElementById("yourname").className = 'errHighlight';
	} else {
		if(obj.value.length > 50){
			valid = false;
			messageArr.push("Your name is restricted to 50 characters");
			document.getElementById("yourname").className = 'errHighlight';
		} else {
			document.getElementById("yourname").className = '';
		}
	}

	var obj = document.getElementById("message");
	if(obj.value.length > 300){
		valid = false;
		messageArr.push("Your message is restricted to 300 characters");
		document.getElementById("message").className = 'errHighlight';
	} else {
		document.getElementById("message").className = '';
	}

	var obj = document.getElementById("youremail");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your email is required");
		document.getElementById("youremail").className = 'errHighlight';
	} else {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your email is restricted to 100 characters");
			document.getElementById("youremail").className = 'errHighlight';
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your email is not a valid email address");
				document.getElementById("youremail").className = 'errHighlight';
			} else {
				document.getElementById("youremail").className = '';
			}
		}
	}
	
	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}

function validateBrokenLink(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("youremail");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your email is required");
		document.getElementById("youremail").className = 'errHighlight';
	} else {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your email is restricted to 100 characters");
			document.getElementById("youremail").className = 'errHighlight';
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your email is not a valid email address");
				document.getElementById("youremail").className = 'errHighlight';
			} else {
				document.getElementById("youremail").className = '';
			}
		}
	}
	
	var obj = document.getElementById("message");
	if(obj.value.length > 300){
		valid = false;
		messageArr.push("Your message is restricted to 300 characters");
		document.getElementById("message").className = 'errHighlight';
	} else {
		document.getElementById("message").className = '';
	}	

	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}

function validateOffensiveContent(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("youremail");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your email is required");
		document.getElementById("youremail").className = 'errHighlight';
	} else {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your email is restricted to 100 characters");
			document.getElementById("youremail").className = 'errHighlight';
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your email is not a valid email address");
				document.getElementById("youremail").className = 'errHighlight';
			} else {
				document.getElementById("youremail").className = '';
			}
		}
	}
	
	var obj = document.getElementById("message");
	if(obj.value.length > 300){
		valid = false;
		messageArr.push("Your message is restricted to 300 characters");
		document.getElementById("message").className = 'errHighlight';
	} else {
		document.getElementById("message").className = '';
	}	
	
	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}

function validateFAQSearch(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("keyword");
	if(obj.value.length == 0) {
		valid = false;
		messageArr.push("A keyword is required");
		document.getElementById("keyword").className = 'errHighlight';
	} else {
		document.getElementById("keyword").className = '';
	}

	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
	} else {
		objErr.innerHTML = "";
	}

	return valid;
}

function validateSubmitQuestions(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("Postcode");
	if(obj.value.length != 0) {
		if(obj.value.length > 4){
			valid = false;
			messageArr.push("Your postcode is restricted to to 4 characters");
			document.getElementById("Postcode").className = 'errHighlight';
		} else if (document.getElementById("UKResident").checked) {
			valid = false;
			messageArr.push("Your Postcode is only used if you are in the UK. Please either remove your postcode or untick the 'I live outside the UK' checkbox.");
			document.getElementById("Postcode").className = 'errHighlight';
		} else {
			document.getElementById("Postcode").className = '';
		}
	}

	var obj = document.getElementById("EmailAddress");
	if(obj.value.length != 0) {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your email is restricted to 100 characters");
			document.getElementById("EmailAddress").className = 'errHighlight';
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your email is not a valid email address");
				document.getElementById("EmailAddress").className = 'errHighlight';
			} else {
				document.getElementById("EmailAddress").className = '';
			}
		}
	}

	var obj = document.getElementById("Question");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your question is required");
		document.getElementById("Question").className = 'errHighlight';
	} else {
		if(obj.value.length > 300){
			valid = false;
			messageArr.push("Your question is restricted to 300 characters");
			document.getElementById("Question").className = 'errHighlight';
		} else {
			document.getElementById("Question").className = '';
		}
	}
	
	var obj = document.getElementById("AcceptTerms");
	if(!obj.checked){
		valid = false;
		messageArr.push("Please read and acknowledge your acceptance of the terms and conditions");
		document.getElementById("terms_label").className = 'errHighlight2';
	} else {
		document.getElementById("terms_label").className = '';
	}

	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}


function validateSubmitQuestionLastChance(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("Question");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your question is required");
		document.getElementById("Question_err").style.display = "";
	} else {
		if(obj.value.length > 300){
			valid = false;
			messageArr.push("Your question is restricted to 300 characters");
			document.getElementById("Question_err").style.display = "";
		} else {
			document.getElementById("Question_err").style.display = "none";
		}
	}

	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}

function validateRetrieveAnswer(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("uniquecode");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your unique id is required");
		document.getElementById("uniquecode").className = 'errHighlight';
	} else {
		if(obj.value.length > 50){
			valid = false;
			messageArr.push("Your unique id is restricted to 50 characters");
			document.getElementById("uniquecode").className = 'errHighlight';
		} else {
			document.getElementById("uniquecode").className = '';
		}
	}
	


	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
	} else {
		objErr.innerHTML = "";
	}

	return valid;
}

function validateFeedback(){
	var valid = true;
	var messageArr = new Array();

	var obj = document.getElementById("EmailAddress");
	if(obj.value.length != 0) {
		if(obj.value.length > 100){
			valid = false;
			messageArr.push("Your email is restricted to 100 characters");
			document.getElementById("EmailAddress_err").style.display = "";
		} else {
			if(!validateEmail(obj.value)){
				valid = false;
				messageArr.push("Your email is not a valid email address");
				document.getElementById("EmailAddress_err").style.display = "";
			} else {
				document.getElementById("EmailAddress_err").style.display = "none";
			}
		}
	}

	var obj = document.getElementById("Question");
	if(obj.value.length == 0){
		valid = false;
		messageArr.push("Your message is required");
		document.getElementById("Question_err").style.display = "";
	} else {
		if(obj.value.length > 300){
			valid = false;
			messageArr.push("Your message is restricted to 300 characters");
			document.getElementById("Question_err").style.display = "";
		} else {
			document.getElementById("Question_err").style.display = "none";
		}
	}

	objErr = document.getElementById("errortxt");
	
	if(!valid){
		strErr = "<p>The highlighted fields have not been completed:</p>";
		strErr += "<ul>\n";
		
		for(a=0;a<messageArr.length;a++){
			strErr += "<li>" + messageArr[a] + "</li>\n";
		}
		
		strErr += "</ul>";

		objErr.innerHTML = strErr;
		
		document.getElementById("normaltext").style.display="none";
	} else {
		objErr.innerHTML = "";
		document.getElementById("normaltext").style.display="";
	}

	return valid;
}

function validateEmail(value){
	if (value.length==0){
		return false;
	}
	
	if (value.indexOf("@") == -1 || value.indexOf("@") == value.length-1 || value.indexOf("@") != value.lastIndexOf("@") || value.indexOf("@") > value.lastIndexOf(".")){
		return false;
	}
	
	if (value.indexOf(".") == 0 || value.indexOf(".") == value.length-1 || value.indexOf("..") != -1 || value.indexOf("@.") != -1 || value.indexOf(".@") != -1){
		return false;
	}
	
	return true;
}

function clearHoldingText(obj, text){
	if(obj.value == text){
		obj.value = '';
	}
}

function restoreHoldingText(obj, text){
	if(obj.value == ''){
		obj.value = text;
	}
}

var iframesrc = new Array();
var increment = 1;

function parseXML()
{
try //Internet Explorer
  {
  var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
	alert(e.message);
    return;
    }
  }
	xmlDoc.async=false;
	xmlDoc.load(dotdotpath+"xml/tagcloud/tagcloud.xml");	
	
	for (var i=0;i<5;i++)
	{ 
	document.getElementById("tagtitle"+i).innerHTML=
	xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
	document.getElementById("tagurl"+i).setAttribute('href', dotdotpath+xmlDoc.getElementsByTagName("url")[i].childNodes[0].nodeValue);
	document.getElementById("tagurl"+i).setAttribute('title', xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue);
	//xmlDoc.getElementsByTagName("url")[0].childNodes[0].nodeValue;
	}
}

function keypress(element)
{
	if(window.event && window.event.keyCode == 13){
		element.onclick();
		return false;
	} else {
		return true;
	}
}

var rateFramesIDs = new Array();

function refreshIframes(frameID)
{
	if(BrowserDetect.browser=="Explorer"){
		for (var i=0 ; i<rateFramesIDs.length ; i++) {
			if (document.getElementById("if"+rateFramesIDs[i]) != undefined){
				document.getElementById("if"+rateFramesIDs[i]).style.display = "none";
				document.getElementById("if"+rateFramesIDs[i]).style.display = "block";
			}
			else if (document.getElementById(rateFramesIDs[i]) != undefined){
				document.getElementById(rateFramesIDs[i]).style.display = "none";
				document.getElementById(rateFramesIDs[i]).style.display = "block";
			}
			if (document.getElementById("div"+rateFramesIDs[i]) != undefined && document.getElementById("info"+rateFramesIDs[i]) != undefined){
				showhide1("div"+rateFramesIDs[i],"info"+rateFramesIDs[i]);
				showhide1("div"+rateFramesIDs[i],"info"+rateFramesIDs[i]);
			}
		}
	}
}


function fieldcounter(field, updatediv){
	if(field.value.length <= 300){
		document.getElementById(updatediv).innerHTML = (300 - field.value.length) + " characters left";
		document.getElementById(updatediv).style.color = "#FFFFFF";
		document.getElementById(updatediv).style.fontWeight = "normal";
	} else {
		document.getElementById(updatediv).innerHTML = (field.value.length - 300) + " characters over limit";
		document.getElementById(updatediv).style.color = "#FF0000";
		document.getElementById(updatediv).style.fontWeight = "bold";
	}
}
