﻿// JScript File

function clearText(which, txt) 
{
    if(which.value == txt) which.value="";
}



function setText(which, txt) 
{
    if(which.value == "") { which.value = txt; }
}



function HighlightControl(control)
{
 if(control)
 {
    var highlightColor = '#FFCC99';
    control.style.backgroundColor = highlightColor;
    control.style.color = "#990000";
 }
}

function setAlertText(control)
{
if(control)
{
control.style.color = "#990000";
}
}

function setDefaultText(control)
{
if(control)
{
control.style.color = "black";
}
}

function DefaultControlStyle(control)
{
 if(control)
 {
    var highlightColor = 'white';
    control.style.backgroundColor = highlightColor;
    control.style.color = "black";
 }
}

function ValidateForm(clientId)
{
    
    clientId = clientId.replace("FirstnameCtl", "");   
    
	var checkval = "";
	var dob = "";
   
	var firstnameCtrl = document.getElementById(clientId + "FirstnameCtl");
	var lastnameCtrl =  document.getElementById(clientId + "LastnameCtl");
	var countryCtrl = document.getElementById(clientId + "CountryDropdownCtl");
	var emailCtrl = document.getElementById(clientId + "EmailAddressCtl");
	var telephoneCtrl = document.getElementById(clientId + "TelephonenoCtl");
	var yearCtrl = document.getElementById(clientId + "YearDropdownCtl");
	var monthCtrl = document.getElementById(clientId + "MonthDropdownCtl");
	var dateCtrl = document.getElementById(clientId + "DateDropdownCtl");
	var countryLbl =  document.getElementById(clientId + "CountryPanel");
	var dateLbl =  document.getElementById("DatePanel");
    var focusControl = "";
    
    var statePanel = document.getElementById("StatePanel");
	var stateCtrl =	 document.getElementById(clientId + "StateDropdownCtl");
	var courseAppliedCtrl =	 document.getElementById(clientId + "CourseAppliedCtl");
	var courseAppliedLbl =  document.getElementById(clientId + "CourseAppliedPanel");

	if(firstnameCtrl.value=="" || trim(firstnameCtrl.value).length==0 || firstnameCtrl.value==fname )
    {
        focusControl = firstnameCtrl;
	    HighlightControl(firstnameCtrl);
    }
    else
    {
        DefaultControlStyle(firstnameCtrl);
    }
	if(lastnameCtrl.value=="" || trim(lastnameCtrl.value).length==0 || lastnameCtrl.value==lname)
	{
	   if (focusControl == "")
       {
	         focusControl  = lastnameCtrl;
	   }
	   HighlightControl(lastnameCtrl);
	}
	 else
    {
        DefaultControlStyle(lastnameCtrl);
    }
	if (telephoneCtrl.value == "" || telephoneCtrl.value.length< 10 || isNaN(telephoneCtrl.value) || telephoneCtrl.value==phonenumber)
    {
	  if (focusControl == "")
      {
	        focusControl  = telephoneCtrl;
	  }
	  HighlightControl(telephoneCtrl);
	}
	 else
    {
        DefaultControlStyle(telephoneCtrl);
    } 	
	if (emailCtrl.value=="" || trim(emailCtrl.value).length==0 || !isEmail(emailCtrl.value) || emailCtrl.value==email)
	{
	     if (focusControl == "")
         {
	        focusControl  = emailCtrl;
	     }
	      HighlightControl(emailCtrl);
	}
	 else
    {
        DefaultControlStyle(emailCtrl);
    }
	if(countryCtrl && countryCtrl.value=="-" )
	{
	   if (focusControl == "")
       {
	         focusControl  = countryCtrl;
	   }
	   HighlightControl(countryCtrl);
	   setAlertText(countryLbl);
	}
	else if(countryCtrl)
    {
        DefaultControlStyle(countryCtrl);
        setDefaultText(countryLbl);
    }
    
    if(stateCtrl &&  statePanel && statePanel.style.display == "block" && stateCtrl.value=="-" )
	{
	   if (focusControl == "")
       {
	         focusControl  = stateCtrl;
	   }
	   HighlightControl(stateCtrl);
	   setAlertText(statePanel);
	}
	else if(stateCtrl &&  statePanel && statePanel.style.display == "block")
    {
        DefaultControlStyle(stateCtrl);
        setDefaultText(statePanel);
    }
    
    if(courseAppliedCtrl && courseAppliedCtrl.value == "0")
    {
      if (focusControl == "")
       {
	         focusControl  = courseAppliedCtrl;
	   }
	   HighlightControl(courseAppliedCtrl);
	   setAlertText(courseAppliedLbl);
    }
    
  	if (!isValidDate(dateCtrl.value,monthCtrl.value,yearCtrl.value))
  	{
	  if (focusControl == "")
       {
	         focusControl  = dateCtrl;
	   }
	   HighlightControl(dateCtrl);
	   HighlightControl(monthCtrl);
	   HighlightControl(yearCtrl);
	   setAlertText(dateLbl);
	}
	 else
    {
        DefaultControlStyle(dateCtrl);
        DefaultControlStyle(monthCtrl);
	    DefaultControlStyle(yearCtrl);
	    setDefaultText(dateLbl);
    }
	
	if(focusControl != "")
	{
      focusControl.focus();
      return false;
    }
    else 
    {
        /*if ( telephoneCtrl.value.length< 10 || isNaN(telephoneCtrl.value))
        {
	        alert("Please Enter Valid TelePhone Number!");
	        telephoneCtrl.focus();
	        return false;
	    } 	
        else if(!isEmail(emailCtrl.value))
	    {
	      alert("Please Enter Valid Email Address!");
	      emailCtrl.focus();
	      return false;
	    }*/
    
	    return true;
	}
}



function isEmail(emailStr)
{
 var emailPat = /^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;
    var matchArray = emailStr.match(emailPat); 
    if (matchArray == null) 
          return false;
    else
          return true;
}



function isValidDate(day,month,year) 
{
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        //alert("Month "+month+" doesn't have 31 days!");
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
            //alert("February " + year + " doesn't have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}


function isOlderThanXVII( bdayYear, bdayDate, bdayMonth ){
    
    var currentDate = new Date();

	var departDate = currentDate.getDate();
	var departYear = currentDate.getFullYear();
	var departMonth = currentDate.getMonth();
	var bdate = new Date(bdayYear, bdayMonth, bdayDate);
	var yearDiff = departYear - bdayYear;

	if(yearDiff>18 && yearDiff<26){
		return true;
	}else if(yearDiff==18){		
		if(bdate.getMonth() < departMonth ){	
			return true;
		}else if( bdate.getMonth()== departMonth && bdate.getDate() <= departDate ){
			return true;
		}else if(yearDiff>200){ //we can set the age limit for the degree
			return false;
		}else{
			return false;
		}
	}else{
		return false;
	}	
}


function isValidYear(yearStr)
{ 
    var d = new Date();
    var curYear =d.getFullYear();
    var numPat = /^[0-9]{4}$/;
    var matchYear = yearStr.match(numPat);
    
    if(matchYear == null)
    { 
        return false;
    }
    else
    {
        if((parseInt(yearStr)> (curYear-110)) && parseInt(yearStr) < curYear)
	{
            return true;
	}
        else
 	{
            return false;

	}
    }
}


function trim(str)
{
    return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

function CountryChange(countryCtl)
{
  var country = countryCtl.value.toLowerCase();
  var statePanel = document.getElementById("StatePanel");
  if(statePanel)
  {
      if(country == "us")
      {
           statePanel.style.display = "block";
      }
      else
      {
           statePanel.style.display = "none";
      }
  }
}