function validate(frm)
{
	//alert(frm.username.title);
	//alert(frm);
	var n = frm.elements.length;
	for(var i=0;i<n;i++)
	{
		var alt = frm.elements[i].alt;
		if(!alt || alt == '')
			alt = frm.elements[i].lang;
		var val = (frm.elements[i].value);
		var title = frm.elements[i].title;
		var name = frm.elements[i].name;
		if(alt && alt != "")
		{
			var comp = alt.charAt(0);
			var msgcomp = alt.charAt(1);
			rtn1=alt.indexOf('(');
			rtn2=alt.lastIndexOf(')');
			if(comp=="*" || comp=="_")
			{
				if(comp=="*" && val=="")
				{
					if(msgcomp != "-")
						alert("Please Enter "+title);
					else
						alert(title);
					frm.elements[i].focus();
					return false;
				}
				var valid_char = '';
				var valid_email = 'No';
				for(var j=rtn1+1; j<rtn2; j++)
				{
					//alert(alt.charAt(j));
					if(alt.charAt(j)=="N")
						valid_char += '0123456789.';
					else if(alt.charAt(j)=="A")
						valid_char += 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
					else if(alt.charAt(j)=="C")
						valid_char += '0123456789.+-';
					else if(alt.charAt(j)=="T")
						valid_char += '0123456789.+-() ';
					else if(alt.charAt(j)=="D")
						valid_char += '0123456789-/: ';
					else if(alt.charAt(j)=="E")
					{
						valid_email = "Yes";
						valid_char += 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._-@';
					}
					else if(alt.charAt(j)=="X")
						valid_char = '';
					else if(alt.charAt(j)=="[")
					{
						irtn1=alt.indexOf('[');
						irtn2=alt.lastIndexOf(']');
						//alert(alt.substring(irtn1+1,irtn2));
						valid_char += alt.substring(irtn1+1,irtn2);
						j = rtn2;
					}
				}
				if(valid_email == 'Yes')
				{
					valid_msg = isValidEmail(frm.elements[i].value);
					if(valid_msg != 0)
					{
						alert(valid_msg);
						frm.elements[i].focus();
						return false;
					}
				}
				for(k=0;k<val.length && valid_char!='';k++)
				{
					ch=val.charAt(k);
					rtn=valid_char.indexOf(ch);
					if(rtn==-1)

					{
						
						alert("Please Enter Valid "+ title);

						frm.elements[i].focus();

						return false;

					}

				}



				// Format Validation Here



				f_str = alt.substring(rtn2+1,alt.length);

				if(f_str != "" && comp=="*")

				{

					arr = f_str.split(':');

					if(parseInt(arr[0]) > 0)

					{

						if(val.length < parseInt(arr[0]))

						{

							alert(title + " must be atleast of "+parseInt(arr[0])+" characters");

							return false;

						}

					}

					if(parseInt(arr[1]) > 0)

					{

						if(val.length > parseInt(arr[1]))

						{

							alert(title + " must be less than or equal of "+parseInt(arr[1])+" characters");

							return false;

						}

					}

				}

			}

		}

	}

	return true;

}



function Highlight(e,classname)

{

	e.className=classname;

}



function UnHighlight(e,classname)

{

	e.className=classname;

}

function checkKeyEventValidate(type,length)

{

	var chk1;

	var ch1;

	if(type == "Alpha")

		chk1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- ";

	else if(type == "AlphaNumeric")

		chk1="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_. ";

	else if(type == "DecimalNumber")

		chk1="1234567890";

	else if(type == "Float")

		chk1="1234567890.";



	for(i=0;i<length;i++)

	{

		ch1=value.charAt(i);

		rtn1=chk1.indexOf(ch1);

		if(rtn1==-1)

			return false;

	}

	return true;

}

function openPopupImageWindow(ImageName,ImagePath)

{

	s=window.open('popup.php?page=enlarge&pid=1&amp;&amp;popup=1&amp;vImage='+ImageName+'&amp;vImagepath='+ImagePath,'enlarged_view','toolbar=no,resizable=yes,scrollbars=yes,left=350,top=200');

	s.focus();

	return false;

}

function Trim(s)

{



	if(s == ""){





	}else{

	return s.replace(/^\s+/g, '').replace(/\s+$/g, '');

	}

}

function checkAction(actionvalue,frm,caseaction)

