// JavaScript Document


/*-----------------------------------------------------------------------------------------*/
/*-----------------Functions related to tooltip Display, onmouseover of a link-------Starts*/
/*-----------------------------------------------------------------------------------------*/

// Copyright 2006,2007 Bontrager Connection, LLC
// http://bontragerconnection.com/ and http://willmaster.com/
// Version: July 28, 2007

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
	}
	
var cX = 0; var cY = 0; var rX = 0; var rY = 0;

function UpdateCursorPosition(e)
{ 
    cX = e.pageX; cY = e.pageY;
}

function UpdateCursorPositionDocAll(e)
{ 
    cX = event.clientX; cY = event.clientY;
}

if(document.all) 
{ 
    document.onmousemove = UpdateCursorPositionDocAll; 
}
else 
{ 
    document.onmousemove = UpdateCursorPosition; 
}

function toggleLayer(whichLayer) {
    var elem, vis;
    if (document.getElementById) // this is the way the standards work
        elem = document.getElementById(whichLayer);
    else if (document.all) // this is the way old msie versions work
        elem = document.all[whichLayer];
    else if (document.layers) // this is the way nn4 works
        elem = document.layers[whichLayer];
    vis = elem.style;
    // if the style.display value is blank we try to figure it out here
    if (vis.display == '' && elem.offsetWidth != undefined && elem.offsetHeight != undefined)
        vis.display = (elem.offsetWidth != 0 && elem.offsetHeight != 0) ? 'block' : 'none';
    vis.display = (vis.display == '' || vis.display == 'block') ? 'none' : 'block';
}

function AssignPosition(d) 
{
    if(self.pageYOffset) 
    {
        rX = self.pageXOffset;
        rY = self.pageYOffset;
    }
    else if(document.documentElement && document.documentElement.scrollTop) 
    {
        rX = document.documentElement.scrollLeft;
        rY = document.documentElement.scrollTop;
    }
    else if(document.body) 
    {
        rX = document.body.scrollLeft;
        rY = document.body.scrollTop;
    }
    if(document.all) 
    {
        cX += rX;
        cY += rY;
    }
    
    d.style.left = (cX+10) + "px";
    d.style.top = (cY+10) + "px";
}

function HideContent(d) 
{
    if(d.length < 1) { return; }
    document.getElementById(d).style.display = "none";
}

function ShowContent(d) 
{
    if(d.length < 1) 
    { 
        return; 
    }
    var dd = document.getElementById(d);
    AssignPosition(dd);
    dd.style.display = "block";
}

