﻿function MM_preloadImages()  { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
	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); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
    
function popUp(URL, wid, hei, scroll, resize) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=" + scroll + ",location=0,statusbar=0,menubar=0,resizable=" + resize + ",width=" + wid + ",height=" + hei + "');");
}

function showHide(divID)
{
	var elem = document.getElementById(divID);
	// Display appropriate elements	
	if (elem.style.display == "block"){
		elem.style.display = "none"; // Collapse the item
	}
	else {
		elem.style.display = "block"; // Expand the item
	}
}

function showDiv(divID)
{ 
	var elem = document.getElementById(divID);
	elem.style.display = "block"; // Expand the item
}

function hideDiv(divID)
{
	var elem = document.getElementById(divID);
	elem.style.display = "none"; // Collapse the item
}

function showInfo(txt,divID)
{
var myDiv = document.getElementById(divID);
myDiv.innerHTML= txt;
myDiv.style.display = "block";
}

function hideInfo(divID)
{
var myDiv = document.getElementById(divID);
myDiv.innerHTML= '';
myDiv.style.display = "none";
}

function enableDisable(obj)
{
	if (obj.disabled == false) {
		obj.disabled = true;
	}
	else {
		obj.disabled = false;
	}
}

function checkUncheckAll(theElement)
{
    var theForm = theElement.form, z = 0;
	for(z=0; z<theForm.length;z++){
		if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
			theForm[z].checked = theElement.checked;
		}
	}
}

function confirmLogout(){
    if (lang==1){
    return confirm('Are you sure you want to logout?');
    }
    else
    {
     return confirm('Are you sure you want to logout?');
    }
}

function confirmDelete(){
    if (lang==1){
    return confirm('Are you sure you want to delete this item?');
    }
    else
    {
    return confirm('Are you sure you want to delete this item?');
    }
}

function confirmBackgroundFinalize(lang){
    if (lang==1){
    return confirm('La saisie définitive des renseignements généraux verrouillera toutes les données saisies pour vérification. Vous pourrez ajouter de nouveaux éléments, mais ne pourrez modifier ni supprimer ceux que vous avez déjà saisis. Êtes-vous sûr de votre choix?');
    }
    else
    {
    return confirm('Finalizing your background information will lock all entered data for review. You will be able to add new items but not edit or delete those you have already entered. Are you sure?');
    }
}

function confirmAssessmentFinalize(lang){
    if (lang==1){
    return confirm('Finalizing this assessment will lock all entered data for review. You will be unable to change your answers after this point. Are you sure?');
    }
    else
    {
    return confirm('Finalizing this assessment will lock all entered data for review. You will be unable to change your answers after this point. Are you sure?');
    }
}



function disableDblSubmit(ID){
    var btn = document.getElementById(ID);
    btn.style.display = "none";
}

function checkboxListSample(sender, args)
{
     var theForm = document.forms[0];
     var b = false;
     for(i=0; i<theForm.elements.length; i++){
         if(theForm.elements[i].type == "checkbox"){
             if (theForm.elements[i].name.indexOf('ckList14001') != -1 ){ //<--- change the name to the ck list so we can find all child controls --good work Andy!
                if (theForm.elements[i].checked){                
                    b=true;
                }
             }
          }
     }
     args.IsValid = b;
}

function ifOtherTextBoxSample(sender, args)
{

     var dd = document.getElementById('ctl00_ContentPlaceHolder1_ddContact_Relation'); //drodown ID 
     var txt = document.getElementById('ctl00_ContentPlaceHolder1_txtContact_RelationOther');//TextBox ID
     var ddText = dd[dd.selectedIndex].text.toUpperCase();
          if (ddText.indexOf('OTHER') != -1  || ddText.indexOf('AUTRE') != -1 ) {
            if (txt.value.lenght > 0){
                args.IsValid = true;
                return;
            }
            else
            {
                args.IsValid = false;
            }  
        }   
}
             
// GENERAL DATE VALIDATION
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	
	strYr=strYear
	
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date")
		return false
	}
	
    return true
}


function getElementLeft(Elem) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	xPos = elem.offsetLeft;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		xPos += tempEl.offsetLeft;
  		tempEl = tempEl.offsetParent;
	}
	return xPos;
}

function getElementTop(Elem) {
	if(document.getElementById) {	
		var elem = document.getElementById(Elem);
	} else if (document.all) {
		var elem = document.all[Elem];
	}
	
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
	}
	return yPos;
}


function showTip(pElemid,content) {
    if(document.getElementById) {	
	    var elem = document.getElementById('pnlInfoDisplay');
	    var pElem = document.getElementById(pElemid);
    } else if (document.all) {
	    var elem = document.all['pnlInfoDisplay'];
	    var pElem = document.all[pElemid];
    }
    
    var eTop = getElementTop(pElemid) + 10;
    var eLeft = getElementLeft(pElemid) + 115;

    elem.style.display = "block";
    elem.style.background = "#fff";
    elem.style.color = "#000";
    elem.innerHTML = content;
    elem.style.top = eTop.toString() + "px";
    elem.style.left = eLeft.toString() + "px";
}

function hideTip() {
    if(document.getElementById) {	
	    var elem = document.getElementById('pnlInfoDisplay');
    } else if (document.all) {
	    var elem = document.all['pnlInfoDisplay'];
    }
	
    elem.style.display = "none";
}

//following is related to certifications on Background page 

function valDateCert(sender, args) {
   // var dt = document.getElementById('ctl00_ContentPlaceHolder1_education1_dpDateObtained_txtDate');
 var dt = document.getElementById('ctl00_ContentPlaceHolder1_certificate1_txtTagDateObtained');

	if (isDate(dt.value)==false){
		args.IsValid = false;
		return;
	}
	
    args.IsValid = true;
    return;
}

function valOtherCert(sender, args) {
     var dd = document.getElementById('ctl00_ContentPlaceHolder1_certificate1_ddDesignation');
     var txt = document.getElementById('ctl00_ContentPlaceHolder1_certificate1_txtOther');
     
     var str = dd.options[dd.selectedIndex].text;
     str = str.toLowerCase();

     if (str == 'other' || str == 'autre'){
        if (txt.value.length > 0) {
                
                args.IsValid = true;
                return;
            }
            else
            {
                args.IsValid = false;
            }    
      }
  }
