//Define Browser
var isNetsc=((navigator.appName == "Netscape")&&(navigator.userAgent.indexOf("Gecko")!=-1))
//*****************************************************************
var Flag
var dayNames = new Array ("Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday")
var monthNames = new Array ("January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December")

/**************************************************************************/
/****************************************************************/
function StripNonNumeric(s)
{//Cleans non numeric characters in numeric fields
var i,res =""
for (i = 0; i< s.length; i++)
	{
		if (s.substr(i, 1) >= "0" && s.substr(i,1) <= "9")
			res += s.substr(i, 1);
	}
return res;
}
function numberPlease(evt) 
{//Checks for numeric keypressed and restricts none numeric characters
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) 
    {
        var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : 
                       ((evt.keyCode) ? evt.keyCode : evt.which);
        if (charCode > 13 && (charCode < 48 || charCode > 57)) 
        {
           if (evt.preventDefault) 
			   evt.preventDefault();
           else 
               evt.returnValue = false;
        }
    }
}
function isEmpty(str)
{
	if (str=="") return true;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if (ch!=" ") return false;
	}
	return true;
}
function isEqual(str1,str2)
{
	if (str1 == str2)return true;
	return false;
}

function isAlphaNumeric(ch)
{	
	if (ch.length!=1) return false;
	if ((ch>="a" && ch<="z")||(ch>="A" && ch<="Z") || (ch>="0" && ch<="9"))  
		return true ;
	else 												
		return false;
}
function isInteger(str)
{
	if (isEmpty(str)) return false;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if (ch<"0" || ch > "9" ) return false;
	}
	return true;
}
function isNumber(str)
{
	if (isEmpty(str)) return false;
	var j=0;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if ((ch<"0" && ch !=".") || (ch > "9" && ch !=".")) return false;
		if (ch=='.') j++;
	}
	if (j>1) return false;
	return true;
}

