//BBL Web Services Utility Client Side JavaScript

////////////////////////////////////
// MM Popup Window Function
//called e-banking What's New when launching Help Files
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

////////////////////////////////////
//MM URL Redirect Function
//called in Share Trading disclaimer pop up window to redirect to E*TRADE
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

////////////////////////////////////
// MM Jump Menu Functions
//called from Utility Server JavaScript

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  var value = (String(selObj.options[selObj.selectedIndex].value).length == 0)?"#":selObj.options[selObj.selectedIndex].value;
  eval(targ+".location='"+value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

////////////////////////////////////
// Popup Window from Dropdown Function - Used to launch CGU Quotes
////////////////////////////////////
// now with all optional poptypes in popUp()
var popUpWinD=0;
function popUpDropdown(selName, restore, poptype, popName)
{
	
var selObj = MM_findObj(selName);
var value = selObj.options[selObj.selectedIndex].value;
if (String(value).length != 0 && value!="#"){
  popUp(eval("'"+value+"'"),  poptype, popName);
  if (restore) selObj.selectedIndex=0;
}
}

////////////////////////////////////
// Popup Window from Dropdown Function - Mixture of internal and external Windows
////////////////////////////////////

function popUpWindowMix(selName,poptype)
{
var pattern = /http/i;
var selObj = MM_findObj(selName)
if (pattern.test(selObj.options[selObj.selectedIndex].value)){
	popUpDropdown(selName,0,poptype);
	}else{MM_jumpMenuGo(selName,'parent',0)}
}

////////////////////////////////////
// Form Validation - branch locator
////////////////////////////////////
function validateform() {
    var failed = false;
	var errmsg = "";
	var Chars = "0123456789";
	if (document.forms['frm'].feature.value == '-') {
				errmsg = errmsg + "- Please select your facility to find\n"
				failed = true
			}
	
	if (document.frm.postcode.value == '') {
		errmsg = errmsg + "- Please enter the postocde of your present location as four numbers\n"
		failed = true
	} else {
		for (var i = 0; i < document.frm.postcode.value.length; i++) {
			if (!failed) {
				if (Chars.indexOf(document.frm.postcode.value.charAt(i)) == -1) {
					errmsg = errmsg + "- Please enter the postocde of your present location as four numbers\n"
					failed = true
				}
			}
		}
		if (!failed) {
			if (i < 4) {
				errmsg = errmsg + "- Please enter the postocde of your present location as four numbers\n"
				failed = true
			}
		}
	}		
    if (failed) {
		alert(errmsg)			
        return false
    } else { 
        return true
	}
}

// Macromedia Script
function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(args[i+2]==3)){ // date
        myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==4)){ // time
        myMa=args[i+1].split("#"); myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&args[i+2]==5){ // check this 2
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&args[i+2]==6){ // the same
            myObj1 = MM_findObj(args[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert(myErr)}
  document.MM_returnValue = (myErr=='');
}