/*
	VALIDATION TYPE
	================
		email					Whether field is valid email or not
		blank	 	  			Field must not be blank 
		blank_email				field must be email type as well as mandatory 
		numeric					field must have numeric value
		blank_numeric			field must be numeric as well as numeric
		http					url check if value exist
		blank_http				must have value and valid url 
		VALID_FILENAME			no special charcter allowed for file name except underscore and 
		BLANK_VALID_FILENAME
		radio_blank
*/
 var deselect=0;
 var extArrFile=new Array(".doc",".pdf");	
function validate_form(frm)   // FORM VALIDATION FUNCTION
{ 
	var alert_str="";
	var field_name="";
	var temp_ele,temp_flag;
	temp_flag=0;
	
	with(frm)
	{
	for(var i=0;i < frm.length;i++)
	{
		//var re = new RegExp ('_', 'gi') ;
		//var field_name = elements[i].name.replace(re,' ');
		//field_name = word_capitalize(field_name);
		temp_ele=elements[i];
		//alert(temp_ele.type);
		//alert(elements[i].id);
		switch(elements[i].accept)
		{
			case "email" : 
				if(check_blank(elements[i].value)) 
				{
					if(!isValidMail(elements[i].value)) 
					{
						field_name = elements[i].title;
						if(field_name=="")
							field_name = word_capitalize(elements[i].name);
						alert_str+=field_name+"  : Invalid Email\n";
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
			break;
			
			case "blank" : 
				if(!check_blank(elements[i].value)) 
				{
					//field_name = word_capitalize(elements[i].name);
					field_name = elements[i].title;
					if(field_name=="")
						field_name = word_capitalize(elements[i].name);

					//alert(temp_ele.type);
					if(temp_ele.type=="select-one" || temp_ele.type=="select-multiple")
						alert_str+="Please select the value for "+field_name+"\n";	
					else
						alert_str+="Please enter a value in "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
			break;
			
			case "blank_email" : 
				if(!check_blank_email(elements[i].value)) 
				{
					field_name = elements[i].title;
					if(field_name=="")
						field_name = word_capitalize(elements[i].name);
					alert_str+=field_name+" : Blank / Invalid \n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
			break;
				
			case "numeric" : 
				if(elements[i].value)
				{
					if(!check_numeric(elements[i].value)) 
					{
						//field_name = word_capitalize(elements[i].name);
						field_name = elements[i].title;
						if(field_name=="")
							field_name = word_capitalize(elements[i].name);

						alert_str+=field_name+"  : Should Be Numeric\n"; 
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
			break;
			
			case "blank_numeric" : 
				if(!check_blank_numeric(elements[i].value)) 
				{
					//field_name = word_capitalize(elements[i].name);
					field_name = elements[i].title;
					if(field_name=="")
						field_name = word_capitalize(elements[i].name);

					alert_str+=field_name+" : Blank / Not Numeric\n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
			break;
			
			case "VALID_FILENAME" : 
				if(!valid_filename(elements[i].value)) 
				{
					field_name = elements[i].title;
					alert_str+=field_name;
					if(field_name=="")
					{
						field_name = word_capitalize(elements[i].name);
						alert_str+=field_name+" Invlaid Data value \n   Allowed character list (a-z,A-Z,underscore(_))\n";
					}

					
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
			break;
			
			case "BLANK_VALID_FILENAME" : 
				if(!blank_valid_filename(elements[i].value)) 
				{
					//field_name = word_capitalize(elements[i].name);
					field_name = elements[i].title;
					alert_str+=field_name;
					if(field_name=="")
					{
						field_name = word_capitalize(elements[i].name);
						alert_str+=field_name+" Blank or Invlaid character values \n    Allowed character list (a-z,A-Z,underscore(_))\n";
					}

					
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
			
			
			case "http" : 
				if(check_blank(elements[i].value)) 
				{
					if(!isValidWebname(elements[i].value)) 
					{
						//field_name = word_capitalize(elements[i].name);
						field_name = elements[i].title;
						if(field_name=="")
							field_name = word_capitalize(elements[i].name);

						alert_str+=field_name+" : Invalid url\n"; 
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
			break;
			
			case "radio_blank":
				if(!check_radio(frm,elements[i].name))
				{
					field_name = elements[i].title;
					if(field_name=="")
						field_name = word_capitalize(elements[i].name);

					alert_str+=field_name+" : Not Selected\n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				//i=i+elements[i].name.length-1;
			break;

			case "blank_http" : 
				if(check_blank(elements[i].value)) 
				{
					if(!isValidWebname(elements[i].value)) 
					{
						//field_name = word_capitalize(elements[i].name);
						field_name = elements[i].title;
						if(field_name=="")
							field_name = word_capitalize(elements[i].name);

						alert_str+=field_name+" : Invalid url\n"; 
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
				else
				{
					//field_name = word_capitalize(elements[i].name);
					field_name = elements[i].title;
					if(field_name=="")
						field_name = word_capitalize(elements[i].name);

					//alert(temp_ele.type);
					alert_str+="Please enter a value in "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
				case 'select-single':
			if ( typeof elem.length == 'undefined' )
			{
				return elem.value;
			} else {
				for ( var i = 0; i < elem.length; i++ )
				{
					choice = ( elem.type == 'radio' ) ? "checked" : "selected";
					if ( elem[i][choice] )
					{
						return elem[i].value;
					}
				}
			}
		}
	}
	if(alert_str)
		alert_str="Check Following :\n\n"+alert_str;
	return(alert_str);
	}
}

function addbookmark(bookmarkurl)
	{
		var bookmarktitle="Bookmark";
		if (document.all)
			window.external.AddFavorite(bookmarkurl,"bookmarktitle");
		/*else
		{
			var Q=window.getSelection();
			if(Q==""){void(Q=prompt('Bookmark Title',''))};
			if(Q)location.href="http://"+bookmarkurl+escape(Q)+'';
		}*/
		else if (window.sidebar)
		{	
			window.sidebar.addPanel(bookmarktitle, bookmarkurl, "")
		}
	}

function check_blank(str)
{
	var re = new RegExp (' ', 'gi') ;
	var newstr = str.replace(re, '') ;
	//alert(str);
	if(newstr.length==0)
		return(false);
	else
		return(true);
}

function btnAddNow(obj)
	{
		//if(document.getElementById(obj).value !=="")
		//{
			if(document.all)
			{
				uploadAreaHTML.style.display='none';
				progress.style.display="block";
			}
			else if(document.getElementById)
			{
				document.getElementById('uploadAreaHTML').style.display='none';
				document.getElementById('progress').style.display="block";
			}
		/*}
		else
		{
			alert("Click \"Browse...\" to find file on your computer.");
			return false;
		}*/
	}

function previewWin(obj)
	{
		if(document.all)
			previewLink = document.getElementById(obj).value;
		else if(document.getElementById)
			previewLink = 'file://'+document.getElementById(obj).value;
			//alert(previewLink);
		if(document.getElementById(obj).value !=="")
		{
			var oPreview = window.open('http://www.ccs.sktechno.com/preview.html','Preview','width=420,height=450');
			oPreview.focus();
		}
		else
			alert("Click \"Browse...\" to find photos on your computer.");
	}

function previewContent(obj)
	{
		if(document.all)
			previewLink = document.getElementById(obj).value;
		else if(document.getElementById)
			previewLink = document.getElementById(obj).value;
			//alert(previewLink);
		if(document.getElementById(obj).value !=="")
		{
			var oPreview = window.open('http://www.ccs.sktechno.com/previewContent.html','Preview','width=420,height=450');
			oPreview.focus();
		}
		else
			alert("Click \"Browse...\" to find photos on your computer.");
	}

	function browseWin(obj)
	{
		if(document.all)
			previewLink = document.getElementById(obj).value;
		else if(document.getElementById)
			previewLink = document.getElementById(obj).value;
			//alert(previewLink);
		if(previewLink !=="")
		{
			var oPreview = window.open(previewLink,'Preview');
			oPreview.focus();
		}
		else
			alert("Please Enter URL to browse.");
	}


function check_numeric ( n ) 
{
	var v = 1.0 * n ;
	if ( isNaN(v) )
		return false;
	else
		return true;
}

function check_blank_numeric(str)
{
	if(!check_blank(str))
		return(false);
	else if(!check_numeric(str))
		return(false);
	else
		return(true);
}

function check_blank_email(str)
{
	if(!check_blank(str))
		return(false);
	else if(!isValidMail(str))
		return(false);
	else
		return(true);
}

function check_radio(frm,element)
{
	flag=0;
	with(frm)
	{
		temp=eval(element+".length");
		for(i=0; i < temp; i++)
		{
			//alert(eval(element+"["+i+"].checked")+"  "+i);
			if(eval(element+"["+i+"].checked"))
			{
				flag=1;
				break;
			}
		}
	}
	
	if(flag==0)
		return false;
	else
		return true;
}

function valid_filename(myString)
{
	if(myString.match(/^[a-zA-Z0-9_]*$/) == null)
		return false;
	else
		return true;
}

function blank_valid_filename(myString)
{
	if(!check_blank(myString))
		return false;
	else if(!valid_filename(myString))
		return false;
	else
		return true;
}

function isValidMail(mail)
{
	m=new String(mail);
	var mailLength=m.length
	var totalDOT=0
	var totalROUTE=0
	var totalSPACE=0

	// Should not beging with a '.' or '@'
	if(m.charAt(0)=='@' || m.charAt(0) == '.')
	{	return false;		}

	// 
	for(ctr=1;ctr<=mailLength;ctr++)
	{	if (m.charAt(ctr)=='@')	{	totalROUTE++;	}	
		if (m.charAt(ctr)=='.')	{	totalDOT++;	}	
		if (m.charAt(ctr)==' ') {	totalSPACE++;	}
	}

	if (totalROUTE!=1)			//Checking for Multiple @
	{	return false;		}
	if(totalDOT<1)				//Checking for Route Domain
	{	return false;		}
	if(totalSPACE>0)			//No Embeded Space
	{	return false;		}
	
	//Checking for Invalid Characters

	for(ctr=0;ctr<=mailLength;ctr++)
	{	
		if (m.charAt(ctr)=='`')	return false;	
		else if (m.charAt(ctr)=='!')	return false;	
		else if (m.charAt(ctr)==' ') 	return false;	
		else if (m.charAt(ctr)=='#')	return false;	
		else if (m.charAt(ctr)=='$')	return false;	
		else if (m.charAt(ctr)=='%')	return false;	
		else if (m.charAt(ctr)=='^')	return false;	
		else if (m.charAt(ctr)=='&')	return false;	
		else if (m.charAt(ctr)=='*')	return false;	
		else if (m.charAt(ctr)=='(')	return false;	
		else if (m.charAt(ctr)==')')	return false;	
		else if (m.charAt(ctr)=='+')	return false;	
		else if (m.charAt(ctr)=='=')	return false;	
		else if (m.charAt(ctr)=='|')	return false;	
		else if (m.charAt(ctr)=='\\')	return false;	
		else if (m.charAt(ctr)=='{')	return false;	
		else if (m.charAt(ctr)=='}')	return false;	
		else if (m.charAt(ctr)=='[')	return false;	
		else if (m.charAt(ctr)==']')	return false;	
		else if (m.charAt(ctr)==':')	return false;
		else if (m.charAt(ctr)==';')	return false;	
		else if (m.charAt(ctr)=='"')	return false;	
		else if (m.charAt(ctr)=="'")	return false;	
		else if (m.charAt(ctr)=='<')	return false;	
		else if (m.charAt(ctr)=='>')	return false;	
		else if (m.charAt(ctr)==',')	return false;	
		else if (m.charAt(ctr)=='?')	return false;	
		else if (m.charAt(ctr)=='/')	return false;	
	}
	return true;
}


function newBigWindow(URL, WIN_NAME)
{	
	//alert(URL);
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-150;
	var POPUP_WIDTH = 890;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	//alert(open_win);
	return false;
}

function newMediumWindow(URL, WIN_NAME)
{	
	//alert(URL);
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-300;
	var POPUP_WIDTH = 600;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	return false;
}

function newSmallWindow(URL, WIN_NAME)
{	
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-560;
	var POPUP_WIDTH = 650;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	return false;;
}

function MySmallWindow(URL, WIN_NAME, wt, ht)
{	
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-291;
	var POPUP_WIDTH = 500;
	src=URL;
	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	if(wt != "")
		POPUP_WIDTH=parseInt(wt)+18;
	if(ht != "")
		POPUP_HEIGHT=parseInt(ht)+29;
	window.open("http://www.ccs.sktechno.com/pop.html", WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	return false;
}

function deleteConfirm(frm)
{
	var flag=0;
	with(frm)
	{
		for(i=0;i<frm.length;i++)
		{
			
			if((elements[i].type=='checkbox' || elements[i].type=='radio') && elements[i].checked)
			{		
				if(confirm("Are you sure to delete the selected record? "))
				{
					SUBMIT_DELETE.value="true";
					submit();
					return true;
				}
				else
					return false;
			}
		}
	}
	alert("No record selected");
	return false;
}

function Confirmdelete()
{
	var flag=0;	
	if(confirm("Are you sure to delete this Record? "))
	{
		document.forms[0].submit();
		return true;
	}
	else
		return false;

}

function ConfirmUpdate()
{
	var flag=0;	
	if(confirm("Are you sure to update this Record? "))
	{
		return true;
	}
	else
		return false;

}

function redirect(param)
{
	location.href=param;
}


function word_capitalize(field_name1)
{
	var re = new RegExp ('_', 'gi');
	var field_name = field_name1.replace(re,' ');
	field_name = field_name.replace('[','');
	field_name = field_name.replace(']','');
	var ret_field_name="";
	var ar=field_name.split(" ");
	for(var i=0; i < ar.length; i++)
	{
		var temp=ar[i].charAt(0).toUpperCase()+ar[i].substr(1).toLowerCase();
		ret_field_name+=temp+" ";
	}
	return(ret_field_name);
}

// ON ENTER PRESSS FORM VALIDATIOAN AND FORM SUBMISSION

function checkEnter(e,frm_name)
{ //e is event object passed from function invocation
	var characterCode ;//literal character code will be stored in this variable

	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		//alert("e");
		e = e
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else
	{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}

	if(characterCode == 13)
	{ //if generated character code is equal to ascii 13 (if enter key)
	//document.forms[0].submit() //submit the form
		validate_frm(frm_name);
		return false; 
	}
	else
	{
		return true;
	}
}

function check_all(frm)
{
	
	with(frm)
	{
		if(deselect==0)
		{
			for(i=0; i < frm.length; i++)
			{
				if(elements[i].type=='checkbox')
					elements[i].checked=true;
			}
			deselect=1;
		}
		else
		{
			for(i=0; i < frm.length; i++)
			{
				if(frm.elements[i].type=='checkbox')
					frm.elements[i].checked=false;
			}
			deselect=0;
		}
	}
}

function check_selected(frm)
{
	var flag="";
	with(frm)
	{
		for(i=0; i < frm.length; i++)
		{
			if(elements[i].type=='checkbox' || elements[i].type=='radio')
			{
				if(elements[i].checked==true)
				{
					flag=true;
					break;
				}
				else
					flag=false;
			}
		}
		if(flag==false)
		{
			alert("Please Select at least one row.")
			return false;
		}
		else
			return true;
	}
}

function check_phone(val)
{   
    var allowed_char= "0123456789!-_()@!";

    for (i = 0; i < val.length; i++)
    {   
        var c = val.charAt(i);
        if (allowed_char.indexOf(c) == -1)
		return false;
    }
    return true;
}

function close_func(close_check, loc)
{
	if(loc)
		eval("window."+loc).location.reload();

	if(close_check)
		window.close();
}

function isValidWebname(webname)
{	
	m=new String(webname);
	n=new String("http://");
	p=new String("https://");
	var mailLength=m.length
	var totalDOT=0
	var totalROUTE=0
	var totalSPACE=0
	var taglength=0
	var tag=0

	// Should not beging with a '.' or '@'
	if(m.charAt(0)=='@' || m.charAt(0) == '.')
	{	return false;		}
	//should begin with http:// or https://
	
	 for(i=0;i<8;i++){
	    if(m.charAt(i)==p.charAt(i)) { taglength++; }
	 }
     if(taglength==8) { tag++; }
	 taglength=0;
	 for(i=0;i<7;i++){
	    if(m.charAt(i)==n.charAt(i)) { taglength++; }
	 }
     if(taglength==7) { tag++;}
	 if(tag==0){
		 //alert("Enter url with http:// or https://");
		 //httpvalidate="httptrue";
		 //return (httpvalidate);
		 return false;
	 }
	// 
	for(ctr=1;ctr<=mailLength;ctr++)
	{	//if (m.charAt(ctr)=='@')	{	totalROUTE++;	}	
		if (m.charAt(ctr)=='.')	{	totalDOT++;	}	
		if (m.charAt(ctr)==' ') {	totalSPACE++;	}
	}

	//if (totalROUTE!=1)			//Checking for Multiple @
	//{	return false;		}
	if(totalDOT<1)				//Checking for Route Domain
	{
		return false;		}
	if(totalSPACE>0)			//No Embeded Space
	{	return false;		}
	
	//Checking for Invalid Characters

	for(ctr=0;ctr<=mailLength;ctr++)
	{	
		if (m.charAt(ctr)=='`')	return false;	
		else if (m.charAt(ctr)=='!')	return false;	
		else if (m.charAt(ctr)==' ') 	return false;	
		else if (m.charAt(ctr)=='#')	return false;	
		else if (m.charAt(ctr)=='$')	return false;	
		else if (m.charAt(ctr)=='%')	return false;	
		else if (m.charAt(ctr)=='^')	return false;	
		else if (m.charAt(ctr)=='&')	return false;	
		else if (m.charAt(ctr)=='*')	return false;	
		else if (m.charAt(ctr)=='(')	return false;	
		else if (m.charAt(ctr)==')')	return false;	
		else if (m.charAt(ctr)=='+')	return false;	
		else if (m.charAt(ctr)=='=')	return false;	
		else if (m.charAt(ctr)=='|')	return false;	
		else if (m.charAt(ctr)=='\\')	return false;	
		else if (m.charAt(ctr)=='{')	return false;	
		else if (m.charAt(ctr)=='}')	return false;	
		else if (m.charAt(ctr)=='[')	return false;	
		else if (m.charAt(ctr)==']')	return false;	
		//else if (m.charAt(ctr)==':')	return false;
		else if (m.charAt(ctr)==';')	return false;	
		else if (m.charAt(ctr)=='"')	return false;	
		else if (m.charAt(ctr)=="'")	return false;	
		else if (m.charAt(ctr)=='<')	return false;	
		else if (m.charAt(ctr)=='>')	return false;	
		else if (m.charAt(ctr)==',')	return false;	
		else if (m.charAt(ctr)=='?')	return false;	
		//else if (m.charAt(ctr)=='/')	return false;	
	}
	return true;
}

function CompareDates(D1,D2,msg)
{	var dt1 = new  String(D1)
	myAr1 = dt1.split('-');
	var dt2 = new  String(D2)
	myAr2 = dt2.split('-');

	var y1 = myAr1[0];
	var y2 = myAr2[0];
	var d1 = myAr1[2];
	var d2 = myAr2[2];
	var m1 = myAr1[1];
	var m2 = myAr2[1];

	//alert(y1+"  "+d1+"  "+m1+"  "+y2+"  "+d2+"  "+m2);
		
	if (eval(y1) > eval(y2))
	{	
		alert(msg); return false;	
	}
		if (eval(y1) == eval(y2))
		{	if (eval(m1) == eval(m2))
			{	if (eval(d1) > eval(d2))
				{	alert(msg); return false;	
				}
			}
			else 
			{	if (eval(m1) > eval(m2))	
				{	alert(msg); return false;	
				}
			}
		}
		return true;
}

function isValidDate(byear,bmonth,bday)
{	
		var yr=byear;
	    var mon=bmonth;
		
      	var day=bday;

		//Checking for Non-Numeric Values
     		if((isNaN(yr))||(isNaN(mon))||(isNaN(day)))
	      {	alert("Error! Invalid Date Format");
			return false;
	      }

		//Checking for Positive Numeric Values
		if((yr<1) || (mon<1) ||(day<1))
		{	alert("Error! Invalid Date Format")
			return false;
		}
		if (yr<1900)
		{	alert("Error! Year entered is too old")
			return false;
		}

		if (yr>9999)
		{	alert("Error! Enter year in 4 Digits")
			return false;
		}
	
    	if(mon>12)
	    {	alert("Error! Month Range 1-12.")
			return false;	
		}
    		if(day>31)
	      {	alert("Error! Day Range 1-31.")
			return false;
	      }
	
		//Checking for month having 30 days
		if(mon==4 || mon==6 || mon==9 || mon==11)
		{	if(day >30)
			{ 	alert("Error! Day Range 1-30 for the given month.")
				return false;
		      }
		}
	
		//Checking for February and Leap year
		if(mon==2)
		{	if(yr%4==0)
			{	if(day >29)
				{     alert("Error! Day Range 1-29 for the given month and year.")
					return false;
		      	}
			}
			else
			{	if(day >28)
				{	alert("Error! Day Range 1-28 for the given month and year.")
					return false;
	      		}
			}
		}
	     	return true;
}

function DoValidate(Dt)
{	
	var myDate = new  String(Dt)
	var SpaceExpr = /\s/;
	var SpacePos = myDate.search(SpaceExpr);
	if (SpacePos > -1)
	{	alert("No space allowed in a Date."); return false;
	}
	
	var dLength=myDate.length
	var totalSlash=0
	var totalChar=0
	var totalInvalids=0

	// Should not beging with a '/' or end with '/'
	if(myDate.charAt(0)=='-' || myDate.charAt(dLength) == '-')
	{	alert("Invalid Date");return false;		}

	// Scanning the String
	for(ctr=0;ctr<dLength;ctr++)
	{	Ch=myDate.charAt(ctr);
		if (Ch=='-')
		{	totalSlash++;	}			
		
		if (Ch!='-')
		{
			if (isNaN(Ch))	
			{	
				totalInvalids++;	
			}	
		}
		totalChar++;
	}
		
	if (totalSlash > 2)
	{	alert("Excess Separators used in the date."); return false;	}
	if (totalInvalids > 2)
	{	alert("Invalid Character present in Date."); return false;	}
	if (totalChar < 8)
	{	alert("Less Character present in Date."); return false;	}
	if (totalSlash==0)
	{	alert("Pleae use '-' (Dash) as Separator"); return false;	}	

	myArr = myDate.split('-');
	if (myArr.length < 3)
	{	alert("Invalid Date"); return false;	}

	if (!isValidDate(myArr[0],myArr[1],myArr[2]))//year,month date
	{	return false;	}

	return true;
}


function isValidPageName(Page)
{	
	m=new String(Page);
	var userLength=m.length
	var isValid=0
	
	if(userLength<1 || userLength>15)
	{	return false;		
	}
	
	// Scanning the Username
	for(ctr=0;ctr<=userLength;ctr++)
	{	if (m.charAt(ctr)=='`')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='!')	{	isValid=1;	}	
		else if (m.charAt(ctr)==' ') 	{	isValid=1;	}
		else if (m.charAt(ctr)=='@')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='#')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='$')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='%')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='^')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='&')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='*')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='(')	{	isValid=1;	}	
		else if (m.charAt(ctr)==')')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='+')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='=')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='|')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='\\')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='{')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='}')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='[')	{	isValid=1;	}	
		else if (m.charAt(ctr)==']')	{	isValid=1;	}	
		else if (m.charAt(ctr)==':')	{	isValid=1;	}	
		else if (m.charAt(ctr)==';')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='"')	{	isValid=1;	}	
		else if (m.charAt(ctr)=="'")	{	isValid=1;	}	
		else if (m.charAt(ctr)=='<')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='>')	{	isValid=1;	}	
		else if (m.charAt(ctr)==',')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='?')	{	isValid=1;	}	
		else if (m.charAt(ctr)=='/')	{	isValid=1;	}	

		if(isValid==1)
		{	return false;	}
		if(m.indexOf(".") <0)
			return false;
	}
	return true;
}

