function ttlightbox(strURL,divName) {

    var xmlHttpReq = false;



    var self = this;



    document.getElementById(divName).innerHTML="<img align=top src='manager/images/ajax3.gif' title='Update in progress...'>";



	

	if(self.xmlHttpReq)

	self.xmlHttpReq.abort();

	

	

	if (window.XMLHttpRequest)

        self.xmlHttpReq = new XMLHttpRequest();

    else if (window.ActiveXObject) 

       self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");

	

	self.xmlHttpReq.open('POST', strURL, true);



    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');



    self.xmlHttpReq.onreadystatechange = function() {



        if (self.xmlHttpReq.readyState == 4) 

		{

				document.getElementById(divName).innerHTML=self.xmlHttpReq.responseText;



// lightbox ready again =---------------------------------				

$(document).ready(function () {

	$('.contactForm ').click(function (e) {

		e.preventDefault();

		

		// load the contact form using ajax

		$.get(tt, function(data){

			// create a modal dialog with the data

			$(data).modal({

				close: false,

				overlayId: 'contact-overlay',

				containerId: 'contact-container',

				onOpen: contact.open,

				onShow: contact.show,

				onClose: contact.close

			});

		});

	});



	// preload images

	var img = ['cancel.png','form_bottom.gif','form_top.gif','form_top_ie.gif','loading.gif','send.png'];

	$(img).each(function () {

		var i = new Image();

		i.src = 'img/contact/' + this;

	});

});

				

				

///---------------------------------// lightbox ready again =---------------------------------				

				

				

				

    	}

	}	



    self.xmlHttpReq.send('');

	

	

}





function chkBrowser()

{

  return navigator.appName;

} 

 

 function makeDoc(id,type) {

	

	mypara=document.getElementById(id);

	if(document.getElementById("dnfrm")){

	myrform=document.getElementById("dnfrm");

	mypara.removeChild(myrform);

	}

	myform1tt=document.createElement("form");

	myform1tt.setAttribute("name","dnfrm");

	myform1tt.setAttribute("id","dnfrm");	

	myform1tt.setAttribute("method","post");

	myform1tt.setAttribute("action","");

	

	myele=document.createElement("input");

	myele.setAttribute("type","hidden");

	myele.setAttribute("name","dyncnt");

	myele.setAttribute("id","dyncnt");

	myele.setAttribute("value",document.getElementById(id).innerHTML);

	

	myele1=document.createElement("input");

	myele1.setAttribute("type","hidden");

	myele1.setAttribute("name","dyntype");

	myele1.setAttribute("id","dyntype");

	myele1.setAttribute("value",type);

	

	myform1tt.appendChild(myele);

	myform1tt.appendChild(myele1);

	mypara.appendChild(myform1tt);

    myform1tt.submit();

	if(document.getElementById("divIdName")) document.getElementById("divIdName").style.display='none';	

    }

	

function CallPrint(id)

{

var prtContent = document.getElementById(id).innerHTML;

var WinPrint =

window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status=0');

WinPrint.document.open();

WinPrint.document.write(prtContent);

WinPrint.document.close();

WinPrint.focus();

WinPrint.print();

WinPrint.close();

if(document.getElementById("divIdName")) document.getElementById("divIdName").style.display='none';	

//prtContent.innerHTML=strOldOne;

}



function changeTime(obj,e)

