/* ---------------------------------------------------------------
   Copyright © 2012, ECO Services International
   --------------------------------------------------------------- */

if(top == self) sfc(unescape(window.location.pathname));

function sfc(p) {
	p = p.replace(/\\/g,"\/");
	window.location.href = "sfc.html?p=" + p.substr(p.lastIndexOf("\/") + 1);
}

function CreHlT(i) {
	if (document.createElement) {
		var e = document.createElement("div");
		e.id = i;
		e.className = "hlt"
		e.innerHTML = "&nbsp;";
		document.body.appendChild(e);
	}
}

function PosHlt(e) {
	var mX = (ie) ? event.clientX+ie.scrollLeft+12 : e.pageX+12;
	var mY = (ie) ? event.clientY+ie.scrollTop+8 : e.pageY+8;
	var oY = (ie) ? ie.scrollTop : window.pageYOffset;
	var d = document.getElementById("HlT");
	d.style.left = ((wW - mX) < dW) ? (wW - (dW + 24)) + "px" : mX + "px";
	d.style.top = ((dH + mY) > (wH + oY)) ? (mY - 16 - dH) + "px" : mY + "px";
}

function hla(e) {
	if (!e) var e = window.event;
	if (e.target) var t = (e.target.nodeName=='INPUT') ? e.target.parentNode.toString() : e.target.toString();
	else if (e.srcElement) var t = (e.srcElement.nodeName=='INPUT') ? e.srcElement.parentNode.toString(): e.srcElement.toString();
	t = t.substring(16, t.lastIndexOf("'"));
	if (!document.getElementById("HlT")) CreHlT("HlT");
	var d = document.getElementById("HlT");
	d.innerHTML = eval(t);
	d.style.display = "block";
	dW = d.offsetWidth;
	dH = d.offsetHeight;
	ie = (document.all && navigator.userAgent.indexOf("Opera")==-1) ? ((document.documentElement.clientHeight) ? document.documentElement : document.body) : false;
	wW = (ie) ? ie.clientWidth : window.innerWidth-16;
	wH = (ie) ? ie.clientHeight : window.innerHeight;
	document.onmousemove = PosHlt;
}

function hlOff() {
	document.getElementById("HlT").style.display = "none";
}

function LoaHla() {
	var a = document.getElementById("cat").getElementsByTagName("a");
	for (var i=0; i<a.length; i++) {
		if (a[i].addEventListener) {
			a[i].addEventListener("mouseover", hla, false);
			a[i].addEventListener("mouseout", hlOff, false);
		}
		else if (a[i].attachEvent) {
			a[i].attachEvent("onmouseover", hla);
			a[i].attachEvent("onmouseout", hlOff);
		}
	}
}

function Chk(MyCtr) {
	var MyFor = document.getElementById("reg");
	if (MyFor[MyCtr].checked == true) {
		MyFor[MyCtr].checked = false;
	}
	else {
	MyFor[MyCtr].checked = true;
	}
}