{

	var y=0;

	var confirmmsg;

	var errormsg;

	y = checkSelected(frm);
	if(typeof(caseaction) == "undefined")
	{
		caseaction=actionvalue;
	}
	switch(caseaction)
	{

		case "DeleteContact"	:	confirmmsg = "Do you want to remove the selected contact(s)?";
									errormsg = "Please select a contact or contacts.";
									break;
		case "DeleteComingEvent":	confirmmsg = "Do you want to delete this event?";
									errormsg = "Please select an event.";
									break;
		case "ConfirmGroupMember":	confirmmsg = "Do you want to remove this group?";
									errormsg = "Please select member(s)";
									break;
		case "DeleteGroupMember":	confirmmsg = "Do you want to remove this group?";
									errormsg = "Please select member(s)";
									break;
		case "DeleteGroup"	:	confirmmsg = "Do you want to remove this group?";
								errormsg = "Please Select Group(s)";
								break;
		case "Delete"	:	confirmmsg = "Confirm Deletion of Selected Record(s) ?";
							errormsg = "Please Select a Record(s) to Delete.";

							break;

		case "Blocked"	:	confirmmsg = "Do you want to block the selected contact(s)?";

							errormsg = "Please select a contact or contacts";

							break;

		case "Active"	:	confirmmsg = "Do you want to unblock the selected member(s)?";

							errormsg = "Please select a contact or contacts.";

							break;
		case "Unblocked"	:	confirmmsg = "Do you want to remove the block from the selected contact(s)?";

							errormsg = "Please select a contact or contacts";

							break;

		case "CopyAsNew":	confirmmsg = "Do you want to copy this as a new event?";

							errormsg = "Please Select a Record(s) to Copy As New Event.";

							break;

		case "Confirm":		confirmmsg = "Do you want to confirm the selected member(s)?";

							errormsg = "Please Select a Member(s) to Confirm.";

							break;

		case "Cancelled":	confirmmsg = "Would you like to remove the selected member(s)?";

							errormsg = "Please Select a Member(s) to Remove.";

							break;

		case "Saved":	confirmmsg = "Save Selected Message(s) ?";

							errormsg = "Please Select a Messages(s) to Save.";

							break;

		case "Deleted"	:	confirmmsg = "Confirm Deletion of Selected Record(s) ?";

							errormsg = "Please Select a Record(s) to Delete.";

							break;

	}

	if(y>0)

	{

		if(confirm(confirmmsg))

		{

			frm.mode.value=actionvalue;

			frm.submit();

		}

		else

		{return false;}

	}

	else

	{	alert(errormsg);	return false;	}

}

function checkSelected(frm)

{	var x=0;



	for(i=0;i < frm.elements.length;i++)

	{	if (frm.elements[i].id == 'iId' && frm.elements[i].checked == true)

			{x++;}

	}

	return x;

}

/*

	this function is used to open thickbox manually not using the class.

*/

function openthickbox(title,anchortag,rel)

{

	tb_show(title,anchortag,rel);

	return false;

}

function checkAll(frm)

{

	var rs = (frm.abc.checked)?true:false;



	for(i=0;i<frm.elements.length;i++)

	{

	  	if(frm.elements[i].id == 'iId')

  		{

			frm.elements[i].checked = rs;

		}



	}

}



function counterUpdate(opt_countedTextBox, opt_countBody, opt_maxSize)

{

	var countedTextBox = opt_countedTextBox ? opt_countedTextBox : "counttxt";

	var countBody = opt_countBody ? opt_countBody : "countBody";

	var maxSize = opt_maxSize ? opt_maxSize : 1024;



	var field = document.getElementById(countedTextBox);

	var maxSize = parseInt(maxSize) + 1;

	//alert(maxSize);



	if (field && field.value.length >= maxSize ) {



			field.value = field.value.substring(0, maxSize - 1);

			//field.focus();



			//alert("You Can not write more than "+maxSize+" Characters");

			field.focus();

			return false;



	}



	var txtField = document.getElementById(countBody);

			if (txtField) {

			txtField.innerHTML = "<font class=bluematter><br>Max Characters : </font><font class=errormsg>"+opt_maxSize+"</font><br><font class=bluematter>Characters Typed : </font><font class=errormsg>"+field.value.length+"</font>";

	}

}

//This function is to show and hide category checkbox
//Added By Kal - 27/02/02208

function ShowHideFuncat(id){

	if($(id).css("display") == "none"){
		//$(id).css("display","block");
		$(id).slideDown("normal");
	} else {
		//$(id).css("display","none");
		$(id).slideUp("fast");
	}
}

function waitPreloadPage()
{ //DOM
	document.getElementById('prepage').style.display='';
}