{

	var keynum

	var keychar

	var numcheck



	if(window.event) // IE

	{

		keynum = e.keyCode

	}

	else if(e.which) // Netscape/Firefox/Opera

	{

		keynum = e.which

	}

	//keychar = String.fromCharCode(keynum)

	if (obj.value.match(/(0[1-9]|1[0-2]):(0[0-9]|[1-5][0-9]) (AM|PM)/im)) 

	{

		str=obj.value.replace(" ",":").split(":");

		sel_start=obj.selectionStart;

		sel_end=obj.selectionEnd;

		

		if (keynum==38) 

		{

			if (obj.selectionStart<=2) 

			{

				sel_start=0;

				sel_end=2;

				n=parseInt(str[0],10);

				str[0]='0'+(n+1>12?1:n+1).toString();

				str[0]=str[0].substring(str[0].length-2,str[0].length)

			}

			else if (obj.selectionStart<=5)

			{

				sel_start=3;

				sel_end=5;

				n=parseInt(str[1],10);

				str[1]='0'+(n+10>50?0:n+10).toString();

				str[1]=str[1].substring(str[1].length-2,str[1].length)

			}

			else

			{

				sel_start=6;

				sel_end=8;

				str[2]=str[2]=='am'?'pm':'am';

			}

			

		}

		else if (keynum==40) 

		{

			if (obj.selectionStart<=2) 

			{

				sel_start=0;

				sel_end=2;

				n=parseInt(str[0],10);

				str[0]='0'+(n-1<1?12:n-1).toString();

				str[0]=str[0].substring(str[0].length-2,str[0].length)

			}

			else if (obj.selectionStart<=5)

			{

				sel_start=3;

				sel_end=5;

				n=parseInt(str[1],10);

				str[1]='0'+(n-10<0?50:n-10).toString();

				str[1]=str[1].substring(str[1].length-2,str[1].length)

			}

			else

			{

				sel_start=6;

				sel_end=8;

				str[2]=str[2]=='am'?'pm':'am';

			}

		}

		

		obj.value=str[0].toString()+':'+str[1].toString()+' '+str[2].toString();

		obj.selectionStart=sel_start;

		obj.selectionEnd=sel_end;

	} 

	else 

	{

		obj.value="12:00 am";

	}

}





function addItemRow1(flag,ids,names,ans)

{



  var tbl = document.getElementById('tblAns');

  var lastRow = tbl.rows.length;

  var iteration = lastRow;

  var row = tbl.insertRow(lastRow);

 // alert(lastRow);

  //id=ids.toString().replace(/,/g,"_")

  

  id=lastRow;

  row.setAttribute("name","div_"+id);

  row.setAttribute("id","div_"+id);

 

  class1="noborder";

  class2="text10"; 

   

  var cellItemName= row.insertCell(0);

  cellItemName.setAttribute("align","left");

  cellItemName.setAttribute("height", "25");

  cellItemName.setAttribute("width","135");

 

 var el = document.createElement('input');

  el.setAttribute('type', 'checkbox');

  el.setAttribute('name', 'listing_id[]');

  el.setAttribute('id', 'listing_id[]');

  cellItemName.appendChild(el);

 

  

 



  var cellItemCost= row.insertCell(1);

  cellItemCost.setAttribute("width","135");

  var el = document.createElement('input');

  el.setAttribute('type', 'text');

  el.setAttribute('name', 'ans[]');

  el.setAttribute('id', 'ans[]');

  el.setAttribute('value',ans);

  el.setAttribute('size','55');

  el.setAttribute('class',class2);

  el.setAttribute('className', class2);

  cellItemCost.appendChild(el);

  

 

  

  

   //	var cellItemName= row.insertCell(3);

  //	cellItemName.setAttribute("align","right");

  //	cellItemName.setAttribute("height", "25");

  //	var el = document.createElement('img');

	//el.setAttribute('src', "images/edit.gif");

	//cellItemName.appendChild(el);

 

  

  



}





function addItemRow(flag,ids,names,ans,answ)

