// JScript source code
// ------- Global Variables ----------------
var InvDIDmsg = 'Dog ID not found in the database';
var InvPIDmsg = 'People ID not found in the database';
var Privacymsg = 'Not all fields populated due to this person\'s display option setting';
// -----------------------------------------

function LookupPeopleID(ctrl) {
	window.open("People_Lookup.aspx?Ctrl=" + ctrl, "_blank", "status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=450,width=550,top=20,left=20,scrollbars=yes");
}

function PIDputval(val, ctrl) {
	//  Sends the People_ID selected in the Lookup program to the appropriate form element in the calling page
	var myTB = '';
	switch (ctrl) {
		case '1':
			myTB = window.opener.document.getElementById('ctl00_myCPH_tb_PeopleID');
			break;
		case '2':
			myTB = window.opener.document.getElementById('ctl00_myCPH_tb_PeopleID2');
			break;
		case 'p1':
		case 'p2':
		case 'p3':
		case 'p4':
		case 'p5':
		case 'p6':
		case 'p7':
		case 'p8':
			var myctrl = 'ctl00_myCPH_tb_PeopleID' + ctrl
			myTB = window.opener.document.getElementById(myctrl);
			break;
	}
	myTB.value = val;
	myTB.focus();
	window.close();
}

function PIDputvalN(val, pname) {
	//  Sends the People_ID selected in the Lookup program to the appropriate form element in the calling page
	//	plus updates the people name on the form. Only works for tb_PeopleID and spn_name.
	var myTB = '';
	myTB = window.opener.document.getElementById('ctl00_myCPH_tb_PeopleID');
	myTB.value = val;
	window.opener.document.getElementById('ctl00_myCPH_spn_name').innerHTML = '(' + pname + ')';
	myTB.focus();
	window.close();
}	
			
	function LookupDogID(ctrl) { 
		window.open("Dog_Lookup.aspx?Mode="+ctrl,"_blank","status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=450,width=600,top=20,left=20,scrollbars=yes");
	}	
						
	function DogIDputvalue(did,dn,ctrl){
	//  Sends the Dog_ID selected to the appropriate form element in the calling page
		if (ctrl == "D") {
		  window.opener.document.forms[0].ctl00$myCPH$tb_DamID.value = did;
		  window.opener.document.forms[0].ctl00$myCPH$tb_DamName.value = dn;
		  window.opener.document.forms[0].elements["ctl00$myCPH$tb_DamName"].focus();
			}
		if (ctrl == "S") {
		  window.opener.document.forms[0].ctl00$myCPH$tb_SireID.value = did;
		  window.opener.document.forms[0].ctl00$myCPH$tb_SireName.value = dn;
		  window.opener.document.forms[0].elements["ctl00$myCPH$tb_SireName"].focus();
			}
		if (ctrl == "A") {
		  window.opener.document.forms[0].ctl00$myCPH$tb_SireID.value = did;
		  window.opener.document.forms[0].ctl00$myCPH$tb_SireName.value = dn;
		  window.opener.document.forms[0].elements["ctl00$myCPH$tb_SireName"].focus();
			}
		window.close();
	}
	
	function LookupLitterID(ref) { 
		window.open("Litter_Lookup.aspx?Ref="+ref,"_blank","status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=550,width=850,top=20,left=20,scrollbars=yes");
	}
	
	function LitIDputval(val){
		//  Sends the Litter_ID selected to the tb_LitterID form element in the calling page
		window.opener.document.forms[0].tb_LitterID.value = val;
		window.close();
	}

