window.onload=init;

function init(){
	boxes();
	shortcuts();
	externalLinks();
	//captureURL();
}

var dom;
dom=document.getElementById?true:false;


var opera;
if(navigator.userAgent.indexOf("Opera")!=-1){
opera = true
}


var mac
if(navigator.platform.indexOf("Mac")!=-1){
mac = true
}


function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "pdf"){
			anchor.target = "_blank";
			anchor.title = "opens in a new window";
		}
 }
}


function shortcuts() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		 if (document.all && 
			(anchor.className == "hide-all" || anchor.className == "hide-screen") ) {
			// Focus on off screen links (screen reader navigation cues)
			// Internet Explorer needs a little help for :focus styled links
			// Need to set up a class to display them on screen, and
			// use this code to manipulate the class on the anchor
			////alert(i + ": " + anchor.href);
			if (anchor.href.indexOf('#')>=0) {
				anchor.onfocus = function() {
					//alert('linkFocus');
					this.className = 'show';
				}
				anchor.onblur = function() {
					this.className = '';
				}
			}
		}
	}
}


function rollOn(lyr){
	if(document.getElementById(lyr.id+"box")){
	document.getElementById(lyr.id+"box").className = "roll";
	}
}


function rollOff(lyr){
	if(document.getElementById(lyr.id+"box")){
	document.getElementById(lyr.id+"box").className = "box";
	}
}




function boxes(){
	if (!document.getElementsByTagName) return;
	
	var layers = document.getElementsByTagName("div");
	var boxes = new Array();
	var j = 0;
	
		for (var i=0;i<layers.length;i++){
			if(layers[i].id.indexOf("box-")!=-1 && layers[i].id.indexOf("-client-")==-1){
			boxes[j] = layers[i].id;
			j++;
			}
		}
		
		for (var i=0;i<boxes.length;i++){
			document.getElementById(boxes[i]).onmouseover = boxOn;
			document.getElementById(boxes[i]).onmouseout = boxOff;
		}
}

function boxOn(){
	if(this){this.className = "box-alt";}
}

function boxOff(){
	if(this){this.className = "box";}
}


var counter = 0;
var amount = 10;

function panelAppear(type,msg,linkhref){

if(mac==true || dom!=true || opera==true){
document.location.href=linkhref.href;
}
else{
var emb = document.getElementsByTagName("embed");
	if(type=="contact"){
		for(i=0;i<emb.length;i++){if(emb[i].id!="flash-header"){emb[i].style.visibility="hidden";}}
		document.location.href="#";
		document.getElementById("Subject").value = msg;
		document.getElementById("message").innerHTML = "<h3>"+msg+"</h3>";
		document.getElementById("Ajax").value = "true";
		document.getElementById("body").className = "panel";
		document.getElementById("file-upload").style.display = "none";
		document.getElementById("contact-inner").style.display = "block";
		document.getElementById("contact-panel").style.display = "block";
		document.getElementById("contact-panel2").style.display = "block";
		document.getElementById("message").style.display = "block";
		document.getElementById("contactform").className="form-show";
		document.getElementById("waiting").innerHTML="<img src=../../james2/scripts//"/assets/images/waiting.gif/" width=\"169\" height=\"20\" alt=\"Please wait...\" />"
		document.getElementById("waiting").className="form-hidden";
		document.getElementById("sent").innerHTML="<br /><h2>Thank you!</h2><p>Your details have been send to us. You will be contacted shortly.</p>";
		document.getElementById("sent").className="form-hidden";
		document.getElementById("contact-anchor").focus();
	}
	else if(type=="newsletter"){
		for(i=0;i<emb.length;i++){if(emb[i].id!="flash-header"){emb[i].style.visibility="hidden";}}	
		document.location.href="#";
		document.getElementById("body").className = "panel";
		document.getElementById("newsletter-inner").style.display = "block";
		document.getElementById("newsletter-panel").style.display = "block";
		document.getElementById("newsletter-panel2").style.display = "block";
		document.getElementById("newsletter-anchor").focus();
	}
	else{
		for(i=0;i<emb.length;i++){if(emb[i].id!="flash-header"){emb[i].style.visibility="hidden";}}
		document.location.href="#";
		document.getElementById("body").className = "panel";
		document.getElementById("inner").style.display = "block";
		document.getElementById("panel").style.display = "block";
		document.getElementById("panel2").style.display = "block";
		document.getElementById("settings-anchor").focus();
	}
}

}

function panelHide(type){
var emb = document.getElementsByTagName("embed");

	if(type=="contact"){
		for(i=0;i<emb.length;i++){emb[i].style.visibility="visible";}
		document.getElementById("body").className = "";
		document.getElementById("contact-inner").style.display = "none";
		document.getElementById("contact-panel").style.display = "none";
		document.getElementById("contact-panel2").style.display = "none";
		document.getElementById("contactform").className="form-show";
		document.getElementById("waiting").className="form-hidden";
		document.getElementById("sent").className="form-hidden";
		document.getElementById("contactform").style.display = "block";
		document.getElementById("Subject").value = "";
		document.getElementById("Ajax").value = "";
	}
	else if(type=="newsletter"){
		for(i=0;i<emb.length;i++){emb[i].style.visibility="visible";}
		document.getElementById("body").className = "";
		document.getElementById("newsletter-inner").style.display = "none";
		document.getElementById("newsletter-panel").style.display = "none";
		document.getElementById("newsletter-panel2").style.display = "none";
	}
	else{
		for(i=0;i<emb.length;i++){emb[i].style.visibility="visible";}	
		document.getElementById("body").className = "";
		document.getElementById("inner").style.display = "none";
		document.getElementById("panel").style.display = "none";
		document.getElementById("panel2").style.display = "none";
	}
}	





