function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return '';
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; }
}

function queryString(key){
var page = new PageQuery(window.location.search);
return unescape(page.getValue(key));
}

function fetchQuerystring(){
	var txt = document.getElementById('child_name');
	var sname = queryString('sname');
	var stuid = queryString('stuid');
	if((sname.length == 0)||(stuid.length == 0))
	{
		txt.value='';
		document.getElementById('QSpresent').style.visibility='hidden';
		document.getElementById('whenNoQS').style.visibility='visible';
	}
	else
	{
		txt.value=sname + ' (' + stuid + ')';
		document.getElementById('QSpresent').style.visibility='visible';
		document.getElementById('whenNoQS').style.visibility='hidden';
	}
}

function calcTot(x){
	var tChild = document.getElementById('selChild');
	var sDur = document.getElementById('radDuration');
	var gTot = document.getElementById('txtFinal');
	var jump = document.getElementById('jumpduration');
	var recur = document.getElementById('recurrevery');
	var user_input;
	var i;
	
	for (i=0;i<document.forms['frmCalc'].radDuration.length;i++) {
		if (document.forms['frmCalc'].radDuration[i].checked) {
			user_input = document.forms['frmCalc'].radDuration[i].value;
			switch(i){
			case 0:
				jump.value=1;
				recur.value=3;
				break;
			case 1:
				jump.value=3;
				recur.value=3;
				break;
			case 2:
				jump.value=1;
				recur.value=4;
				break;
			case 3:
				jump.value=3;
				recur.value=4;
				break;
			}
		}
	}	
	gTot.value = eval(tChild.value) * eval(user_input);
}

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 YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

function justPostSpons()
{
 	YY_checkform('frmCalc','txtFinal','#1_100000','1','Please enter an amount!','user_name_1','#q','0','Please give your first name','user_name_2','#q','0','Please give your last name','user_address_1','#q','0','Provide a valid address','user_telephone','#q','0','One telephone contact number is required','user_email','S','2','Please give a valid email','user_title','#q','1','Select a Title','user_country','#q','1','Field \'user_country\' is not valid.');
	return document.MM_returnValue;
}

function gTotal(){
	var gTot = document.getElementById('txtTotal');
	var fTot = document.getElementById('txtFinal');
	var oneT = document.getElementById('txtOneOff');
	var thisVar;
	gTot.value = 0;
	for(var i=1;i<=5;i++){
		thisVar = document.getElementById('SubTotal'+i);
		gTot.value = eval(gTot.value) + eval(thisVar.value);
	}
	fTot.value = 0;
	fTot.value = eval(oneT.value) + eval(gTot.value);
}


function addTotal(sUnit, sRate, sTotal){
	var un = document.getElementById(sUnit);
	var tot = document.getElementById(sTotal);
	tot.value = 0 + (eval(un.value) * eval(sRate));
	tot.value = Math.round(tot.value*100)/100;
	gTotal();
}


function justPostDon()
{
 	YY_checkform('frmCalc','txtOneOff','#0_10000','1','One off payment is required','txtFinal','#1_100000','1','Please donate an amount!','user_name_1','#q','0','First Name is required','user_name_2','#q','0','Last Name is required','user_address_1','#q','0','Valid address is required','user_telephone','#q','0','Telephone number is required','user_email','S','2','Please provide a valid email','user_title','#q','1','Provide a Title','user_country','#q','1','Select a country');
	return document.MM_returnValue;
}