// -------------------------------------------------------------------	
// AJAX JavaScript functions for populating People lookup's
// -------------------------------------------------------------------	

 // This function calls the Web Service method for Submitter (submission forms).  
  function GetPeopleRecSub()  {
		PID = document.getElementById('tb_PeopleID').value
		if (isNaN(PID)) {
			document.getElementById('Sub_PIDmessage').innerHTML = 'People ID must be numeric';
			document.getElementById('Sub_PIDmessage').className = 'msgRed';
			return;
		}
		document.getElementById('Sub_PIDmessage').innerHTML = '';
		WDDBsvc.DBservices.GetPeopleRec(PID,OnReturnSub);
  }
  // This is the callback function that processes the Web Service return value.
  function OnReturnSub(pr) {
		document.getElementById('tb_SubFirstName').value = pr.FirstName;
		document.getElementById('tb_SubMidInit').value = pr.MidInit;
		document.getElementById('tb_SubLastName').value = pr.LastName;
		document.getElementById('tb_SubAddress').value = pr.Address;
		document.getElementById('tb_SubCity').value = pr.City;	
		document.getElementById('tb_SubPostalCode').value = pr.Zip;	
		document.getElementById('tb_SubPhone').value = pr.Phone;	
		document.getElementById('tb_SubEmail').value = pr.Email;
		document.getElementById('Sub_State').value = pr.StProv;		
		document.getElementById('Sub_Country').value = pr.Country;
		for(i=0;i<document.getElementById('ddlSubCTRY').length;i++) {
			if(document.getElementById('ddlSubCTRY').options[i].value == pr.Country) {
				document.getElementById('ddlSubCTRY').selectedIndex=i;	
			}
		}
		document.getElementById('lbl_ReqSubStProv').innerHTML = ""
		for(i=0;i<document.getElementById('ddlSubStProv').length;i++) {
			if(document.getElementById('ddlSubStProv').options[i].value == pr.StProv) {
				document.getElementById('ddlSubStProv').selectedIndex=i;
			}
		}
		if (pr.PeopleID == "") {	
			document.getElementById('Sub_PIDmessage').innerHTML = InvPIDmsg;
			document.getElementById('Sub_PIDmessage').className = 'msgRed';
			document.getElementById('tb_PeopleID').focus();	
			}
		else {
			document.getElementById('tb_PeopleID').value = pr.PeopleID
			}
		if (pr.Privacy != '') {	
			document.getElementById('Sub_PIDmessage').innerHTML = Privacymsg;
			document.getElementById('Sub_PIDmessage').className = 'msgBlue';	
		}
  }

 // This function calls the Web Service method for Breeder (submission forms).  
  function GetPeopleRecBr()  {
		PID = document.getElementById('tb_PeopleID2').value
		if (isNaN(PID)) {
			document.getElementById('Br_PIDmessage').innerHTML = 'People ID must be numeric';
			document.getElementById('Br_PIDmessage').className = 'msgRed';
			return;
		}		
		document.getElementById('Br_PIDmessage').innerHTML = '';
		WDDBsvc.DBservices.GetPeopleRec(PID,OnReturnBr);
  }
  // This is the callback function that processes the Web Service return value.
  function OnReturnBr(pr) {
		document.getElementById('tb_BrFirstName').value = pr.FirstName;
		document.getElementById('tb_BrMidInit').value = pr.MidInit;
		document.getElementById('tb_BrLastName').value = pr.LastName;
		document.getElementById('tb_BrAddress').value = pr.Address;
		document.getElementById('tb_BrCity').value = pr.City;	
		document.getElementById('tb_BrPostalCode').value = pr.Zip;	
		document.getElementById('tb_BrPhone').value = pr.Phone;	
		document.getElementById('tb_BrEmail').value = pr.Email;
		document.getElementById('tb_BrKennelName').value = pr.Kennel;
		document.getElementById('Br_State').value = pr.StProv;		
		document.getElementById('Br_Country').value = pr.Country;
		for(i=0;i<document.getElementById('ddlBrCTRY').length;i++) {
			if(document.getElementById('ddlBrCTRY').options[i].value== pr.Country) {
				document.getElementById('ddlBrCTRY').selectedIndex=i;
			}
		}
		for(i=0;i<document.getElementById('ddlBrStProv').length;i++) {
			if(document.getElementById('ddlBrStProv').options[i].value== pr.StProv) {
				document.getElementById('ddlBrStProv').selectedIndex=i;
			}
		}
		if (pr.PeopleID == "") {	
			document.getElementById('Br_PIDmessage').innerHTML = InvPIDmsg;
			document.getElementById('Br_PIDmessage').className = 'msgRed';
			document.getElementById('tb_PeopleID2').focus();	
			}
		else {
			document.getElementById('tb_PeopleID2').value = pr.PeopleID
			}
		if (pr.Privacy != '') {	
			document.getElementById('Br_PIDmessage').innerHTML = Privacymsg;
			document.getElementById('Br_PIDmessage').className = 'msgBlue';	
		}
  }
    
      