function ReverseContentDisplay(d) 
{
    if(d.length < 1) 
    { 
        return; 
    }
    var dd = document.getElementById(d);
    AssignPosition(dd);
    if(dd.style.display == "none") 
    { 
        dd.style.display = "block"; 
    }
    else 
    { 
        dd.style.display = "none"; 
    }
}
/*-----------------------------------------------------------------------------------------*/
/*-----------------Functions related to tooltip Display, onmouseover of a link---------Ends*/
/*-----------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Toggle button------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/
/*Toggle a DivID block(visible) or none(hidden)*/
function toggleDiv(divid)
{
   var dv = document.getElementById(divid);

   if (dv != null)
   {
      dv.style.display = (dv.style.display == 'none' ? 'block':'none');
   }
   return true;
}
function toggleSelection(obj,objSelect)
{
        var val = document.getElementById(obj);
        var ctr=0;
        var totalctr=0;
        var col = val.getElementsByTagName("*");
        if ( col != null ) 
	    {
		    for (var i = 0; i < col.length; i++ ) 
			{
			    if (col.item(i).tagName == "INPUT") 
			    {
				    col.item(i).checked = !	(col.item(i).checked)
    		        if(col.item(i).checked==true)
			        {
	    	            ctr=ctr+1;
				    }	
				    totalctr=totalctr+1;		   
	            }
		    }
		    if(ctr==totalctr)
		    {
		        document.getElementById(objSelect).checked=true;
		    }
		    else
		    {
		        document.getElementById(objSelect).checked=false;
		    }
	    }
    return false;
}
function selectDeselectAllFields(obj1,obj2)
{
    var val = document.getElementById(obj1);
    var flag=document.getElementById(obj2).checked;
        var ctr = 0;
        var col = val.getElementsByTagName("*");
        if ( col != null ) 
	    {
		    for (var i = 0; i < col.length; i++ ) 
			{
			    if (col.item(i).tagName == "INPUT") 
			    {
				    col.item(i).checked = flag			   
	            }
		    }
		    
	    }
    return false;
}
/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Toggle button--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Email Validation------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Email Validation--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Date Validation------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/
function getDaysDifference(strDateStart,strDateEnd)
{
    //alert(new Date().getTime());
    return (((new Date(strDateEnd).getTime()-new Date(strDateStart).getTime()))/(1000*60*60*24))
}
function LZ(n) 
{
    return (n > 9 ? n : '0' + n);
}
function getShortDate(d)
{
    if(d!=null)
    {
        //var d = new Date();
        return (LZ(d.getMonth() + 1) + '/' +  LZ(d.getDate()) + '/' +d.getFullYear());
    }
    else
        return null;
}
function addDays(myDate,days)
{
	var myDate=new Date(myDate); 
	myDate.setDate(myDate.getDate()+days) 
	return getShortDate(myDate);
}
function addDaysNormal(myDate,days)
{
	var myDate=new Date(myDate); 
	myDate.setDate(myDate.getDate()+days) 
	return myDate;
}
function checkValidDOB(sender,args)
{
    var dtSel = sender._selectedDate;
    var dtCurr = new Date();
    var selectedDate = getShortDate(dtSel);
    var currentDate = getShortDate(dtCurr);
    //alert('selectedDate ' + selectedDate);
    //alert('currentDate ' + currentDate);
    //alert(sender._selectedDate);
     //if (sender._selectedDate > new Date()) 
     if (selectedDate > currentDate) 
    {
        alert("You cannot select a date greater than today!");
        sender._selectedDate = new Date(); 
        // set the date back to the current date
        sender._textbox.set_Value(sender._selectedDate.format(sender._format))
        //return false;
    }
}
function compareDOB(ctrlName)
{
    if (document.getElementById(ctrlName)!=null && document.getElementById(ctrlName).value!="")
    {
        
        var dtCurr = addDaysNormal(new Date(),-1);
        var dtEntered = new Date(document.getElementById(ctrlName).value);
        //var enteredDate  = getShortDate(dtEntered);
        //alert('currDate ' + dtCurr);
        //alert('enteredDate ' + dtEntered);
        if (dtEntered > dtCurr) 
        {
            alert("You cannot select a date greater than today!");
            document.getElementById(ctrlName).value=getShortDate(dtCurr);
            //document.getElementById(ctrlName).focus();
            //return false;
        }
    }
}

function chkDOB(sender,args)
{
    var dtCurr = addDaysNormal(new Date(),-1);
    //var dtCurr = new Date();
    var dtEntered = sender._selectedDate;;
    //var enteredDate  = getShortDate(dtEntered);
    //alert('currDate ' + dtCurr);
    //alert('enteredDate ' + dtEntered);
    if (dtEntered > dtCurr) 
    {
        alert("You cannot select a date greater than today!");
        sender._selectedDate = new Date(); 
        //sender._textbox.set_Value(sender._selectedDate.format(sender._format))
        sender._textbox.set_Value(getShortDate(dtCurr));
        //document.getElementById(ctrlName).focus();
        //return false;
    }
}