function ValFor() {
	DataValid = false;
	var MyFie = new Object();
	MyFie[0] = new Object();
	MyFie[0].name = 'CompanyNameLong';
	MyFie[0].desc = 'Name of Your Organisation';
	MyFie[1] = new Object();
	MyFie[1].name = 'Country';
	MyFie[1].desc = 'Name of the Country';
	MyFie[2] = new Object();
	MyFie[2].name = 'Summary';
	MyFie[2].desc = 'Field of Activity of Your Organisation';
	MyFie[3] = new Object();
	MyFie[3].name = 'ContactLast';
	MyFie[3].desc = 'Name of the Contact Person';
	MyFie[4] = new Object();
	MyFie[4].name = 'ContactPos';
	MyFie[4].desc = 'Position of the Contact Person';
	MyFie[5] = new Object();
	MyFie[5].name = 'ContactMail';
	MyFie[5].desc = 'E-Mail Address of the Contact Person';
	for (var i in MyFie) {
		if (MyFor[MyFie[i].name].value == '') {
			alert('\nPlease fill-out the ' + MyFie[i].desc + ', thank you.');
			MyFor[MyFie[i].name].focus();
			DataValid = false;
			return false;
		}
		if (MyFor[MyFie[i].name].value.length < 3) {
			alert('\nPlease provide a valid ' + MyFie[i].desc + ', thank you.');
			MyFor[MyFie[i].name].focus();
			DataValid = false;
			return false;
		}
	}
	if (MyFor["E-Mail"].value != '') {
		if (MyFor["E-Mail"].value.search(/^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/) == -1) {
			alert('\nPlease provide a valid E-Mail Address, thank you.');
			MyFor["E-Mail"].focus();
			DataValid = false;
			return false;
		}
	}
	if (MyFor.ContactMail.value.search(/^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/) == -1) {
		alert('\nPlease provide a valid E-Mail Address, thank you.');
		MyFor.ContactMail.focus();
		DataValid = false;
		return false;
	}
	var x = 0;
	for(var i = 0; i < MyFor.length; ++i) {
		if (MyFor.elements[i].type == 'checkbox' && MyFor.elements[i].checked == true) {
			x++;
		}
	}
	if (x > 10) {
		alert('\nPlease be prudent with your classification!\n\nUse the 10 most relevant Categories\nto profile your fields of activities, thanks.');
		MyFor.i1_1.focus();
		DataValid = false;
		return false;
	}
	if (x == 0) {
		alert('\nPlease click appropriate classifications to\nprofile your organisation’s fields of activities.');
		MyFor.i1_1.focus();
		DataValid = false;
		return false;
	}
	else DataValid = true;
}