// -------------------------------------------------------------------	
// AJAX JavaScript functions for populating a Litter lookup
// -------------------------------------------------------------------	

 // This function calls the Web Service method for Submitter (submission forms).  
  function GetLitterRec()  {
		LID = document.getElementById('tb_LitterID').value
		document.getElementById('txtInvalidLID').innerHTML = '';
		WDDBsvc.DBservices.GetLitterRec(LID,OnReturnLitter);
  }
  // This is the callback function that processes the Web Service return value.
  function OnReturnLitter(lr) {
		document.getElementById('tb_WhelpDate').value = lr.WhelpDate;
		document.getElementById('tb_LitterRegNo').value = lr.LitterReg;
		document.getElementById('Lit_Country').value = lr.Origin;		
		document.getElementById('tb_SireID').value = lr.SireID;
		document.getElementById('tb_SireName').value = lr.SRName;
		document.getElementById('tb_SireCallName').value = lr.SCName;	
		document.getElementById('tb_SireRegNo').value = lr.SRegNo;	
		document.getElementById('tb_DamID').value = lr.DamID;
		document.getElementById('tb_DamName').value = lr.DRName;
		document.getElementById('tb_DamCallName').value = lr.DCName;	
		document.getElementById('tb_DamRegNo').value = lr.DRegNo;	
		document.getElementById('tb_TotalMales').value = lr.TSMales;	
		document.getElementById('tb_StillbornMales').value = lr.SBMales;
		document.getElementById('tb_NeonateMales').value = lr.NDMales;
		document.getElementById('tb_TotalFemales').value = lr.TSFemales;	
		document.getElementById('tb_StillbornFemales').value = lr.SBFemales;
		document.getElementById('tb_NeonateFemales').value = lr.NDFemales;
		for(i=0;i<document.getElementById('ddlLitCTRY').length;i++) {
			if(document.getElementById('ddlLitCTRY').options[i].value== lr.Origin) {
				document.getElementById('ddlLitCTRY').selectedIndex=i;
			}
		}
		for(i=0;i<document.getElementById('ddlSireKC').length;i++) {
			if(document.getElementById('ddlSireKC').options[i].value== lr.SKC) {
				document.getElementById('ddlSireKC').selectedIndex=i;
			}
		}
		for(i=0;i<document.getElementById('ddlDamKC').length;i++) {
			if(document.getElementById('ddlDamKC').options[i].value== lr.DKC) {
				document.getElementById('ddlDamKC').selectedIndex=i;
			}
		}
		for(i=0;i<document.getElementById('ddl_Insemination').length;i++) {
			if(document.getElementById('ddl_Insemination').options[i].value== lr.Insem) {
				document.getElementById('ddl_Insemination').selectedIndex=i;
			}
		}
		for(i=0;i<document.getElementById('ddl_BirthMethod').length;i++) {
			if(document.getElementById('ddl_BirthMethod').options[i].value== lr.Birth) {
				document.getElementById('ddl_BirthMethod').selectedIndex=i;
			}
		}
		if (lr.LitterID == "") {	
			document.getElementById('txtInvalidLID').innerHTML = 'Litter ID not found in the database';
			document.getElementById('txtInvalidLID').className = 'msgRed';
			document.getElementById('tb_LitterID').focus();	
			}
		else {
			document.getElementById('tb_LitterID').value = lr.LitterID
			}
		document.getElementById('btn_LDHelper').style.visibility = "visible";	
  }  
  