{



  var tbl = document.getElementById('tblAns');

  var lastRow = tbl.rows.length;

  var iteration = lastRow;

  var row = tbl.insertRow(lastRow);

 // alert(lastRow);

  //id=ids.toString().replace(/,/g,"_")

  

  id=lastRow;

  row.setAttribute("name","div_"+id);

  row.setAttribute("id","div_"+id);

 

  class1="noborder";

  class2="text10"; 

   

  var cellItemName= row.insertCell(0);

  cellItemName.setAttribute("align","left");

  cellItemName.setAttribute("height", "25");

  cellItemName.setAttribute("width","135");

 

 var el = document.createElement('input');

  el.setAttribute('type', 'checkbox');

  el.setAttribute('name', 'listing_id[]');

  el.setAttribute('id', 'listing_id[]');

  cellItemName.appendChild(el);

 

  

 



  var cellItemCost= row.insertCell(1);

  cellItemCost.setAttribute("width","135");

  var el = document.createElement('input');

  el.setAttribute('type', 'text');

  el.setAttribute('name', 'ans[]');

  el.setAttribute('id', 'ans[]');


  el.setAttribute('value',ans);

  el.setAttribute('size','55');

  el.setAttribute('class',class2);

  el.setAttribute('className', class2);

  cellItemCost.appendChild(el);

  

   var cellItemName= row.insertCell(2);

//  var cellItemCost= row.insertCell(1);

  cellItemCost.setAttribute("width","55");

  var e2 = document.createElement('input');

  e2.setAttribute('type', 'text');

  e2.setAttribute('name', 'answ[]');

  e2.setAttribute('id', 'answ[]');

  e2.setAttribute('value',answ);

  e2.setAttribute('size','10');

  e2.setAttribute('class',class2);

  e2.setAttribute('className', class2);

  cellItemName.appendChild(e2);

  

  

   	var cellItemName= row.insertCell(3);

  	cellItemName.setAttribute("align","right");

  	cellItemName.setAttribute("height", "25");

  //	var el = document.createElement('img');

	//el.setAttribute('src', "images/edit.gif");

	//cellItemName.appendChild(el);

 

  

  



}





function removeRow()

{

  var tbl = document.getElementById('tblAns');

  var lastRow = tbl.rows.length;

  var iteration = lastRow;

  tbl.deleteRow(tbl.rows.length-1);

 /* for (i=3;i<iteration;i++)

  {

  	tbl.deleteRow(tbl.rows.length-1);

	

  }*/



}







function search_enter(e) {

	

      if (e.keyCode) 

	  keycode=e.keyCode;

      else keycode=e.which;

      

	  

	  var sPath = window.location.pathname;

	  var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);

	  var pass;

	  pass=0;

		if(sPage=="assign_category.php" || sPage=="relatedarticle.php")

		pass=1;

	  

	  

				if((keycode==13)&& (pass==1))

			   {

				

				var el = document.createElement('input');

				  el.setAttribute('type', 'text');

				  el.setAttribute('name', 'Submit');

				  el.setAttribute('id', 'Submit');

				  el.setAttribute('value','Search');	

				  document.getElementById("Form1").appendChild(el);

			

			   document.getElementById("Form1").submit();

			   }

	  

   }







function showInfo(heading,txt)

{

	document.getElementById("errorBoxHeading").innerHTML=heading;

	document.getElementById("errorBoxText").innerHTML=txt;

	document.getElementById("errorBox").style.left=(mouseX-200)+"px";

	document.getElementById("errorBox").style.top=(mouseY-100)+"px";

	document.getElementById("errorBox").style.display='block';

	return false;

}	



	function actRecord(frm,button) 

	{

	

	if (button.value=="Change Status")

	{

	

	frm.set_step.value="Change";

	}

	if (button.value=="Delete Selected")

	{

	

	frm.set_step.value="Remove";				

	}		

			

	frm.submit();

	

	}

function selectListings(frm,obj)

	{

		//alert(frm+"============"+obj);

		var i=0;

		var flag=false;

		if (frm.listing_id.length==null)

		{

			frm.listing_id.checked=obj.checked;

			flag=true;

		}

		else

		{

			

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

			{

				frm.listing_id[i].checked=obj.checked;

				flag=true;

			}

			

		}

	}



function drawTable(maxlength, tablewidth, tablename)

{

	if ((navigator.appName.indexOf("Microsoft") !=-1) && (parseInt(navigator.appVersion)>= 4))

	{

		var str;

	    str='<table id="box" name="'+maxlength+'" cellpadding="0" cellspacing="0" border="0" width="'+tablewidth+'">';

	    str += '<tr>';

	    str += '<td bgcolor="#003366" width="0"><img src="/images/dot.gif" name="'+tablename+'1" height="5" width="0"></td>';

	    str += '<td bgcolor="#8CAAE6" width="'+tablewidth+'"><img src="/images/dot.gif" name="'+tablename+'2" height="5" width="'+tablewidth+'"></td></tr>';

	    //str += '<tr><td colspan="2"><div><span name=tablename3 style="width:'+tablewidth/2+'px;"></span><span id="'+tablename+'4" style="width:'+tablewidth/2+'px;text-align:right;"></span></div></td></tr>';

	    str += '</table>';

		document.write(str);

	}

	else 

	{

	    document.write(' ');

	}

}