function AdjDat() {
	var FieGen = new Array("CompanyNameLong","CompanyNameShort","StockSym","Department","Building","Street","POBox","District","PostCode","City","Country","Telephone","Facsimile","Mobile","Messaging","Toll-Free","E-Mail","URL","Video","Network","Summary","ContactLast","ContactFirst","ContactPos","ContactMail");
	for(i = 0; i < FieGen.length; ++i) {
		if (MyFor[FieGen[i]].value != '') {
			MyFor[FieGen[i]].value = MyFor[FieGen[i]].value.replace(/\n/g,' ');
			MyFor[FieGen[i]].value = MyFor[FieGen[i]].value.replace(/\r/g,' ');
			MyFor[FieGen[i]].value = MyFor[FieGen[i]].value.replace(/\t/g,' ');
			MyFor[FieGen[i]].value = MyFor[FieGen[i]].value.replace(/\s\s/g,' ');
			MyFor[FieGen[i]].value = MyFor[FieGen[i]].value.replace(/\s\s/g,' ');
		}
	}
	var FieUpc = new Array("CompanyNameShort","StockSym","PostCode");
	for(i = 0; i < FieUpc.length; ++i) {
		if (MyFor[FieUpc[i]].value != '') {
			MyFor[FieUpc[i]].value = MyFor[FieUpc[i]].value.toUpperCase();
		}
	}
	var FieLow = new Array("E-Mail","URL","ContactMail");
	for(i = 0; i < FieLow.length; ++i) {
		if (MyFor[FieLow[i]].value != '') {
			MyFor[FieLow[i]].value = MyFor[FieLow[i]].value.toLowerCase();
		}
	}
	var MyStr;
	var MyBuf;
	var FieMix = new Array("CompanyNameLong","Department","Building","Street","District","City","Country","Summary","ContactLast","ContactFirst","ContactPos");
	for(i = 0; i < FieMix.length; ++i) {
		if (MyFor[FieMix[i]].value != '') {
			MyFor[FieMix[i]].value = MyFor[FieMix[i]].value.toLowerCase();
			MyStr = MyFor[FieMix[i]].value;
			MyFir = MyStr.substring(0,1).toUpperCase();
			MyRes = MyStr.substring(1,MyStr.length);
			MyBuf = MyFir + MyRes;
			MySta = 0;
			var MySep = new Array(" ","\/","\-","\.","\(","\)","\;");
			for (var x = 0; x < MySep.length; x++ ) {
				MySta = 0;
				while(MyStr.indexOf(MySep[x],MySta) != -1) {
					MyPos = MyStr.indexOf(MySep[x],MySta);
					MyFir = MyBuf.substr((MyPos + 1),1).toUpperCase();
					MyRes = MyBuf.substr((MyPos + 2),MyBuf.length);
					MyBuf = MyBuf.substr(0,MyPos) + MySep[x] + MyFir + MyRes;
					MySta = MyPos + 1;
				}
			}
			MyFor[FieMix[i]].value = MyBuf;
		}
	}
	var MyCou = new Array("Usa|United States","U.S.A|United States","U.S|United States","U.K|United Kingdom","Uk|United Kingdom","England|United Kingdom","Scotland|United Kingdom","Northern Ireland|United Kingdom");
	for (var i = 0; i < MyCou.length; i++ ) {
		MyX = (MyCou[i].split('|')[0]);
		MyY = (MyCou[i].split('|')[1]);
		MyEx = new RegExp("\\b" + MyX + "\\b", "g");
		MyFor.Country.value = MyFor.Country.value.replace(MyEx,MyY);
	}
	if (MyFor.URL.value != '') {
		MyStr = MyFor.URL.value;
		if (MyStr.indexOf('http://') != -1) {
			MyFor.URL.value = MyStr.substr(7,MyStr.length);
			MyStr = MyFor.URL.value;
		}
		if (MyStr.indexOf('www.',0) == -1) {
			MyFor.URL.value = "www." + MyStr;
		}
	}
	if (MyFor.Summary.value != '') {
		var MyLow = new Array("A|a","All|all","Among|among","An|an","And|and","Are|are","Around|around","As|as","At|at","Based|based","Both|both","By|by","Etc|etc","For|for","From|from","In|in","Including|including","Incl|incl","Is|is","More|more","Most|most","Not|not","Of|of","On|on","Or|or","Other|other","Per|per","Than|than","That|that","The|the","This|this","Through|through","To|to","Use|use","Using|using","Which|which","While|while","With|with","Will|will");
		for (var i = 0; i < MyLow.length; i++ ) {
			MyX = (MyLow[i].split('|')[0]);
			MyY = (MyLow[i].split('|')[1]);
			MyEx = new RegExp("\\b" + MyX + "\\b", "g");
			MyFor.Summary.value = MyFor.Summary.value.replace(MyEx,MyY);
		}
		MyFir = MyFor.Summary.value.substring(0,1).toUpperCase();
		MyRes = MyFor.Summary.value.substring(1,MyFor.Summary.value.length);
		MyFor.Summary.value = MyFir + MyRes;
		var MyUpc = new Array("Apc|APC","Bod|BOD","Co2|CO2","Ehs|EHS","Eia|EIA","Ems|EMS","Epa|EPA","Epc|EPC","Esa|ESA","Ev|EV","Frp|FRP","Gis|GIS","Hvac|HVAC","Iso|ISO","Mf|MF","Mw|MW","Nf|NF","Ngo|NGO","Pem|PEM","Pet|PET","Plc|PLC","Pv|PV","Pvc|PVC","R&d|R&D","Ro|RO","R\.o|R\.O","Scada|SCADA","Sw|SW","Tv|TV","Uf|UF","Uv|UV","Voc|VOC","Wwt|WWT");
		for (var i = 0; i < MyUpc.length; i++ ) {
			MyX = (MyUpc[i].split('|')[0]);
			MyY = (MyUpc[i].split('|')[1]);
			MyEx = new RegExp("\\b" + MyX + "\\b", "g");
			MyFor.Summary.value = MyFor.Summary.value.replace(MyEx,MyY);
		}
	}
	var MyJob = new Array("C.E.O|CEO","Ceo|CEO","C.F.O|CFO","Cfo|CFO","C.O.O|COO","Coo|COO","G.M|General Manager","Gm|General Manager","It|IT","Md|Managing Director","M.D|Managing Director","Mgr|Manager","Of|of","Pr|PR","V.P|Vice President","Vp|Vice President");
	for (var i = 0; i < MyJob.length; i++ ) {
		MyX = (MyJob[i].split('|')[0]);
		MyY = (MyJob[i].split('|')[1]);
		MyEx = new RegExp("\\b" + MyX + "\\b", "g");
		MyFor.ContactPos.value = MyFor.ContactPos.value.replace(MyEx,MyY);
	}
}