//RESOLUTION SWITCHER---------------------------------------------------------------------------------------


function addLoadListener(fn){
	if (typeof window.addEventListener != 'undefined'){window.addEventListener('load', fn, false);}
	else if (typeof document.addEventListener != 'undefined'){document.addEventListener('load', fn, false);}
	else if (typeof window.attachEvent != 'undefined'){window.attachEvent('onload', fn);}
	else{return false;}
	return true;
};

function attachEventListener(target, eventType, functionRef, capture){
    if (typeof target.addEventListener != "undefined"){target.addEventListener(eventType, functionRef, capture);}
    else if (typeof target.attachEvent != "undefined"){target.attachEvent("on" + eventType, functionRef);}
    else{return false;}
    return true;
};

checkBrowserWidth();
attachEventListener(window, "resize", checkBrowserWidth, false);

function checkBrowserWidth(){
	if(mac !=true){
	var theWidth = getBrowserWidth();
	
	if (theWidth == 0){
		var resolutionCookie = document.cookie.match(/(^|;)fc_layout[^;]*(;|$)/);
		if (resolutionCookie != null){
			setStylesheet(unescape(resolutionCookie[0].split("=")[1]));
		}
		
		addLoadListener(checkBrowserWidth);
		return false;
	}

	if (theWidth > 970){
		setStylesheet("Large");
		document.cookie = "fc_layout=" + escape("Large");

	}
	else{
		setStylesheet("Small");
		document.cookie = "fc_layout=" + escape("Large");		
	}
	return true;
	}
};

function getBrowserWidth(){
	if (window.innerWidth){return window.innerWidth;}
	else if (document.documentElement && document.documentElement.clientWidth != 0){return document.documentElement.clientWidth;}
	else if (document.body){return document.body.clientWidth;}
	return 0;
};

function setStylesheet(styleTitle){
	var currTag;
	if (document.getElementsByTagName){
		for (var i = 0; (currTag = document.getElementsByTagName("link")[i]); i++){
			if (currTag.getAttribute("rel").indexOf("style") != -1 && currTag.getAttribute("title")){
				currTag.disabled = true;
				if(currTag.getAttribute("title") == styleTitle){
					currTag.disabled = false;
				}
			}
		}
	}
	return true;
};




function waitRequest(){

	if(dom){
	document.getElementById("contactform").className="form-hidden";
	document.getElementById("contactform").style.display="none";
	document.getElementById("waiting").className="form-show";
	setTimeout("makeRequest()",2000);
	}
}


function makeRequest() {

        var http_request = false;

        if (window.XMLHttpRequest) {
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
		var fieldSubject = encodeURI(document.getElementById("Subject").value);
		var fieldName = encodeURI(document.getElementById("Name").value);
		var fieldSurname = encodeURI(document.getElementById("Surname").value);
		var fieldCompany = encodeURI(document.getElementById("Company").value);
		var fieldTelephone = encodeURI(document.getElementById("Telephone").value);
		var fieldEmail = encodeURI(document.getElementById("Email").value);
		var fieldDescription = encodeURI(document.getElementById("Description").value);
		
		var fieldNewsletter;
		if(document.getElementById("Newsletter").checked){
		var fieldNewsletter=encodeURI("yes")
		}
		else{
		var fieldNewsletter=encodeURI("no")
		}
		var str = "Subject=" + fieldSubject + "&Name=" + fieldName + "&Surname=" + fieldSurname + "&Company=" + fieldCompany + "&Telephone=" + fieldTelephone + "&Email=" + fieldEmail + "&Description=" + fieldDescription + "&Newsletter=" + fieldNewsletter 
		
		var url = "/email.asp"
		
        http_request.onreadystatechange = function() { alertContents(http_request); };
        http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
        http_request.send(str);

    }

    function alertContents(http_request) {

        if (http_request.readyState == 4) {
		
		
		
		
			document.getElementById("waiting").className="form-hidden";
			document.getElementById("sent").className="form-show";
	
	
            if (http_request.status == 200) {
            } else {
                alert('There was a problem with the request.');
            }
        }
}
















function chkForm(fo){
		if(dom){
		submittable = true;
		errorlist = new Array();
		errorlistcount = 0;

		//personal detail fields
		chkText(fo.Name,'Please enter your First Name','Please enter your first name');
		chkText(fo.Surname,'Please enter your Surname','Please enter your surname');
		chkEmail(fo.Email,'Please enter a valid Email address','Please enter a valid email address');
		
		//chkFocus();
		if(submittable==true){
		waitRequest();
		}
		}
		}

function chkFormAlt(fo){
		if(dom){
		submittable = true;
		errorlist = new Array();
		errorlistcount = 0;

		//personal detail fields
		chkText(fo.Name,'Please enter your First Name','Please enter your first name');
		chkText(fo.Surname,'Please enter your Surname','Please enter your surname');
		chkEmail(fo.Email,'Please enter a valid Email address','Please enter a valid email address');
		
		//chkFocus();
		return submittable;
		}
		}

function chkFormNews(fo){
		if(dom){
		submittable = true;
		errorlist = new Array();
		errorlistcount = 0;

		//personal detail fields
		chkText(fo.first_name,'Please enter your First Name','Please enter your first name');
		chkText(fo.last_name,'Please enter your Surname','Please enter your surname');
		chkEmail(fo.email,'Please enter a valid Email address','Please enter a valid email address');
		
		//chkFocus();
		return submittable;
		}
		}










