function isDigit(c)
{
	return ((c >= "0") && (c <= "9"));
}

function isLetter(c)
{
	return (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")));
}
function isStrictAlphanumeric(s)
{
	var i;

	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);

		if (! (isLetter(c) || isDigit(c)))
		return false;
	}

	return true;
}
function isInteger(buf)
    {   
    	var i;
    
    	for (i=0; i < buf.length; i++) {   
    		var c = buf.charAt(i);
    		if (!isDigit(c)) return false;
    	}
    
    	return true;
    }
    
    
       
function isValidURL(str)
    {
	    var pos = 0;
        var c = 0;
        
        /* check for http scheme */
        if (str.indexOf('http://') == 0)
        {
            pos = 6;
        }
        else if (str.indexOf('https://') == 0)
        {
            pos = 7;
        }
        else if (str.indexOf('ftp://') == 0)
        {
            pos = 5;
        }
        /*  -- leave out mailto for now -- */
        else if (str.indexOf('mailto:') == 0)
        {
            pos = str.indexOf('@');
            if (pos < 0)
            {
                return false;
            }
        }
        /**/
        else
        {
            return false;
        }
            
        /* check for empty address */
        if (str.length <= pos + 1)
        {
            return false;
        }
            
        /* check for valid hostname */
        do
        {
            if (  !isStrictAlphanumeric(str.charAt(++pos))
                  && !(str.charAt(pos) == '@')
                  && !(str.charAt(pos) == '_')
                                                         )
                                                         
            {
                return false;
            }
            while (pos < str.length)
            {
                if (!isStrictAlphanumeric(str.charAt(pos)) 
                    && !(str.charAt(pos) == '-')
                    && !(str.charAt(pos) == '@')
                    && !(str.charAt(pos) == '_')
                    )
                {
                    break;
                }
                pos++;
            }
            if (pos >= str.length)
                return true;
            if (str.charAt(pos-1) == '-')
                return false;
            if (str.charAt(pos-1) == '@')
                return false;
            if (str.charAt(pos-1) == '_')
                return false;
            if (str.charAt(pos) == ':')
                break;
            if (str.charAt(pos) == '/')
                break;
            if (!(str.charAt(pos) == '.'))
                return false;
        } while (pos < str.length)
        
        /* check for optional port number */
        if (str.charAt(pos) == ':')
        {
            c = 0;
            while (pos < str.length && isDigit(str.charAt(++pos)))
            {
                if (++c > 5)
                    return false;
            }
            if (c < 1)
            {
                return false;
            }
        }
        
        /* check for valid path */
        if (str.charAt(pos) == '/')
        {
            if (!isURLPath(str.substring(pos)))
                return false;
        }
        else if (pos < str.length)
        {
            return false;
        }

        return true;           
    }

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
 }


function chkEmail(str)
{
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str))
  {
    return true;
  }
  else
  {
	return false;
  }
}


//Checking Date Format
function OutputCurrentDate()
{
  var monthnames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var currentdate = new Date();

  var currentday = currentdate.getDate();
  var currentmonth = monthnames[currentdate.getMonth()];
  var currentyear = currentdate.getYear();

  if (currentyear >= 0 && currentyear <= 999)
  {
	 currentyear += 1900
  }

  return currentmonth + ' ' + currentday + ', ' + currentyear;
}

function isDate(DateToCheck){
if(DateToCheck==""){return true;}
var m_strDate = FormatDate(DateToCheck);
if(m_strDate==""){
return false;
}
var m_arrDate = m_strDate.split("/");
var m_DAY = m_arrDate[0];
var m_MONTH = m_arrDate[1];
var m_YEAR = m_arrDate[2];
if(m_YEAR.length > 4){return false;}
m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;
var testDate=new Date(m_strDate);
if(testDate.getMonth()+1==m_MONTH){
return true;
} 
else{
return false;
}
}//end function




function FormatDate(DateToFormat,FormatAs){
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="dd/mm/yyyy";}

