﻿// JScript File
//Ajax.Utility.RegisterTypeForAjax(typeof(CommonAJAX));

//this in page load
//ddlCustomer.Attributes.Add("onchange", "javascript:FillDependantDropDown('" + ddlCustomer.ClientID + "','" + ddlGroup.ClientID + ",strCustomerGroupName,intCustomerGroupID,tblCustomerGroup,intCustomerID,strCustomerGroupName;" + ddlLocation.ClientID + ",strLocationName,intLocationID,tblLocation,intCustomerID,strLocationName');");
 
 
 
 function FillDependantDropDown(Sourceddl,targetddls)
 {       
    Sourceddl=document.getElementById(Sourceddl);
    if(Sourceddl.value != '-1')
    { 
        var arrddl1 = targetddls.split(';');
		if(arrddl1.length>0)
		{
		for(var x=0; x<arrddl1.length; x++)
        {
                 var arrTableValues = arrddl1[x].split(',');
                 
                 var strTextField = arrTableValues[1].split(' ');
                 var strTextcon = '';
                 var strActuallText = '';
                 if(strTextField.length > 2)
                 {
                    strTextcon = strTextField[0] + "+ ', ' +" + strTextField[1] + " as " + strTextField[3];
                    strActuallText = strTextField[3];
                 }
                 else
                 {
                    strTextcon = arrTableValues[1];
                 }
                 
                 var Response = GeneralAjax.FillDependantDropDown(strTextcon,arrTableValues[2], arrTableValues[3] ,' AND ' + arrTableValues[4] + '=' + Sourceddl.value,arrTableValues[5]);
                 var Destinationddl = document.getElementById(arrTableValues[0]);
                 Destinationddl.disabled=false;
                 Destinationddl=removeAllOptions(Destinationddl);
                 Destinationddl=AddDefaultValue(Destinationddl);
                 var dt = Response.value;
                 for(var count=0; count < dt.Rows.length;count++)
                 {
                      var optn = document.createElement("OPTION");
                      if(arrTableValues[1].indexOf(' as') == -1)
                      {
                        var strtext = '';
                        if(arrTableValues[1].indexOf('.') > 0)
                        {
                            strtext = arrTableValues[1].substring(arrTableValues[1].indexOf('.')+1);
                        }
                        else
                        {
                            strtext = arrTableValues[1];
                        }
                        optn.text = dt.Rows[count][strtext];
                      }
                      else
                      {
                        optn.text = dt.Rows[count][strActuallText];
                      }
                      if(arrTableValues[2].indexOf('.') > 0)
                      {
                            var strval = '';
                            strval  = arrTableValues[2].substring(arrTableValues[2].indexOf('.') + 1);
                            optn.value =parseInt(dt.Rows[count][strval]);                                 
                      }
                      else
                      {
                            optn.value =parseInt(dt.Rows[count][arrTableValues[2]]);  
                      }
                      Destinationddl.options.add(optn);
                 }
        }
     }                
  }
  else
  {
        var arrddl1 = targetddls.split(';');
		if(arrddl1.length>0)
		{
		    for(var x=0; x<arrddl1.length; x++)
            {
                var arrTableValues = arrddl1[x].split(',');
                var Destinationddl = document.getElementById(arrTableValues[0]);
                Destinationddl.disabled=true;
                Destinationddl.value=-1;
            }
        }
   }
}     
  
 function removeAllOptions(selectbox)
 {
    var i;
    for(i=selectbox.options.length-1;i>=0;i--)
    {
        selectbox.remove(i);
    }
    return selectbox;
 }                        
                
function  AddDefaultValue(selectbox)
{
     var optn1 = document.createElement("OPTION");
     optn1.text = "--Select--";
     optn1.value = "-1";
     selectbox.options.add(optn1);
     return selectbox;
}               

function GetZipCode(objtxtZip,objDDlCountry,objDDlState,objCity)
{
    var strZipCode = document.getElementById(objtxtZip).value;
   
    if(strZipCode == '')
    {
        return true;
    }
    var Response = clsGeneralAjax.GetCountryStateFromZip(strZipCode);
    var dt = Response.value;
    if(dt.Rows.length > 0)
    {
        if(dt.Rows[0].CountryId)
        {
            document.getElementById(objDDlCountry).value = dt.Rows[0].CountryId;
            removeAllOptions(document.getElementById(objDDlState));
            
            var dtStates= clsGeneralAjax.GetStatesFromCountry(dt.Rows[0].CountryId);
            var dt1 = dtStates.value;
            
            if(dt1.Rows.length > 0)
            {
                var optn1 = document.createElement("OPTION");
                optn1.text = ' ';
                optn1.value = '';  
                document.getElementById(objDDlState).options.add(optn1);
                    
                for(var count=0; count < dt1.Rows.length;count++)
                {
                    var optn = document.createElement("OPTION");
                    optn.text = dt1.Rows[count]['StateCode'];
                    optn.value =dt1.Rows[count]['StateID'];  
                    document.getElementById(objDDlState).options.add(optn);
                }
            }
        }
        if(dt.Rows[0].StateId)
        {
            document.getElementById(objDDlState).value = dt.Rows[0].StateId;
        }
        if(dt.Rows[0].City)
        {
            document.getElementById(objCity).value = dt.Rows[0].City;
        }
    }
//    else
//    {
//        alert('Invalid Zip Code');
//        document.getElementById(objtxtZip).focus();   
//    }
    
}


function FillStateFromCountry(objDDlCountry,objDDlState)
{
    if(document.getElementById(objDDlCountry).value != '')
    {
        removeAllOptions(document.getElementById(objDDlState));
                
        var dtStates= clsGeneralAjax.GetStatesFromCountry(document.getElementById(objDDlCountry).value);
        var dt1 = dtStates.value;
                
        if(dt1.Rows.length > 0)
        {
            var optn1 = document.createElement("OPTION");
            optn1.text = ' ';
            optn1.value = '';  
            document.getElementById(objDDlState).options.add(optn1);
                        
            for(var count=0; count < dt1.Rows.length;count++)
            {
                var optn = document.createElement("OPTION");
                optn.text = dt1.Rows[count]['StateCode'];
                optn.value =dt1.Rows[count]['StateID'];  
                document.getElementById(objDDlState).options.add(optn);
            }
        }
    }
    else
    {
        removeAllOptions(document.getElementById(objDDlState));
    }
}

function CheckEmailAvailability(objTxt)
{
   var strEmail = document.getElementById(objTxt).value;
   if(strEmail != '')
   {
        if (echeck(strEmail)==false)
        {
            alert("Invalid E-mail ID");
            document.getElementById(objTxt).value = '';
		    document.getElementById(objTxt).focus();
		    return false
	    }
       var Response = clsGeneralAjax.GetEmailAvailability(strEmail);
       if(Response.value > 0)
       {
            alert('Email Id  '+ strEmail+' is not available, It is already taken by another user.');
            document.getElementById(objTxt).value = '';
            document.getElementById(objTxt).focus();
            return false;
       }
       else
       {
            return true;
       }
   }
   else
   {
        return true;
   }
}


function echeck(str) 
{

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1)
		{
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		{
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1)
		 {
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		 {
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1)
		 {
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1)
		 {
		    return false;
		 }
 		 return true;				
}