function funMycomment(a){

	obj=document.getElementById('box');

	tblwidth=obj.width;

	maxlen=obj.name;

	var aa

	aa=document.getElementById(a.id);

	x = maxlen - aa.value.length;

	if (x <0)

	{

	    aa.value=aa.value.substring(0,maxlen);

	    x=0;

	    alert('Maximum '+maxlen+' character used');

	}

	

	eval("document."+a.id+"1").width=tblwidth*(maxlen-x)/maxlen;

	eval("document."+a.id+"1").alt=maxlen-x+" chars used";

	eval("document."+a.id+"2").width=tblwidth*x/maxlen;

	eval("document."+a.id+"2").alt=x+" chars available";

	//document.getElementByName("tablename3").innerHTML=maxlen-x+" chars used";

	//document.getElementById("tablename4").innerHTML=x+" chars left";

}



///////////////////////

		

function isdefined( variable)

{

    return (typeof(window[variable]) == "undefined")?  false: true;

}





function validateForm(frm) {

	

	

//alert(frm);

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

		

		req = frm.elements[cnt].lang;

//		alert(req);

		if (req != "" && req != null && req != "0") {

		ctl = frm.elements[cnt];

		

		//value = trim(frm.elements[cnt].value);

		value = trim(frm.elements[cnt].value);

//		alert(value);

		type = frm.elements[cnt].type.toUpperCase();

		title = frm.elements[cnt].title;

//		alert(type);

			

			req = req.toUpperCase();

			

			//textbox

			if (type == "TEXT" || type == "TEXTAREA") {

				

				//Simple blank value check											[MUST]

				if (req.indexOf("MUST") != -1) {

					if (value == "" || value == null) {

						var is_editor=false;

						if(!(window.tinyMCE === undefined)){

							if(tinyMCE.editors[frm.elements[cnt].name]){

								 is_editor=true;

							}

							else{

								 is_editor=false;

							}

						}

					//	alert(is_editor);

						

						if(is_editor){

							//alert(tinyMCE.editors[frm.elements[cnt].name].getContent());

							if(tinyMCE.editors[frm.elements[cnt].name].getContent()==""){

								alert("Please enter \"" + title + "\"");

								return(false);

							}

						}

						else{

							alert("Please enter \"" + title + "\"");

							ctl.focus()

							return (false);

						}

						

					}

					req = req.replace("MUST", "");

				}

				

				//Integer value check												[(MUST)INT]

				if (req.indexOf("INT") != -1) {

					if (isNaN(value)) {

						alert("Please enter numeric values for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("INT", "");

					

					//Positive Integer Check										[(MUST)INT+]

					if (req.indexOf("+") != -1 && parseInt(value) <= 0) {

						alert("Please enter positive numerics for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("+", "");

					

					//Negative Integer Check										[(MUST)INT-]

					if (req.indexOf("-") != -1 && parseInt(value) >= 0) {

						alert("Please enter negative numerics for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("-", "");

					



					//Comparison Integer Check										[(MUST)INT<=X]

					if (req.indexOf("<=") != -1 && 

					(parseInt(value) > parseInt( req.substr(req.indexOf("<=")+2, req.length - req.indexOf("<=")) ))

					) {

						alert("Please enter numerics <= " + req.substr(req.indexOf("<=")+2, req.length - req.indexOf("<=")) + " for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("<=", "");

					

					//																[(MUST)INT>=X]

					if (req.indexOf(">=") != -1 && 

					(parseInt(value) < parseInt( req.substr(req.indexOf(">=")+2, req.length - req.indexOf(">=")) ))

					) {

						alert("Please enter numerics >= " + req.substr(req.indexOf(">=")+2, req.length - req.indexOf(">=")) + " for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace(">=", "");

					

					continue;

				}

				

				

				//Double value check												[(MUST)DBL]

				if (req.indexOf("DBL") != -1) {

					if (isNaN(value)) {

						alert("Please enter numeric values for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("DBL", "");

					

					//Positive Double Check											[(MUST)DBL+]

					if (req.indexOf("+") != -1 && parseFloat(value) <= 0) {

						alert("Please enter positive numerics for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("+", "");

					

					//Negative Double Check											[(MUST)DBL-]

					if (req.indexOf("-") != -1 && parseFloat(value) >= 0) {

						alert("Please enter negative numerics for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("-", "");

					



					//Comparison Double Check										[(MUST)DBL<=X]

					if (req.indexOf("<=") != -1 && 

					(parseFloat(value) > parseFloat( req.substr(req.indexOf("<=")+2, req.length - req.indexOf("<=")) ))

					) {

						alert("Please enter numerics <= " + req.substr(req.indexOf("<=")+2, req.length - req.indexOf("<=")) + " for \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("<=", "");

					

					//																[(MUST)DBL>=X]

					if (req.indexOf(">=") != -1 && 

					(parseFloat(value) < parseFloat( req.substr(req.indexOf(">=")+2, req.length - req.indexOf(">=")) ))

					) {

						alert("Please enter numerics >= " + req.substr(req.indexOf(">=")+2, req.length - req.indexOf(">=")) + " for \"" + title + "\"");

						ctl.focus();

						return (false);



					}

					req = req.replace(">=", "");

					

					continue;

				}

				

				//Characters and string value check

				if (req.indexOf("LEN") != -1) {

					if (req.indexOf("LEN=") != -1 && value.length != parseInt(req.substr(req.indexOf("LEN=")+4)) ) {

						alert("Please enter " + req.substr(req.indexOf("LEN=")+4) + " characters for " + title);

						ctl.focus();

						return (false);

					}

					

					if ( (req.indexOf("LEN<") != -1) && !(value.length <= parseInt(req.substr(req.indexOf("LEN<")+4))) ) {

						alert("Please enter atmost " + req.substr(req.indexOf("LEN<")+4) + " characters for " + title);

						ctl.focus();

						return (false);

					}

					

					if ( (req.indexOf("LEN>") != -1) && !(value.length >= parseInt(req.substr(req.indexOf("LEN>")+4))) ) {

//						alert(req.indexOf("|"))

						check = req.substr(0,req.indexOf("|")).length;

						if (check != 0) {

							alert("Please enter atleast " + req.substr(req.indexOf("LEN>")+4,check-4) + " characters for " + title);

						}

						else

						{

							alert("Please enter atleast " + req.substr(req.indexOf("LEN>")+4) + " characters for " + title);

						}

						ctl.focus();

						return (false);

					}

				}





				//user name; min 4 characters no special characters

				if (req.indexOf("USERNAME") != -1){					

					var re = /^[A-Za-z]\w{3,}$/; 

					if (!re.test(value)) {

						alert("Please choose a correct \"" + title + "\".");

						ctl.focus();

						return (false);

					}

				}





				

				if (req.indexOf("AGE18+") != -1) {									//[AGE18+]

					var string = value;

					var separator = '/';

					var stringArray = string.split(separator);

					mm=stringArray[1]

					dd=stringArray[0]

					yy=stringArray[2]

					thedate = new Date()

    				mm2 = thedate.getMonth() + 1

    				dd2 = thedate.getDate()

    				yy2 = thedate.getYear()

					    if (yy2 < 100) {

					        yy2 = yy2 + 1900 }

					    yourage = yy2 - yy

    					if (mm2 < mm) {

				        yourage = yourage - 1; }

					    if (mm2 == mm) {

				        	if (dd2 < dd) {

                			yourage = yourage - 1; }

        				}

    				agestring = yourage + " "

					if (parseInt(agestring) < 18) {

						alert("You should be 18+ to fill this form.");

						ctl.focus();

						return (false);

					}

					

					}



				

				//Character Checks

				

				

				//Date Checks														[DATE*][MMDDYY]

				if (req.indexOf("DATE") != -1 && value != "") {

					if (!isDate(value)) {

						alert("Please enter valid date for \"" + title + "\". [Format :mm/dd/yyyy]");

						ctl.focus();

						return (false);

					}

					

					

					if (req.indexOf("FUTURE") != -1) {

						

						var dt = new Date();

						var dtVal = new Date(value);

						

						if (dt > dtVal) {

							alert("Please enter a future date for \"" + title + "\"");

							ctl.focus();

							return (false);

						}

						req = req.replace("FUTURE", "");

					}

					

				}//DATE CHECK

				

				//EMAIL

				if (req.indexOf("EMAIL") != -1 && value != "") {

					if (!isValidEmailStrict(value)) {

						alert("Please enter valid " + title);

						ctl.focus();

						return (false);

					}

					

				}//EMAIL CHECK



				//Email confirmation

				if (req.indexOf("COMP") != -1 && value != "") 

				{

					req = req.replace("MUST", "");

					req = req.replace("COMP", "");

					var valemailc = trim(eval("frm." + req.toLowerCase() + ".value"));

					if (valemailc != value) {

						alert("Email Address Mismatched");

						return (false);

					}

				}// Email confirmation ends here

			}



//password; min of 4 characters but no special characters

			if (type == "PASSWORD") {

				if (value == "" || value == null) {

					alert("Please enter \"" + title + "\"");

					ctl.focus();

					return (false);

				}

				else

				{	

					if (req.indexOf("COMP") == -1){					

						if (value.length <= 3) {

							alert("Please enter \"" + title + "\" more than 4 characters.");

							ctl.focus();

							return (false);

						}

					}

					

				}



				//confirm password

				if (req.indexOf("COMP") != -1 && value != "") 

				{

					req = req.replace("MUST", "");

					req = req.replace("COMP", "");

					var valpwdc = trim(eval("frm." + req.toLowerCase() + ".value"));

					if (valpwdc != value) {

						alert("Password Mismatched");

						ctl.focus();

						return (false);

					}

					//var re = /\w{4,}/;

					var re =  /^[A-Za-z]\w{3,}/; 

					if (!re.test(value)) {alert("not valid password");

						ctl.focus();

					return (false);}

				}

			}



			if (type == "CHECKBOX") {

				if (ctl.checked == false) {

					alert("Please check \"" + title + "\" to proceed.");

					ctl.focus();

					return (false);

				}

			}

			

			if (ctl.tagName == "SELECT") {

				if (req.indexOf("MUST") != -1) {

					if (value == "" || value == null) {

					alert("Please select \"" + title + "\" to proceed.");

					ctl.focus();

					return (false);

					}

					req = req.replace("MUST", "");

				}

			}

			

			//Simple blnak value check											[MUST]

			if (type == "FILE") {

				if (req.indexOf("MUST") != -1) {

					if (value == "" || value == null) {

						alert("Please enter \"" + title + "\"");

						ctl.focus();

						return (false);

					}

					req = req.replace("MUST", "");

				}

			}//FILE IF

			

		}

	

	}



	return (true);



	

}















////////////////////////////////////////////////

////////////////STRING FUNCTIONS////////////////

////////////////////////////////////////////////

function trim( str ) {

		

	// Immediately return if no trimming is needed

	if( (str.charAt(0) != ' ') && (str.charAt(str.length-1) != ' ') ) { return str; }



	// Trim leading spaces

	while( str.charAt(0)  == ' ' ) {

		str = '' + str.substring(1,str.length);

	}

	// Trim trailing spaces

	while( str.charAt(str.length-1)  == ' ' ) {

		str = '' + str.substring(0,str.length-1);

	}

	return str;

}



// Remove characters that might cause security problems from a string 

function removeBadCharacters(string) {

	if (string.replace) {

		string.replace(/[<>\"\'%;\)\(&\+]/, '');

	}

	return string;

}



// Check that a string contains only letters

function isAlphabetic(string) {

	return isAlphabetic1(string, true);

}



function isAlphabetic1(string, ignoreWhiteSpace) {

	if (string.search) {

		if ((ignoreWhiteSpace && string.search(/[^a-zA-Z\s]/) != -1) || (!ignoreWhiteSpace && string.search(/[^a-zA-Z]/) != -1)) return false;

	}

	return true;

}



// Check that a string contains only numbers

function isNumeric(string) {

	return isNumeric1(string, false);

}



function isNumeric1(string, ignoreWhiteSpace) {

	if (string.search) {

		if ((ignoreWhiteSpace && string.search(/[^\d\s]/) != -1) || (!ignoreWhiteSpace && string.search(/\D/) != -1)) return false;

	}

	return true;

}



// Remove all spaces from a string

function trimAll(string) {

	var newString = '';

	for (var i = 0; i < string.length; i++) {

		if (string.charAt(i) != ' ') newString += string.charAt(i);

	}

	return newString;

}



// Check that a string contains only letters and numbers

function isAlphanumeric(string) {

	return isAlphanumeric1(string, false);

}

function isAlphanumeric1(string, ignoreWhiteSpace) {

	if (string.search) {

		if ((ignoreWhiteSpace && string.search(/[^\w\s]/) != -1) || (!ignoreWhiteSpace && string.search(/\W/) != -1)) return false;

	}

	return true;

}



// Check that the number of characters in a string is between a max and a min

function isValidLength(string, min, max) {

	if (string.length < min || string.length > max) return false;

	else return true;

}



// Check that an email address is valid based on RFC 821 (?)

function isValidEmail(address) {

	if (address.indexOf('@') < 1) return false;

	var name = address.substring(0, address.indexOf('@'));

	var domain = address.substring(address.indexOf('@') + 1);

	if (name.indexOf('(') != -1 || name.indexOf(')') != -1 || name.indexOf('\'') != -1 || name.indexOf('<') != -1 || name.indexOf('>') != -1 || name.indexOf(',') != -1 || name.indexOf(';') != -1 || name.indexOf(':') != -1 || name.indexOf('\\') != -1 || name.indexOf('"') != -1 || name.indexOf('[') != -1 || name.indexOf(']') != -1 || name.indexOf(' ') != -1) return false;

	if (domain.indexOf('(') != -1 || domain.indexOf(')') != -1 || domain.indexOf('<') != -1 || domain.indexOf('>') != -1 || domain.indexOf(',') != -1 || domain.indexOf(';') != -1 || domain.indexOf(':') != -1 || domain.indexOf('\\') != -1 || domain.indexOf('"') != -1 || domain.indexOf('[') != -1 || domain.indexOf(']') != -1 || domain.indexOf(' ') != -1) return false;

	return true;

}

// Check that an email address has the form something@something.something

// This is a stricter standard than RFC 821 (?) which allows addresses like postmaster@localhost

function isValidEmailStrict(address) {

	if (isValidEmail(address) == false) return false;

	var domain = address.substring(address.indexOf('@') + 1);

	if (domain.indexOf('.') == -1) return false;

	if (domain.indexOf('.') == 0 || domain.indexOf('.') == domain.length - 1) return false;

	return true;

}





////////////////////////////////////////////////

////////////////DATE VALIDATION/////////////////

////////////////////////////////////////////////

function isInteger(s){

	var i;

    for (i = 0; i < s.length; i++){   

        // Check that current character is number.

        var c = s.charAt(i);

        if (((c < "0") || (c > "9"))) return (false);

    }

    // All characters are numbers.

    return (true);

}

function stripCharsInBag(s, bag){

	var i;

    var returnString = "";

    // Search through string's characters one by one.

    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++){   

        var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }

    return (returnString);

}

function daysInFebruary (year){

	// February has 29 days in any year evenly divisible by four,

    // EXCEPT for centurial years which are not also divisible by 400.

    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );

}

function DaysArray(n) {

	for (var i = 1; i <= n; i++) {

		this[i] = 31;

		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}

		if (i==2) {this[i] = 29;}

   } 

   return (this);

}

function isDate(dtStr){

	var dtCh= "/";

	var minYear=1900;

	var maxYear=2100;

	

	var daysInMonth = DaysArray(12);

	var pos1 = dtStr.indexOf(dtCh);

	var pos2 = dtStr.indexOf(dtCh,pos1+1);

	var strMonth = dtStr.substring(0, pos1);

	var strDay = dtStr.substring(pos1+1,pos2);

	var strYear = dtStr.substring(pos2+1);

	strYr = strYear;

	if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1);

	if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1);

	for (var i = 1; i <= 3; i++) {

		if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1);

	}

	month = parseInt(strMonth);

	day = parseInt(strDay);

	year = parseInt(strYr);

	if (pos1 == -1 || pos2 == -1){

		//alert("The date format should be : mm/dd/yyyy");

		return (false);

	}

	if (strMonth.length<1 || month<1 || month>12){

		//alert("Please enter a valid month");

		return (false);

	}

	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){

		//alert("Please enter a valid day");

		return (false);

	}

	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){

		//alert("Please enter a valid 4 digit year");// between "+minYear+" and "+maxYear);

		return (false);

	}

	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){

		//alert("Please enter a valid date");

		return (false);

	}

	

	return (true);

}



//

function checkAllCB(cb, blnVal) {

	var iCnt;

	for (iCnt=0; iCnt < cb.length; iCnt++) {

		cb[iCnt].checked = blnVal;

	}

}



function checkAllFRM(frm, blnVal) {

	var iCnt;

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

		if (frm.elements[iCnt].type == 'checkbox') {

			frm.elements[iCnt].checked = blnVal;

		}

	}

}



function isAllChecked(cb, resCb) {

	var iCnt;

	for (iCnt=0; iCnt < cb.length; iCnt++) {

		if (!cb[iCnt].checked) {

			break;

		}

	}

	if (iCnt == cb.length)

		resCb.checked = true;

	else

		resCb.checked = false;

}



function isAnyCheckedFRM(frm, msg) {

	for (var iCnt = 0; iCnt < frm.elements.length; iCnt++) {

		if (frm.elements[iCnt].type.toLowerCase() == "checkbox") {

			if (frm.elements[iCnt].checked) {

				return (true);

			}

		}

	 }

	alert(msg);

	return (false);

}



//

function openFixedWindow(argURL, argSize) {

	window.open(argURL, "newWindow", "resizable=no," + argSize);

}



function openImageWindow(argURL, argSize) {

	window.open(argURL, "newImageWindow", "resizable=yes,scrollbars=yes," + argSize);

}



function clearCombo(varCombo) {

	for (var iCnt = varCombo.options.length; iCnt >= 0; --iCnt)

		varCombo.options[iCnt] = null;

}





function Highlight(e) {

	var r = null;

	

	r = document.getElementById("tr_" + e.value).className;

	

	if (r == "trListValue")

		r = "trListValue1";

	else

		r = "trListValue";

	

	document.getElementById("tr_" + e.value).className = r;

}



function createIDs(e) {

	var nm = e.name;

	var cb = eval("document.frmMain." + e.name);

	

	var t = "";

	var f = "";

	

	if (cb.length) {

		for (var i = 0; i < cb.length; i++) {

			if (cb[i].checked)

				t += "'" + cb[i].value + "',";


			else

				f += "'" + cb[i].value + "',";

		}

		t = t.substr(0, t.length - 1);

		f = f.substr(0, f.length - 1);

	}

	else {

		if (cb.checked)

			t = "'" + cb.value + "'";

		else

			f = "'" + cb.value + "'";

	}

	

	document.getElementById(nm.replace("cb_", "h_")).value = t + "|" + f;

}



function doChangeWay(ctl, val) {

	document.getElementById(ctl).value = val;

	//eval("document.frmMain." + ctl + ".value = val;");

	document.frmMain.submit();

}



function doChangeSort(argSort) {

	var sort = document.frmMain.sort.value;

	var order = document.frmMain.order.value.toLowerCase();

	

	if (sort == argSort) {

		if (order == "asc")

			order = "desc";

		else

			order = "asc";

	}

	else {

		order = "asc";

	}

	document.location = document.frmMain.action + "?sort=" + argSort + "&order=" + order;

}



var popUpWin=0;

function popUpWindow(URLStr,width,height,top,left)

{

  if(popUpWin)

  {

    if(!popUpWin.closed) popUpWin.close();

  }

  popUpWin = open(URLStr, 'SendSms', 'width='+width+',height='+height+',top='+top+',left='+left+'');

}



function messageWindow(title, msg)

{

  var width="300", height="125";

  var left = (screen.width/2) - width/2;

  var top = (screen.height/2) - height/2;

  var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;

  var msgWindow = window.open("","msgWindow", styleStr);

  var head = '<head><title>'+title+'</title></head>';

  var body = '<center>'+msg+'<br><p><form><input type="button" value="   Done   " onClick="self.close()"></form>';

  msgWindow.document.write(head + body);

}