function checkValidStartDate(sender,args)
{
    var dtSel = sender._selectedDate;
    var dtCurr = new Date();
    //alert('Sel Date bfr ' + dtSel.toString().substr(0,15));
    //alert('Curr Date bfr ' + dtCurr.toString().substr(0,15));
    var selectedDate = getShortDate(dtSel);
    var currentDate = getShortDate(dtCurr);
    //alert ('selectedDate aftr ' + selectedDate);
    //alert ('currentDate aftr ' + currentDate);
    if (selectedDate < currentDate) 
    {
        alert("You cannot select a date lesser than today!");
        sender._selectedDate = new Date(); 
        // set the date back to the current date
        sender._textbox.set_Value(sender._selectedDate.format(sender._format))
        //return false;
    }
}

function compareStartDate(ctrlName)
{
    if (document.getElementById(ctrlName)!=null && document.getElementById(ctrlName).value!="")
    {
        var dtCurr = new Date();
        var currDate = getShortDate(dtCurr);
        var dtEntered = new Date(document.getElementById(ctrlName).value);
        var enteredDate  = getShortDate(dtEntered);
        //alert('currDate ' + currDate);
        //alert('enteredDate ' + enteredDate);
        if (enteredDate < currDate) 
        {
            alert("You cannot select a date lesser than today!");
            document.getElementById(ctrlName).value=currDate;
            //return false;
        }
    }
}

function compareEndDate(startDate,endDate)
{
    if ((document.getElementById(startDate)!=null && document.getElementById(startDate).value!="") && (document.getElementById(endDate)!=null && document.getElementById(endDate).value!=""))
    {
        var surveyStartDate = document.getElementById(startDate).value;
        var surveyEndDate = document.getElementById(endDate).value;
        //alert('surveyStartDate '+ surveyStartDate)
        //alert('surveyEndDate '+ surveyEndDate)
        
        var dtStart = new Date(surveyStartDate);
        var dtEnd  = new Date(surveyEndDate);
        var dtEndShort = getShortDate(dtEnd);
        //alert('dtStart  '+ dtStart )
        //alert('dtEnd '+ dtEnd )
        
        var dtStartPlus7 = addDays(dtStart,7)
        //dtStartPlus7 = getShortDate(dtStartPlus7);
        //alert('dtStartPlus7 '+ dtStartPlus7 )
        
        //if ((surveyStartDate != null) && (surveyEndDate != null))
        //{
            if (dtEndShort < dtStartPlus7) 
            {
                alert("Survey End date should be at least 7 days greater than Survey Start date!");
                document.getElementById(endDate).value=dtStartPlus7;
                //alert('document.getElementById(endDate).value - ' + document.getElementById(endDate).value);
                //return false;
            }
        //}
    }
}


/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Date Validation--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Length Validation------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/
function validateLength(oSrc,args)
{
    args.IsValid = (args.Value.length <= 150)    
}
/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Length Validation--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------*/
/*----------------------------------FileUpload Type Validation------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/
function TestFileType( ele, fileTypes ) 
{
    var fileName = document.getElementById(ele).value;
    //alert(fileName);
    if (!fileName) return true;
    dots = fileName.split(".")
    //get the part AFTER the LAST period.
    fileType = "." + dots[dots.length-1];
    if (fileTypes.join(".").indexOf(fileType) != -1) 
    { 
        //alert('That file is OK!'); 
        return true; 
    } 
    else
    {
        alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
        return false;
    }
}
/*-----------------------------------------------------------------------------------------*/
/*----------------------------------FileUpload Type Validation--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/


/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Numeric Validation------------------------------------Starts*/
/*-----------------------------------------------------------------------------------------*/
function onlyNumber(e)
{ 
    var unicode=e.charCode?e.charCode : e.keyCode;
    if (unicode!=8)
    { 
        if ((unicode>=48 && unicode<=57) || (unicode == 13) || (unicode == 9))
        {
            return true; 
        }
        else
        {
            return false;
        }
     }
}
/*-----------------------------------------------------------------------------------------*/
/*----------------------------------Numeric Validation--------------------------------------Ends*/
/*-----------------------------------------------------------------------------------------*/
