﻿// JScript File
function IsValidDate(d)
{
   var date=new Date(d);
   if(isNaN(date)) return false; 
   return true;
}

function Trim(s) 
{
    return s.replace(/^\s+/,'').replace(/\s+$/,'');
}

function ValidateFriendEmails(t1,t2,t3,t4,t5,t6)
{
    var isvalid=true;
    var txt1=document.getElementById(t1);
    var txt2=document.getElementById(t2);
    var txt3=document.getElementById(t3);
    var txt4=document.getElementById(t4);
    var txt5=document.getElementById(t5);
    var txt6=document.getElementById(t6);
    var i=0;
    var values=new Array();
    if(Trim(txt1.value)!='') values[i++]=Trim(txt1.value);
    if(Trim(txt2.value)!='') values[i++]=Trim(txt2.value);
    if(Trim(txt3.value)!='') values[i++]=Trim(txt3.value);
    if(Trim(txt4.value)!='') values[i++]=Trim(txt4.value);
    if(Trim(txt5.value)!='') values[i++]=Trim(txt5.value);
    if(Trim(txt6.value)!='') values[i++]=Trim(txt6.value);
    
    for(var j=0;j<values.length-1;j++)
    {
        for(var k=j+1;k<values.length;k++)
        {
            if(values[j]==values[k])
            { 
                alert('Your friend email addresses should be unique');
                return false; 
            }
        }
    }
    return isvalid;
}

function resetAny(element,text)
{
	if(document.getElementById(element).value.length==0)
	{
		document.getElementById(element).value = text;
	}
}

function clearAny(element,text)
{
	if(document.getElementById(element).value == text)
	{
		document.getElementById(element).value = '';
	}
}	

function IsInteger(v)
{
   
 
     eturn (!isNaN(v) && v.indexOf('.')==-1)
}

function ValidateEmail(v)
{
	try
	{
		//var reg1 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
		var reg1 = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
		var reg2 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		
		var value = Trim(v);
		if(!reg1.test(value)) // || reg2.test(value))
		{
			return false
		}
		return true
	}
	catch(e)
	{
		alert(e.message.toString())
		return false 
	}
}


function ValidateEmailId(ctrlId,spanId,errMsg)
{
    try
    {
        var reg1 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
        var reg2 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		
        var value = document.getElementById(ctrlId).value;
        
        if(!ValidateEmail(value))
		{
            document.getElementById(spanId).innerHTML = (errMsg=='undefined' || errMsg=='')?'*':errMsg;
            return false;
        }
        else
        {
            document.getElementById(spanId).innerHTML = '';
        }
        return true
    }
    catch(e)
    {
        alert(e.toString());
        alert(e.message.toString());
        return false ;
    }
}
  
function CheckBirthDate(birthDateId,currentDateId)
{
    var birthDate = new Date(document.getElementById(birthDateId).value);
    var serverDate = new Date(document.getElementById(currentDateId).value);
    serverDate.setYear(serverDate.getFullYear()-13);
    var validDate=serverDate;
    return (new Date(birthDate.toLocaleDateString()) <= new Date(validDate))
}  

function AddClass(o, classToAdd)
{
    if (o.className.indexOf(classToAdd) != -1)
        {
        return;
        }
    else
    {
        o.className = o.className + ' ' + classToAdd;
        return;
    }
}

function RemoveClass(o, classToAdd)
{
    o.className = o.className.replace(classToAdd, '');
}

function CheckRequiredField(sFieldName, sErrorStyle)
{
    if(document.getElementById(sFieldName).value == '')
    {
        AddClass(document.getElementById(sFieldName).parentNode, sErrorStyle);
        return (false);
    }
    else 
    {
        RemoveClass(document.getElementById(sFieldName).parentNode, sErrorStyle);
        return (true);
    }
}

function CheckRequiredFieldDropDown(sFieldName, sErrorStyle, sDefault)
{
    if(document.getElementById(sFieldName).value == '' || document.getElementById(sFieldName).value == sDefault)
    {
        AddClass(document.getElementById(sFieldName).parentNode, sErrorStyle);
        return (false);
    }
    else 
    {
        RemoveClass(document.getElementById(sFieldName).parentNode, sErrorStyle);
        return (true);
    }
}