function RevDat() {
	var MyRev;
	MyRef = "<h2>Registration Confirmation</h2>";
	MyRef += "<p class=\"lar\">Please review your input, and click appropriate button to complete the registration:</p>";
	MyRef += "<form><table>";
	if (MyFor.CompanyNameShort.value != '') {
		MyRef += "<tr><td class=\"adl\">Organisation</td><td><b>" + MyFor.CompanyNameLong.value + " (" + MyFor.CompanyNameShort.value + ")</b></td></tr>";
	}
	else {
		MyRef += "<tr><td class=\"adl\">Organisation</td><td><b>" + MyFor.CompanyNameLong.value + "</b></td></tr>";
	}
	var MyFie = new Array("Department","Building","Street","POBox","District","PostCode","City","Country","Telephone","Facsimile","Mobile","Messaging","Toll-Free","E-Mail","URL","Video","Network","Summary");
	for(i = 0; i < MyFie.length; ++i) {
		if (MyFor[MyFie[i]].value != '') {
			MyRef += "<tr><td class=\"adl\">" + MyFie[i] + "</td><td>" + MyFor[MyFie[i]].value + "</td></tr>";
		}
	}
	MyRef += "<tr><td colspan=\"2\"><hr /></td></tr>";
	MyRef += "<tr><td class=\"adl\">Contact</td><td>" + MyFor["Contact"].options[MyFor["Contact"].options.selectedIndex].text;
	if (MyFor.ContactFirst.value != '') {
		MyRef += " " + MyFor.ContactFirst.value;
	}
	MyRef += " " + MyFor.ContactLast.value + ", " + MyFor.ContactPos.value + " &rArr; <span class=\"gre\">" + MyFor.ContactMail.value + "</span></td></tr>";
	MyRef += "<tr><td colspan=\"2\">&nbsp;</td></tr>";
	MyRef += "<tr><td></td><td><input type=\"button\" value=\"Yes, all correct &rarr; Submit\" CLASS=\"but\" STYLE=\"width:272px\" onclick=\"MyFor.submit()\" /></td></tr>";
	MyRef += "<tr><td></td><td><input type=\"button\" value=\"No, I want to change &rarr; Edit\" CLASS=\"but\" STYLE=\"width:272px\" onclick=\"EdiDat()\"></td></tr>";
	MyRef += "</table></form>";
	document.getElementById("DatRev").innerHTML = MyRef;
	MyFor.SubMode.value = "Review";
	document.getElementById("DatInp").style.visibility = "hidden";
	document.getElementById("DatInp").style.display = "none";
	window.scrollTo(0,0);
	document.getElementById("DatRev").style.visibility = "visible";
	document.getElementById("DatRev").style.display = "inline";
}

function EdiDat() {
	document.getElementById("sub").innerHTML = "<input type=\"submit\" value=\"OK &rarr; Submit\" class=\"but\" style=\"width:120px\" />";
	MyFor.SubMode.value = "Edit";
	document.getElementById("DatRev").style.visibility = "hidden";
	document.getElementById("DatRev").style.display = "none";
	document.getElementById("DatInp").style.visibility = "visible";
	document.getElementById("DatInp").style.display = "inline";
	MyFor.CompanyNameLong.focus();
}

function SubReg() {
	if (document.getElementById) {
		MyFor = document.getElementById("reg");
		ValFor();
		if (DataValid) {
			AdjDat();
			RevDat();
		}
	}
	if ((navigator.appName == "Netscape") && (navigator.appVersion.substring(0,1) < 5)) {
		document.forms[0].submit();
	}
}

window.onload = LoaHla;