var strReturnDate;
FormatAs = FormatAs.toLowerCase();
DateToFormat = DateToFormat.toLowerCase();
var arrDate
var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var strMONTH;
var Separator;

while(DateToFormat.indexOf("st")>-1){
DateToFormat = DateToFormat.replace("st","");
}

while(DateToFormat.indexOf("nd")>-1){
DateToFormat = DateToFormat.replace("nd","");
}

while(DateToFormat.indexOf("rd")>-1){
DateToFormat = DateToFormat.replace("rd","");
}

while(DateToFormat.indexOf("th")>-1){
DateToFormat = DateToFormat.replace("th","");
}

if(DateToFormat.indexOf(".")>-1){
Separator = ".";
}

if(DateToFormat.indexOf("-")>-1){
Separator = "-";
}


if(DateToFormat.indexOf("/")>-1){
Separator = "/";
}

if(DateToFormat.indexOf(" ")>-1){
Separator = " ";
}

arrDate = DateToFormat.split(Separator);
DateToFormat = "";
	for(var iSD = 0;iSD < arrDate.length;iSD++){
		if(arrDate[iSD]!=""){
		DateToFormat += arrDate[iSD] + Separator;
		}
	}
DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
arrDate = DateToFormat.split(Separator);

if(arrDate.length < 3){
return "";
}

var DAY = arrDate[0];
var MONTH = arrDate[1];
var YEAR = arrDate[2];




if(parseFloat(arrDate[1]) > 12){
DAY = arrDate[1];
MONTH = arrDate[0];
}

if(parseFloat(DAY) && DAY.toString().length==4){
YEAR = arrDate[0];
DAY = arrDate[2];
MONTH = arrDate[1];
}


for(var iSD = 0;iSD < arrMonths.length;iSD++){
var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
var MonthPosition = DateToFormat.indexOf(ShortMonth);
	if(MonthPosition > -1){
	MONTH = iSD + 1;
		if(MonthPosition == 0){
		DAY = arrDate[1];
		YEAR = arrDate[2];
		}
	break;
	}
}

var strTemp = YEAR.toString();
if(strTemp.length==2){

	if(parseFloat(YEAR)>40){
	YEAR = "19" + YEAR;
	}
	else{
	YEAR = "20" + YEAR;
	}

}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2){
	MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2){
	DAY = "0" + DAY;
	}
	switch (FormatAs){
	case "dd/mm/yyyy":
	return DAY + "/" + MONTH + "/" + YEAR;
	case "mm/dd/yyyy":
	return MONTH + "/" + DAY + "/" + YEAR;
	case "dd/mmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
	case "mmm/dd/yyyy":
	return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
	case "dd/mmmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
	case "mmmm/dd/yyyy":
	return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function



//calendar_code
var ControlToSet;
var theForm = document.frmcoop;
var CalWidth=180;
var StartYear = "";
var EndYear = "";
var FormatAs;
var NN4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var NN6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var TOP;
var LEFT;

if(NN4)document.captureEvents(Event.MOUSEMOVE);

document.onmousemove = LogPosition;

function LogPosition(evt){

    if (NN4||NN6){
    LEFT=evt.screenX;
    TOP=evt.screenY-10;
    }
    else{
    LEFT=event.screenX;
    TOP=event.screenY-10;
    }

}


function ShowCalendar(CONTROL,START_YEAR,END_YEAR,FORMAT){

ControlToSet = eval(CONTROL);
StartYear = START_YEAR;
EndYear = END_YEAR;
FormatAs = FORMAT;

var strFeatures = "width=" + CalWidth + ",height=140" + ",left=" + LEFT + ",top=" + TOP;
var CalWindow = window.open("HTMLCalendar.htm","Calendar", strFeatures)
CalWindow.focus();
} //End Function

function SetDate(DATE){
if(ControlToSet){
ControlToSet.value = DATE; 
}
ControlToSet = null;
StartYear = null;
EndYear = null;
FormatAs = null;
}



