function layerSetup(id,visibility){
	if(document.getElementById){
		this.obj = document.getElementById(id).style;
		this.obj.visibility = visibility;
		return this.obj;
	}
	else if(document.all){
		this.obj = document.all[id].style;
		this.obj.visibility = visibility;
		return this.obj;
	}
	else if(document.layers){
		this.obj = document.layers[id];
		this.obj.visibility = visibility;
		return this.obj;
	}
}

function visVisible(param){
	new layerSetup(param,'visible');
}
function visHidden(param){
	new layerSetup(param,'hidden');
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  
	if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showmenu(menuid)
{
	document.getElementById(menuid).style.display="inline";
	document.getElementById(menuid).style.position="absolute";
}
function hidemenu(menuid)
{
	document.getElementById(menuid).style.display="none";
}
function ChangeBg(element)
{
	element.style.backgroundColor = "#E63B2C";
	element.style.cursor="hand";
	if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#ffffff";
}
function RechangeBg(element)
{
	element.style.background = "#E6E8E7";
	if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#5F6CD9";

}

function validate(frm)
{
	frm=document.frm1;
	str="";
	if(frm.txt_usrname.value=="Username")
	{
		str +="Username.\n";
	}
	if(frm.txt_pwd.value=="Password")
	{
		str +="Password.\n";
	}
	if(str!="")
	{
		frm.txt_usrname.focus();
		msg = "Please Enter The Following Details:\n";
		msg = msg + "-----------------------------------\n";
		msg = msg + str;
		alert(msg);
		return false;
	}
	else{
		frm.submit();
	}
}

function IsvalidEmail(mailid) {		
	var str=mailid
	var flag=true;
	var at="@";
	var dot=".";
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1) {
		flag=false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		flag=false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		flag=false;
	if (str.indexOf(at,(lat+1))!=-1)
		flag=false;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		flag=false;
	if (str.indexOf(dot,(lat+2))==-1)
		flag=false;
	if (str.indexOf(" ")!=-1)
		flag=false;
	 if(flag)
		return true;
	 else
	 return false;
}
function Trim(s)  {
  // Remove leading spaces and carriage returns
	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
		s = s.substring(1,s.length);
	}
	// Remove trailing spaces and carriage returns
	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
		s = s.substring(0,s.length-1);
	}
	return s;
}

function IsNumeric(strString) { //  check for valid numeric strings	
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}
function validateform(evt) {
	if (evt.keyCode == 13) {
		submitform();
	}
}

function formvalidate(array_fields,array_message) {
	var alertfields="";
	var setfocus="";
	var i;
	for(i = 0; i < array_fields.length; i++) {
		if(Trim(document.getElementById(array_fields[i]).value) == "") {
			alertfields+="- " + array_message[i] + "\n";
			if (setfocus=="") {
				 setfocus=array_fields[i];
			}
		}		
	}
	if (alertfields!="") {
		alert("The following field(s) cannot be left blank:\n\n"+alertfields+"\nPlease fill these fields.");
		document.getElementById(setfocus).focus();
		return false;		
	}
	return true;
}
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

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 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
}
//	Input Date checking codes ends here

/*********************************************************************************************/
var startDate;
var endDate;
var ONEDAY = 3600 * 24;

function resetDates() {
	startDate = endDate = null;
}

function filterDates1(cal) {
	var date = cal.date;
	startDate = date.getTime()
	/* If they haven't chosen an 
	end date before we'll set it to the same date as the start date This
	way if the user scrolls in the start date 5 months forward, they don't
	need to do it again for the end date.
	*/

	if (endDate == null) { 
		Zapatec.Calendar.setup({
			inputField     :    "txt_date5",
			button         :    "calendar9",  // What will trigger the popup of the calendar
			ifFormat       :    "%m/%d/%Y",
			date           :     startDate,
			showsTime      :     false,          //no time
			dateStatusFunc :    disallowDateBefore, //the function to call
			onUpdate       :    filterDates2
		});
	}
}

function filterDates2(cal) {
	
	var date = cal.date;
	//	alert(date);
	endDate = date.getTime()
}

function disallowDateBefore(date) {
	//alert(date);
	date = date.getTime();
	if ((startDate != null) && (date < (startDate + ONEDAY))) {
		//start date can't be prior to end date
		return true; 
	} 
	var now = new Date().getTime();
	if (date < (now - ONEDAY)) {
		//start date can't be prior to today
		return true;
	}
	return false;
}

function disallowDateAfter(date) {
	date = date.getTime();
	if ((endDate != null) && (date > (endDate - ONEDAY))) {
		//end date can't be before start date
		return true;
	} 

	var now = new Date().getTime();
	if (date < (now - ONEDAY)) {
		//end date can't be prior to today
		return true;
	}
	return false;
}


/*function ChangeBg(element) {
	element.style.background = "#FFFFFF";
	element.style.cursor="pointer";
	//if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#5F6CD9";
}
function RechangeBg(element) {
	element.style.background = "#E6E8E7";
	//if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#000100";
}*/

function ListEventChangeBg(ele) {
	ele.bgColor="#FFFFFF";
	ele.style.color='#A53694';
	ele.childNodes[0].src="images/left_arrow.gif";
}
function ListEventRechangeBg(ele) {
	ele.bgColor="#E6E8E7";
	ele.style.color='';
	ele.childNodes[0].src="images/right_arrow.gif";
}

/*function changeImg(img1,img2) {
	alert(img1.src);
	document.images[img1].src = "images/login_patients.jpg";
	//document.images[img2].src = "images/img6.gif";
	document.images[img2].src = "images/login_providers_over.jpg";
	//document.getElementById("backimg").style.background = "url('images/right_content_bg1.gif')";
	//document.getElementById("typeuser").value='dealer';
	//document.getElementById("searchtype").value='dealer';
	//alert(document.getElementById("typeuser").value);
	//document.getElementById("lbl_name").innerHTML = "Type your Dealer name";
}
function changeRestoreImg(img1,img2) {
	document.images[img1].src = "images/login_providers_over.jpg";
	//document.images[img2].src = "images/img5.gif";
	document.images[img2].src = "images/login_patients.jpg";
	//document.getElementById("backimg").style.background = "url('images/right_content_bg2.gif')";
	//document.getElementById("typeuser").value='individual';
	//document.getElementById("searchtype").value='individual';
	//alert(document.getElementById("typeuser").value);
	//document.getElementById("lbl_name").innerHTML = "Type your Individual name";
}*/
function ChangeBg1(element) {
	element.style.background = "#FFFFFF";
	element.style.cursor="pointer";
	//if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#5F6CD9";
}
function RechangeBg1(element) {
	element.style.background = "#E6E8E7";
	//if(element.getElementsByTagName("a")[0])element.getElementsByTagName("a")[0].style.color = "#000100";
}
function populateSelectbox(obj,value) {
	for(i = 0; i<obj.length; i++)
		if (obj[i].value.toLowerCase() == value.toLowerCase()) 
			obj[i].selected = true;
}
function viewFilebox(id,id1,id2) {
	$("#"+id1+",#"+id2).fadeOut("slow");
	inter=window.setInterval('clearInt("'+id+'")',900);
	return false;
}
function clearInt(id) {
	window.clearInterval(inter);
	$("#"+id).fadeIn("slow");
}