function isPositiveInteger(str)
{
	if(!isInteger(str)) return false;
	if (eval(str)<=0) return false;
	return true;
}
function warning(txtObj,msg)
{
	alert(msg);
	txtObj.select();
	txtObj.focus();
}
function isMMDDYYYY1(str)
{
	if (str=="") return false;
	if (str.substring(2,3)!="/") return false;
	if (str.substring(5,6)!="/") return false;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if ((ch<"0" && ch !="/") || (ch > "9" && ch !="/")) return false;		
	}
	return true;	
}
function isMMDDYYYY(str)
{
	var d=0;
	var m=0;
	var y=0;
	var m1=0;
	var d1=0;
	var dd="";
	var mm="";
	var yyyy="";
	for (var i=0;i<str.length;i++)
	{
		if (str.substring(i,i+1)=="/" && d==0 && m==0)
			{
				dd=str.substring(0,i);
				d=1;
				d1=i;
				//alert(d1);
				continue;
			}
		if (str.substring(i,i+1)=="/" && d==1 && m==0)
			{
				mm=str.substring(d1+1,i);
				m=1;
				m1=i;
				//alert(m1)
			}
	}
		yyyy=str.substring(m1+1,str.length+1);
		//alert(dd);
		//alert(mm)
		//alert(yyyy)
		if (dd.length>2) return false
		if (mm.length>2) return false
		if (!(yyyy.length==4 || yyyy.length==2)) return false
		for (var i=0; i<dd.length; i++)
		{
			var ch=dd.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
		for (var i=0; i<mm.length; i++)
		{
			var ch=mm.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
		for (var i=0; i<yyyy.length; i++)
		{
			var ch=yyyy.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
return true;		
}
function isHHMM(strTime)
{ //'Check length of string, must be 8 characters long:
            if (strTime.length !=8)      
            {
                if (strTime.length == 7) strTime = "0" + strTime;
                else  return false;
            }
            //'Check hours, must be between 0 and 12:
            intTemp = parseInt( strTime.slice(0,2));
            if (intTemp < 0 || intTemp > 12) return false;
            //'Check that colon is in space 3:
            if (strTime.charAt(2) != ':') return false;
            //'Check minutes, must be between 0 and 59:
            intTemp = parseInt( strTime.slice(3,5) );
            if (intTemp < 0 || intTemp > 59) return false;
            //'Check that final 2 chars are am or pm:
            if (!(strTime.slice(6,8).toUpperCase() == 'AM'||strTime.slice(6,8).toUpperCase() == 'PM'))
				return false
	return true	 
}
function isEmail(str)
{	
	if (isEmpty(str)) return false;
	var signCount=0;
	var signDot=0;
	var chAfterSignCount="";
	
	for (var i=0;i<str.length;i++)
	{	
		var ch=str.substring(i,i+1);
		if (i==0 && !isAlphaNumeric(ch)) 
		{
			alert(ch)
			alert(isAlphaNumeric(ch))
			return false;
		}
		if (ch=="@")
		{
			signCount++;
			var ch1=str.substring(i+1,i+2);
			if (!isAlphaNumeric(ch1)) return false;
		}
		if (ch==".")
		{
			signDot++;
			var ch1=str.substring(i+1,i+2);
			if (!isAlphaNumeric(ch1)) return false;
		}
	}
	if (signCount!=1) return false
	if (signDot<1) return false
return true;
}

function isPhoneNumber(area,part1,part2,ext)
{
	if(area.length!=3 || part1.length!=3 || part2.length!=4)
		return false;
	if(!isInteger(area) || !isInteger(part1) || !isInteger(part2))
		return false;
	if(ext!="" && !isInteger(ext))
		return false;
	
return true;
}

function isExpired(month,year)
{
	if(!isInteger(month) || !isInteger(year))
		return true;
	today=new Date();
	theDate=new Date(year,month,01)
	if(today>=theDate) return true;
	
return false;
}
/***********************************************************************/
//New Date validation

function isDateValid(dateString)
{var arrDate=dateString.split("/")
if(arrDate.length<3) return false;
var chk=true;
var maxDay=0;
var mm=arrDate[0];
var dd=arrDate[1];
	if(arrDate[2].length==2)(arrDate[2]>50)? arrDate[2]="19"+arrDate[2] :  arrDate[2]="20"+arrDate[2]
var yyyy=arrDate[2];
// calling function to get maximum day for this month
maxDay = max_day(mm, yyyy);  
	if(dd <= 0 || dd > maxDay) chk = false;
	else if(mm <= 0 || mm > 12)  chk = false;
	else if(isNaN(yyyy) || yyyy <= 0)  chk = false; 
return chk;
}
 
function max_day(mn, yr)
{
var mDay;
	if(mn == 4 || mn == 6 || mn == 9 || mn == 11) mDay = 30;
	else if(mn == 2) {mDay = isLeapYear(yr) ? 29 : 28;}    
	else mDay = 31;
return mDay; 
}

function isLeapYear(yr)
{
if (yr % 4 != 0)  return false;
else if (yr % 400 == 0)  return true;
else if (yr % 100 == 0)  return false;
else  return true;
}
/****************************************************************/
function CheckLength(FieldNamesArr,spanName,msg,reqlen)
{//Evaluates Phone for correct format ### ### #### or empty with reqlen field
var cnt=0
	for(j=0;j<FieldNamesArr.length;j++)
		cnt+=document.getElementById(FieldNamesArr[j]).value.length
		
		if (cnt<reqlen) //&& cnt!=0)
			{document.getElementById(spanName).innerHTML="<font color=red>Invalid " +msg+ " Number</font>";
			 Flag=false}
		else
			document.getElementById(spanName).innerHTML="";
}
/****************************************************************/
function tabText(from,to,len)
{//Moves Cursor to the next field according to the specified length
	if(document.getElementById(from).value.length==len)
		{
			document.getElementById(to).focus()
			document.getElementById(to).select()
		}
}
/****************************************************************/

function createLinks(start,cntLinks,qryStr)
{	var ItemsPerPage=20;
	var pageCount=Math.ceil(cntLinks/ItemsPerPage);
	var links="";
	var i;
	var end;
	i=((start/ItemsPerPage)<ItemsPerPage/2)?0:(start/ItemsPerPage)-(ItemsPerPage/2)
	end=((start/ItemsPerPage)+(ItemsPerPage/2)>pageCount)?pageCount:(start/ItemsPerPage)+(ItemsPerPage/2)
	if(end>1){
		links+=(start>0)?"<a href='?start="+(start-ItemsPerPage)+ qryStr + "'><<</a>&nbsp;":"&nbsp;&nbsp;&nbsp;&nbsp;"
		for (i;i<end;i++) 
			{
			if (start==i*ItemsPerPage) links+="<font color=red>"+(i+1)+"&nbsp;</font>"
			else links+="<a href='?start="+(i*ItemsPerPage)+ qryStr +"'>"+(i+1)+"</a>&nbsp;"
			}
		if((start+ItemsPerPage)<cntLinks)links+="<a href='?start="+(start+ItemsPerPage)+ qryStr+"'>>></a>"
		}
	return links;
}
function _createLinks(start,ItemsPerPage,cntLinks,qryStr)
{	var pageCount=Math.ceil(cntLinks/ItemsPerPage);
	var links="";
	var i;
	var end;
	i=((start/ItemsPerPage)<ItemsPerPage/2)?0:(start/ItemsPerPage)-(ItemsPerPage/2)
	end=((start/ItemsPerPage)+(ItemsPerPage/2)>pageCount)?pageCount:(start/ItemsPerPage)+(ItemsPerPage/2)
	if(end>1){
		links+=(start>0)?"<a href='?" + qryStr + "&start="+(start-ItemsPerPage) + "'><<</a>&nbsp;":"&nbsp;&nbsp;&nbsp;&nbsp;"
		for (i;i<end;i++) 
			{
			if (start==i*ItemsPerPage) links+="<font color=red>"+(i+1)+"&nbsp;</font>"
			else links+="<a href='?" + qryStr + "&start="+(i*ItemsPerPage) +"'>"+(i+1)+"</a>&nbsp;"
			}
		if((start+ItemsPerPage)<cntLinks)links+="<a href='?" + qryStr + "&start="+(start+ItemsPerPage)+"'>>></a>"
		}
	return links;
}
/*
function Result(title,link,dateandtime)
{this.title=title;
this.link=link;
this.dateandtime=dateandtime};
var Results;
var ItemsPerPage=20;
var cntLinks=20;
var pageCount=Math.ceil(Results.length/ItemsPerPage);
RCNT.innerText=Results.length;
changeDisplay(0,ItemsPerPage);
function changeDisplay(start)
{
var total;	
var str="";
	createLinks(start,eval(ItemsPerPage));
	total=ItemsPerPage;
	str="<table id='tblBreakingNews' cellspacing='0'><tr><th>Breaking News</th><th>"
	str+="<span class='poweredby'>powered by: <a href=''>BioWire2K</a></span></th></tr>"
	for(var i=start;i<start+total;i++)
		{
			if(i<Results.length){
				if (i%2==0)	str+="<tr class='altrow'><td colspan='2'><h4>"+Results[i].dateandtime+"</h4><h3><a href='"+Results[i].link+"'>"+Results[i].title+"</a></h3></td></tr>";
				else str+="<tr class='row'><td colspan='2'><h4>"+Results[i].dateandtime+"</h4><h3><a href='"+Results[i].link+"'>"+Results[i].title+"</a></h3></td></tr>";
			}
		}
	str+="</table><hr>";
	display.innerHTML =str;
}*/




//********************* for arcticle pages in admin
function replaceMarks(a,c,title,text){
	var b=''; var d='';
// aaaa ” & “ aaaa ’ aaaa
	//***’ = 8217  or ' charcode = 39
	//*** ” = 8221 & “ = 8220 or " charCode = 34
	for (var i=0;i<=a.length;i++){
		if(a.charCodeAt(i)==8217){
			b += a.charAt(i).replace(String.fromCharCode(8217),String.fromCharCode(39));
		}
		else
		if(a.charCodeAt(i)==8221){
			b += a.charAt(i).replace(String.fromCharCode(8221),String.fromCharCode(34));
		}
		else
		if(a.charCodeAt(i)==8220){
			b += a.charAt(i).replace(String.fromCharCode(8220),String.fromCharCode(34));
		}
		else{	b += a.charAt(i);}
	}
	
	for (var i=0;i<=c.length;i++){
		if(c.charCodeAt(i)==8217){
			d += c.charAt(i).replace(String.fromCharCode(8217),String.fromCharCode(39));
		}
		else
		if(c.charCodeAt(i)==8220){
			d += c.charAt(i).replace(String.fromCharCode(8220),String.fromCharCode(34));
		}
		else
		if(c.charCodeAt(i)==8221){
			d += c.charAt(i).replace(String.fromCharCode(8221),String.fromCharCode(34));
		}
		else{	d += c.charAt(i);}
	}
	title.value = b;
	text.value = d;
}