// -------------------------------------------------------------------	
// AJAX JavaScript functions for populating Dog lookups
// -------------------------------------------------------------------	

 // This function calls the Web Service method for getting the Sire (submission forms).  
  function GetDogRecSire()  {
		DID = document.getElementById('tb_SireID').value
		document.getElementById('txtInvalidSID').innerHTML = '';
		WDDBsvc.DBservices.GetDogRec(DID,OnReturnDogS);
  }
  // This is the callback function that processes the Web Service return value.
  function OnReturnDogS(dr) {
		document.getElementById('tb_SireName').value = dr.RegName;
		document.getElementById('tb_SireCallName').value = dr.CallName;
		document.getElementById('tb_SireRegNo').value = dr.RegNo;
		for(i=0;i<document.getElementById('ddlSireKC').length;i++) {
			if(document.getElementById('ddlSireKC').options[i].value== dr.KClub) {
				document.getElementById('ddlSireKC').selectedIndex=i;
			}
		}
		if (dr.DogID == "") {	
			document.getElementById('txtInvalidSID').innerHTML = InvDIDmsg;
			document.getElementById('txtInvalidSID').className = 'msgRed';
			document.getElementById('tb_SireID').focus();	
			}
		else {
			document.getElementById('tb_SireID').value = dr.DogID
			}
  }
    
 // This function calls the Web Service method for getting the Dam (submission forms).  
  function GetDogRecDam()  {
		DID = document.getElementById('tb_DamID').value
		document.getElementById('txtInvalidDID').innerHTML = '';
		WDDBsvc.DBservices.GetDogRec(DID,OnReturnDogD);
  }
  // This is the callback function that processes the Web Service return value.
  function OnReturnDogD(dr) {
		document.getElementById('tb_DamName').value = dr.RegName;
		document.getElementById('tb_DamCallName').value = dr.CallName;
		document.getElementById('tb_DamRegNo').value = dr.RegNo;
		for(i=0;i<document.getElementById('ddlDamKC').length;i++) {
			if(document.getElementById('ddlDamKC').options[i].value== dr.KClub) {
				document.getElementById('ddlDamKC').selectedIndex=i;
			}
		}
		if (dr.DogID == "") {	
			document.getElementById('txtInvalidDID').innerHTML = InvDIDmsg;
			document.getElementById('txtInvalidDID').className = 'msgRed';
			document.getElementById('tb_DamID').focus();	
			}
		else {
			document.getElementById('tb_DamID').value = dr.DogID
			}
  }
  //********************************************************************
  //  The following functions are for User Validation of Dog information 
  //********************************************************************
  // This function calls the Web Service method to update the Dog record and return a formatted date.
  function ValidateDogInfo(did) {
  	WDDBsvc.DBservices.ValidateDog(did, ValidateDogReturn);
  }
  // This is the callback function that processes the Web Service return value.
  function ValidateDogReturn(formdate) {
  	var valdate = 'ctl00_myCPH_lbl_Validate'
  		document.getElementById(valdate).innerHTML = formdate;
  }
  
  //********************************************************************
  //  Miscellaneous useful functions 
  //********************************************************************
  
  function closeWindow() {
    window.close();
  }

  function js_GoTo(newurl) {
    window.location.href = newurl;
  }
  
  function js_GoDog(DogID) {
    window.location.href = 'Dog_Detail.aspx?DID=' + DogID;
  }
  
  function js_GoDogHealth(HKey) {
    window.location.href = 'Dog_HealthDetail.aspx?HKey=' + HKey;
  }	 
  
	// This function opens the helper window with dogs/owners in the litter  
	function js_OpenHelperWindow() {
		LID = document.getElementById('tb_LitterID').value  
		window.open("BG_LitterSubDogsHelper.aspx?LID="+LID,"_blank","status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=420,width=320,top=20,left=600,scrollbars=yes");
      }
    // This function opens an Instruction window  
    function js_LinkUserHelp() {
        window.open("Instructions_LinkUserToPeople.htm","_blank", "status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=500,width=650,top=50,left=150,scrollbars=yes");
    }
    
    // This function opens an "Instruction" window
    function js_Instructions(InstrURL) {
        window.open(InstrURL, "_blank", "status=no,toolbar=no,address=no,menubar=no,resizable=yes,height=500,width=650,top=50,left=150,scrollbars=yes");
    }
    
    // Popup helper messages
      function js_popmsg_DispOpt() {
          alert("Display Option controls the display of your personal information to standard users of the database. Administrators, researchers, and yourself are still able to view your information and contact you if necessary.");
      }
    // Open a window with a dog photo
      function js_openPhoto(fn) {
      	//  Opens a browser window to display a photo
      	varURL = 'ImageFiles/DogPhotos/' + fn;
      	window.open(varURL, "_blank", "status=yes,toolbar=no,address=no,menubar=yes,resizable=yes,height=525,width=720,top=7,left=7,scrollbars=yes");
      }		  