﻿//Blank Check
function CheckBlank(objID, strControlName)
{
    if (Ltrim_string(objID.value) == "" || objID.value == null)
    {
        alert(strControlName + ": Cannot be left blank");
        objID.value = "";
        objID.focus();
        return false;
    }
    return true;
}
////Allow only specified special characters --- Modified By Abhijit
function CheckSpecialChar(objID, strControlName, spstr)
{
    var str = objID.value;
    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;

    if (spstr.toString().indexOf(" ") >= 0)
    {
        spstr = spstr.toString().replace(" ", "Space");
    }

    if (CheckBlank(objID, strControlName))
    {
        for (var j = 0; j < str.length; j++)
            if (validchars.indexOf(str.charAt(j)) == -1)
        {
            alert(strControlName + ": Should not have any special characters except: [ " + spstr + " ]")
            objID.focus();
            //objID.select();
            return false;
        }
        return true;
    }
}

//For LTrim Function
function Ltrim_string(objID)
{

    var j = 0, k = 0;
    if (objID.length > 0)
    {
        for (var i = 0; i < objID.length && k < objID.length; i++)
        {
            if (objID.charAt(i) == " ")
            {
                j++;
            }
            else
            {
                k = objID.length;
            }
        }
        objID = objID.substring(j, objID.length);
    }
    return objID;
}


/**********************************************************************************************************************/
function ClearText(objID, DefaultName) {

    var textname = document.getElementById(objID);
    if (textname.value == DefaultName)
        textname.value = "";
    // document.getElementById(objID).focus();
}

/**********************************************************************************************************************/
////to clear text on focus
function Clear(objID)
{
    var a = eval("document.all['" + objID + "']");
	a.value = "";
	
}

//function ClearText(objID) {
//    //var a = eval("document.all['" + objID + "']");
//    document.getElementById(objID).value = "";
//}
/**********************************************************************************************************************/

function FillText(objID, DefaultName) {
    var textname = document.getElementById(objID);
    if (textname.value == "") {
        textname.value = DefaultName;
    }
}
/**********************************************************************************************************************/


function CheckCharLimit(objID,str,strControlName)
{
	charlength=objID.value.length;
		if(charlength < str){
			alert(strControlName+": should have atleast " +str+ " characters.")
			objID.focus();
 			//objID.select();
			return false;
	}
	return true;
}

/***********************************************************************************************************************/

function CheckMaximumCharLimit(objID,MaxCharachter,strControlName)
{
if(objID.value!="")
  {
    if(objID.value.length>MaxCharachter)
     {
         alert(strControlName + " : Should not be greater than " + MaxCharachter + " Characters");
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

/***********************************************************************************************************************/

//function that checks for the blank space at starting
function CheckLSpace(objID, strControlName) {
    var chk = 0, len = 0;
    if (objID.value.length > 0) {
        len = objID.value.length;
        for (var i = 0; i <= len - 1; i++) {
            if (objID.value.charAt(i) == " ") {
                if (chk != 1) {
                    alert(strControlName + " : Spaces at the start are not allowed");
                    objID.focus();
                    objID.select();
                    return false;
                }
            }
            else
                chk = 1;
        }
    }
    return true;

}

////Validation For Single EMail-Id

function chkEmail(objID, strDisplay) {
    var validchars = /[-a-zA-Z0-9_\"'".]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/; //=/[-0-9a-zA-Z_\.]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z\.\-]+/;

    var IsValid = objID.value.match(validchars);
    if (IsValid != objID.value) {
        alert(strDisplay + " : Should be proper Email");
        objID.focus();
        objID.select();
        return false;
    }
    else if (objID.value.indexOf(".") == 0) {
        alert(strDisplay + ": Should be valid Email")
        objID.focus();
        objID.select();
        return false;
    }
    else if (objID.value.indexOf("..") >= 1) {
        alert(strDisplay + ": Should be valid Email")
        objID.focus();
        objID.select();
        return false;
    }
    var LastIndex = objID.value.lastIndexOf(".");
    var FirstIndex = objID.value.indexOf(".");

    if (((LastIndex - FirstIndex) == 1) || (LastIndex == objID.value.length - 1)) {
        alert(strDisplay + " : Should be Valid Email");
        objID.focus();
        objID.select();
        return false;
    }

    return true;
}


function CheckAlphaSpecialChar(objID, strControlName, spstr) {
    var str = objID.value;


    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;

    if (spstr.toString().indexOf(" ") >= 0) {
        spstr = spstr.toString().replace(" ", "Space");
    }


    if (CheckBlank(objID, strControlName)) {

        for (var j = 0; j < str.length; j++)
            if (validchars.indexOf(str.charAt(j)) == -1) {
            alert(strControlName + ": Should not have any numbers or special characters except: [ " + spstr + " ]")
            objID.focus();
            objID.select();
            // objID.value = ""
            return false;
        }
        return true;

    }

}

function DateComparison(Date1, strDate1, Date2, strDate2) {
    var SplitFromDate = new Array();
    var SplitToDate = new Array();
    var FromDate = new Date();
    var ToDate = new Date();

    SplitFromDate = Date1.value.split("/");
    SplitToDate = Date2.value.split("/");

    FromDate.setFullYear(SplitFromDate[2], SplitFromDate[1], SplitFromDate[0]);
    ToDate.setFullYear(SplitToDate[2], SplitToDate[1], SplitToDate[0]);

    if (FromDate <= ToDate)
        return true;
    else {
        alert(strDate1 + " : Should be less than or equal to '" + strDate2 + "'");
        Date1.select();
        return false;
    }
}

function CheckDropDown(objID, strControlName) {
    
    if (objID.options[0].selected == "true" || objID.selectedIndex == 0) {
        alert(strControlName + ": Select a proper option.");
        objID.focus();
        return false;
    }
    return true;
}

function compareDates(FromDate, ToDate) {
    
    var x1 = ToDate.value;
    var x2 = FromDate.value;
    var ssdate = new String(x1);
    var ssdatee = new String(x2);

    var SDate = new Array(3);
    SDate = ssdate.split("/");
    var ssdate1 = new String(SDate[1] + "/" + SDate[0] + "/" + SDate[2]);

    var SDate1 = new Array(3);
    SDate1 = ssdatee.split("/");
    var ssdate2 = new String(SDate1[1] + "/" + SDate1[0] + "/" + SDate1[2]);

    var one_day = 1000 * 60 * 60 * 24;

    var objDate1 = new Date(ssdate1);
    var objDate2 = new Date(ssdate2);
    var diff = (objDate2.getTime() - objDate1.getTime()) / one_day;
    if (parseInt(SDate1[2] % 4) > 0) {
        diff = parseInt(diff) + 1;
    }

    //document.write(diff);
    
    if (diff < -30) ///diff > 1 to allow select current date .
    {
        alert("Difference between From Date and To Date should not be more than one month");
        return false;
    }
    return true;
}

function CheckSpecialCharSiteSearch(objID, strControlName, spstr) {
    var str = objID.value;
    var flag = 0;
    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;
    
   
    if (CheckBlank(objID, strControlName)) {
        for (var j = 0; j < str.length; j++) 
        {
        if (validchars.indexOf(str.charAt(j)) > -1) {
                    flag = 1;
                }
            if (str.charAt(j) == ">" || str.charAt(j) == "<") {
                    alert(strControlName + ": Should not have special characters > <")
                    objID.focus();
                    //objID.select();
                    return false;
                }
            
            }

if (flag == 0) {
        alert(strControlName + ": Should not contain only special characters")
        objID.focus();
        //objID.select();
        return false;
    }

        return true;
    }
}
