

// ==========================================================================
//	UFO
// ==========================================================================


/*	Unobtrusive Flash Objects (UFO) v2.0 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	requiredAttrParams: ["movie", "width", "height", "majorversion", "build"],
	optionalAttrEmb: ["name", "swliveconnect", "align"],
	optionalAttrObj: ["id", "align"],
	optionalAttrParams: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess"],
	hsName: "visibility",
	hsShow: "visible",
	hsHide: "hidden",
	xiEnabled: false,
	xiMovie: "ufo.swf",
	xiWidth: "215",
	xiHeight: "138",
	
	create: function(FO, id) {
		if (!UFO.is_w3cdom) return;
		UFO.init(FO);
		UFO.createStyleRule("#" + id, UFO.hsName + ":" + UFO.hsHide + ";");
		var loadfn = function() {
			UFO.setElementStyleById(id, UFO.hsName, UFO.hsHide);
			if (UFO.hasRequiredAttrParams(FO)) {
				if (UFO.hasFlashVersion(FO.majorversion, FO.build)) {
					UFO.writeFlashObject(FO, id);
				}
				else if (UFO.xiEnabled && UFO.hasFlashVersion("6", "65")) {
					UFO.createModalDialog(FO);
				}
			}
			UFO.setElementStyleById(id, UFO.hsName, UFO.hsShow);
		};
		UFO.addLoadEvent(loadfn);
	},
	
	is_w3cdom: function() {
		return (document.getElementById && document.getElementsByTagName && (document.createElement || document.createElementNS));
	},

	init: function(FO) {
		var agt = navigator.userAgent.toLowerCase();
		var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
		UFO.is_iewin = (is_ie && (agt.indexOf("win") != -1));
		UFO.is_iemac = (is_ie && (agt.indexOf("mac") != -1));
		UFO.is_safari = (agt.indexOf("safari") != -1);
		UFO.is_XML = (typeof document.contentType != "undefined" && document.contentType.indexOf("xml") > -1);
		if (typeof FO.hideshow != "undefined" && FO.hideshow == "display") {
			UFO.hsName = "display";
			UFO.hsShow = "block";
			UFO.hsHide = "none";
		}
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			UFO.xiEnabled = true;
			if (typeof FO.ximovie != "undefined") UFO.xiMovie = FO.ximovie;
			if (typeof FO.xiwidth != "undefined") UFO.xiWidth = FO.xiwidth;
			if (typeof FO.xiheight != "undefined") UFO.xiHeight = FO.xiheight;
		}
	},

	createStyleRule: function(selector, declaration) {
		if (UFO.is_iemac) return; // bugs in IE/Mac
		var head = document.getElementsByTagName("head")[0]; 
		var style = UFO.createElement("style");
		if (!UFO.is_iewin) {
			var styleRule = document.createTextNode(selector + " {" + declaration + "}");
			style.appendChild(styleRule); // bugs in IE/Win
		}
		style.setAttribute("type", "text/css");
		style.setAttribute("media", "screen"); 
		head.appendChild(style);
		if (UFO.is_safari && UFO.is_XML) { head.innerHTML += ""; } // force Safari repaint for MIME type application/xhtml+xml
		if (UFO.is_iewin && document.styleSheets && document.styleSheets.length > 0) {
			var lastStyle = document.styleSheets[document.styleSheets.length - 1];
			if (typeof lastStyle.addRule == "object") {
				lastStyle.addRule(selector, declaration);
			}
		}
	},

	setElementStyleById: function(id, propName, propValue) {
		document.getElementById(id).style[propName] = propValue;
	},
	
	hasRequiredAttrParams: function(FO) {
		for (var i = 0; i < UFO.requiredAttrParams.length; i++) {
			if (typeof FO[UFO.requiredAttrParams[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(majorVersion, buildVersion) {
		var reqVersion = parseFloat(majorVersion + "." + buildVersion);
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			var desc = navigator.plugins["Shockwave Flash"].description;
			if (desc) {
				var versionStr = desc.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var major = parseInt(versionStr.replace(/^(.*)\..*$/, "$1"));
				var build = parseInt(versionStr.replace(/^.*r(.*)$/, "$1"));
				var flashVersion = parseFloat(major + "." + build);
			}
		}
		else if (window.ActiveXObject) {
			try {
				var flashObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				var desc = flashObj.GetVariable("$version");
				if (desc) {
					var versionArr = desc.replace(/^\S+\s+(.*)$/, "$1").split(",");
					var major = parseInt(versionArr[0]);
					var build = parseInt(versionArr[2]);
					var flashVersion = parseFloat(major + "." + build);
				}
			}
			catch(e) {}
		}
		if (typeof flashVersion != "undefined"){
			return (flashVersion >= reqVersion ? true : false); 
		}
		return false;
	},

	writeFlashObject: function(FO, id) {
		var el = document.getElementById(id);
		if (typeof el.innerHTML == "undefined") return;
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			try	{ // Gecko only supports innerHTML get and not set
				el.innerHTML = "ufo-test";
			}
			catch (e) {}
			if (el.innerHTML != "ufo-test") {
				while(el.hasChildNodes()) {
					el.removeChild(el.firstChild);
				}
				var embed = UFO.createElement("embed");
				embed.setAttribute("type", "application/x-shockwave-flash");
				embed.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer");
				embed.setAttribute("src", FO.movie);
				embed.setAttribute("width", FO.width);
				embed.setAttribute("height", FO.height);
				for (var i = 0; i < UFO.optionalAttrEmb.length; i++) {
					if (typeof FO[UFO.optionalAttrEmb[i]] != "undefined") {
						embed.setAttribute(UFO.optionalAttrEmb[i], FO[UFO.optionalAttrEmb[i]]);
					}
				}
				for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
					if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
						embed.setAttribute(UFO.optionalAttrParams[i], FO[UFO.optionalAttrParams[i]]);
					}
				}	
				el.appendChild(embed);
			}
			else {
				var embHTML = "";
				for (var i = 0; i < UFO.optionalAttrEmb.length; i++) {
					if (typeof FO[UFO.optionalAttrEmb[i]] != "undefined") {
						embHTML += ' ' + UFO.optionalAttrEmb[i] + '="' + FO[UFO.optionalAttrEmb[i]] + '"';
					}
				}
				for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
					if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
						embHTML += ' ' + UFO.optionalAttrParams[i] + '="' + FO[UFO.optionalAttrParams[i]] + '"';
					}
				}
				el.innerHTML = '<embed type="application/x-shockwave-flash" src="' + FO.movie + '" width="' + FO.width + '" height="' + FO.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + embHTML + '></embed>';
			}
		}
		else {
			var objAttrHTML = "";
			for (var i = 0; i < UFO.optionalAttrObj.length; i++) {
				if (typeof FO[UFO.optionalAttrObj[i]] != "undefined") {
					objAttrHTML += ' ' + UFO.optionalAttrObj[i] + '="' + FO[UFO.optionalAttrObj[i]] + '"';
				}
			}
			var objParamHTML = "";
			for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
				if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
					objParamHTML += '<param name="' + UFO.optionalAttrParams[i] + '" value="' + FO[UFO.optionalAttrParams[i]] + '" />';
				}
			}
			el.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + objAttrHTML + ' width="' + FO.width + '" height="' + FO.height + '" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + FO.majorversion + ',0,' + FO.build + ',0"><param name="movie" value="' + FO.movie + '" />' + objParamHTML + '</object>';
		}
	},

	createModalDialog: function(FO) {
		UFO.createStyleRule("body", "height:100%;");
		UFO.createStyleRule("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#333; filter:alpha(opacity:50); -khtml-opacity:0.5; -moz-opacity:0.5; opacity:0.5; text-align:center;");
		UFO.createStyleRule("#xi-mod", "margin:120px auto 0; width:" + UFO.xiWidth + "px; height:" + UFO.xiHeight + "px;");
		var body = document.getElementsByTagName("body")[0];
		var container = UFO.createElement("div");
		container.setAttribute("id", "xi-con");
		var dialog = UFO.createElement("div");
		dialog.setAttribute("id", "xi-mod");
		container.appendChild(dialog);
		body.appendChild(container);
		var MMredirectURL = window.location; // MM code
		document.title = document.title.slice(0, 47) + " - Flash Player Installation"; // MM code
		var MMdoctitle = document.title; // MM code
		if (UFO.is_iewin) {
			var xiFO = { movie:UFO.xiMovie, width:UFO.xiWidth, height:UFO.xiHeight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + MMredirectURL + "&MMplayerType=ActiveX&MMdoctitle" + MMdoctitle };
		}
		else {
			var xiFO = { movie:UFO.xiMovie, width:UFO.xiWidth, height:UFO.xiHeight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + MMredirectURL + "&MMplayerType=PlugIn&MMdoctitle" + MMdoctitle };
		}
		UFO.writeFlashObject(xiFO, "xi-mod");
	},

	expressInstallCallback: function() {
		var body = document.getElementsByTagName("body")[0];
		var dialog = document.getElementById("xi-con");
	    body.removeChild(dialog);
		UFO.createStyleRule("body", "height:auto;");
	},

	createElement: function(el) {
		return (typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	addLoadEvent: function(fn) {
		if (window.addEventListener) {
			window.addEventListener("load", fn, false);
		}
		else if (document.addEventListener) {
			document.addEventListener("load", fn, false);
		}
		else if (window.attachEvent) {
			window.attachEvent("onload", fn);
		}
		else if (typeof window.onload == "function") {
			var fnOld = window.onload;
			window.onload = function(){
				fnOld();
				fn();
			};
		}
		else {
			window.onload = fn;
		}
	}
};


// ==========================================================================
//	Popup Script
// ==========================================================================

var popupLinkConfig = new Array;

// popupLinkConfig["classname"] = new Array ( "targetname", "width=550,height=350,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");
popupLinkConfig["data"] = new Array ( "data", "width=650,height=400,resizable=no,scrollbars=yes");



// ==========================================================================
window.onload = initPage;  
// Note: Make sure that no other javscripts assign a fuction to window.onload
// There can be only one function tied to window.onload at a time.

function initPage() {
  initPopupLinks();
  // place here any other code you wish to run when the page loads.
}

function initPopupLinks()
{
  if (!document.getElementsByTagName) return true;
  var pageLinks = document.getElementsByTagName("a");
  for (var i = 0; i < pageLinks.length; i++) 
  {
    if (((pageLinks[i].className != null) && 
         (pageLinks[i].className != "")) ||
        ((pageLinks[i].parentNode.className != null) && 
         (pageLinks[i].parentNode.className != "")))
    {
      var linkClass = " " + pageLinks[i].className + " ";
      if ((linkClass == "  ") && (pageLinks[i].parentNode.className != ""))
      {
        linkClass = " " + pageLinks[i].parentNode.className + " ";
      }
      for (var theKey in popupLinkConfig) 
      {
        if (linkClass.indexOf(" " + theKey + " ") > -1)
        {
          if ((pageLinks[i].target == "") || (pageLinks[i].target == null))
          {
            pageLinks[i].target = (popupLinkConfig[theKey][0] != "") ? popupLinkConfig[theKey][0] : theKey;
          }
          pageLinks[i].settings = popupLinkConfig[theKey][1];
          pageLinks[i].onclick = popUp;
        }
      }
    }
  }
  return true;
}

function popUp()
{
  newWin = window.open(this.href, this.target, this.settings);
  newWin.focus();
  return false;
}


// ==========================================================================
//	App Form
// ==========================================================================

<!--
function writeJS(){
var str='';
str+='<form action="http:\/\/www.loantroducer.co.uk\/offer-success.php" method="post" name="loan_form" id="loan_form">';
str+='        <div id="form_box"><img src="..\/images\/loan_header.gif" alt="Quick loan application" width="252" height="61" \/><div id="home_form"><br \/>            <p style=" font-weight: bold; color:#FFFFFF;">Homeowners Only<br \/>';
str+='<span style="font:9px;">* Required Fields Indicated<\/span><br \/>';
str+='        <\/p>';
str+='            <p class="label"><span class="w">Are You A Homeowner? <\/span>';
str+='              <select name="homeowner" id="homeowner">';
str+='                <option value="Yes">Yes<\/option>';
str+='                <option value="No">No<\/option>';
str+='              <\/select>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* First Name :<\/span>';
str+='              <label>';
str+='              <input name="first_name" type="text" id="first_name" \/>';
str+='              <\/label>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Surname:<\/span>';
str+='              <input name="surname" type="text" id="surname" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">Partners Name:<\/span>';
str+='              <input name="partners_name" type="text" id="partners_name" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Loan Amount: <\/span>';
str+='              <input name="loan_amount" type="text" id="loan_amount" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Address: <\/span>';
str+='              <input name="address" type="text" id="address" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Address1: <\/span>';
str+='              <input name="address_1" type="text" id="address_1" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* City:<\/span>';
str+='              <input name="city" type="text" id="city" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">County: <\/span>';
str+='              <input name="county" type="text" id="county" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Postcode: <\/span>';
str+='              <input name="postcode" type="text" id="postcode" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Email: <\/span>';
str+='              <input name="email" type="text" id="email" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Telephone Number: <\/span>';
str+='              <input name="telephone" type="text" id="telephone" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Mobile Number: <\/span>';
str+='              <input name="mobile" type="text" id="mobile" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">Best Contact Time: <\/span>';
str+='              <select name="best_contact_time" id="best_contact_time">';
str+='              <option value="9am">9am<\/option>';
str+='              <option value="10am">10am<\/option>';
str+='              <option value="11am">11am<\/option>';
str+='              <option value="12pm">12m<\/option>';
str+='              <option value="1pm">1pm<\/option>';
str+='              <option value="2pm">2pm<\/option>';
str+='              <option value="3pm">3pm<\/option>';
str+='              <option value="4pm">4pm<\/option>';
str+='              <option value="5pm">5pm<\/option>';
str+='              <option value="6pm">6pm<\/option>';
str+='              <option value="7pm">7pm<\/option>';
str+='              <option value="8pm">8pm<\/option>';
str+='              <option value="9pm">9pm<\/option>';
str+='              <\/select>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">Purpose Of Loan: <\/span>';
str+='              <select name="loan_purpose" id="loan_purpose">';
str+='                <option value="Consolidation">Consolidation<\/option>';
str+='                <option value="Home Improvements">Home Improvements<\/option>';
str+='                <option value="Wedding">Wedding<\/option>';
str+='                <option value="Holiday">Holiday<\/option>';
str+='                <option value="School\/Uni Fees">School\/Uni Fees<\/option>';
str+='                <option value="Other">Other<\/option>';
str+='              <\/select>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">How Quick : <\/span>';
str+='              <select name="timescale" id="timescale">';
str+='                <option value="2 Weeks">2 Weeks<\/option>';
str+='                <option value="4 Weeks">4 Weeks<\/option>';
str+='                <option value="6 Weeks">6 Weeks<\/option>';
str+='                <option value="8 Weeks">8 Weeks<\/option>';
str+='              <\/select>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* House Value: <\/span>';
str+='              <input name="house_value" type="text" id="house_value" value="£00,000" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">* Mortgage Balance: <\/span>';
str+='              <input name="mortgage_balance" type="text" id="mortgage_balance" value="£00,000" \/>';
str+='            <\/p>';
str+='            <p class="label"><span class="w">Income Verification: <\/span>';
str+='              <select name="income_verification" id="income_verification">';
str+='                <option value="Payslips">Payslips<\/option>';
str+='                <option value="Accounts">Accounts<\/option>';
str+='                <option value="Self Certification">Self Certification<\/option>';
str+='              <\/select>';
str+='            <\/p>';
str+='            <br clear="all" \/>';
str+='            <img src="..\/images\/form_slice.jpg" alt="form_slice" \/><br \/>';
str+='            <p class="label_confirm">I\/We Confirm that i have read and<br \/>';
str+='              accept the Data Protection Statement.<br \/>';
str+='              <a style="color:#FFFFFF;" class="data" href="http:\/\/www.loantroducer.co.uk\/data-protection.php" rel="nofollow">Data Protection Statement<\/a><\/p>';
str+='            <input id="tick" type="checkbox" name="checkbox" value="checkbox" \/>';
str+='            <br clear="all" \/>';
str+='            <br \/>';
str+='            <input name="btnSubmit" type="image" onclick="MM_validateForm(\'first_name\',\'\',\'R\',\'surname\',\'\',\'R\',\'loan_amount\',\'\',\'R\',\'address\',\'\',\'R\',\'city\',\'\',\'R\',\'postcode\',\'\',\'R\',\'email\',\'\',\'NisEmail\',\'telephone\',\'\',\'RisNum\',\'mobile\',\'\',\'RisNum\',\'house_value\',\'\',\'R\',\'mortgage_balance\',\'\',\'R\'); return document.MM_returnValue" src="..\/images\/input_submit.jpg" alt="Submit" id="btnSubmit" \/>';
str+='            <br clear="all" \/>';
str+='            <img src="..\/images\/form_footer.gif" alt="UK Lenders" \/><img src="..\/images\/form_footer_loans.jpg" alt="Fast Loans" width="252" height="208" \/><\/div>';
str+='        <\/div>';
str+='      <\/form>';
document.write(str);
}
//-->


// ==========================================================================
//	DW Validation
// ==========================================================================

<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->