var dtCh = "-";
var minYear = 1000;
var maxYear = 9999;
var isSubmitted=false;
var isChanged=false;

var browserName=null;
var nAgt = navigator.userAgent;

//alert(nAgt)
//alert(browserName);
	if(browserName==null)
	{
		if (nAgt.indexOf("MSIE")!=-1) {
		 browserName = "Microsoft Internet Explorer";
		}
		// In Opera, the true version is after "Opera" 
		else if (verOffset=nAgt.indexOf("Opera")!=-1) {
		 browserName = "Opera";
		}
		// In Chrome, the true version is after "Chrome" 
		else if (verOffset=nAgt.indexOf("Chrome")!=-1) {
		 browserName = "Chrome";
		}
		// In Safari, the true version is after "Safari" 
		else if (verOffset=nAgt.indexOf("Safari")!=-1) {
		 browserName = "Safari";
		}
		// In Firefox, the true version is after "Firefox" 
		else if (verOffset=nAgt.indexOf("Firefox")!=-1) {
		 browserName = "Firefox";
		}
	}
	
	
function loadProgressBar()
{
	if(document.getElementById("progressImg"))
	{
		document.getElementById("progressImg").style.display="";
	}
}

function unLoadProgressBar()
{
	if(document.getElementById("progressImg"))
	{
		document.getElementById("progressImg").style.display="none";
	}
}

function onLoadCheckBox(objName,selDer)
{
	if(selDer!=null && selDer!="" && selDer!="null")
	{
		var alValues=selDer.split(",");
		var totalSize=document.getElementsByName(objName).length;
		for(var cnt=0;cnt<alValues.length;cnt++)
		{
			for(var tot=1;tot<totalSize;tot++)
			{
				if(alValues[cnt]==document.getElementsByName(objName)[tot].value)
				{
					document.getElementsByName(objName)[tot].checked=true;
					break;
				}
			}
		}
		if((totalSize-1)==alValues.length)
		{
			document.getElementsByName(objName)[0].checked=true;
		}
	}
}

function mandatoryCheck(objName)
{
	if(document.getElementById(objName).value==null  
		|| trim(document.getElementById(objName).value)=="")
	{
		return false;
	}
	return true;
}

function userChanged()
{
	isChanged=true;
}
function mandatoryLenCheck(objName)
{
	if(document.getElementById(objName).value!=null 
			&& trim(document.getElementById(objName).value).length>45)
	{
		return true;
	}
	return false;
}
function trim(a_strString) {
    var cnt;
    var len = a_strString.length;
    var str = a_strString;
    begin = - 1;

    for (cnt = 0; cnt < len; cnt++) {
        if (str.charAt (cnt) == " ") {
            begin = cnt;
        } else
            break;
    }

    str = str.slice (begin + 1, len);
    len = str.length;
    end = len;

    for (cnt = len - 1; cnt >= 0; cnt--) {
        if (str.charAt (cnt) == " ") {
            end = cnt;
        } else
            break;
    }

    str = str.slice (0, end);
    return str;
}

function check(objName)
{
	
	var totalChkBox=document.getElementsByName(objName).length;
	var checkedSize=0;
	if(document.getElementsByName(objName+"Any")[0])
	{
		document.getElementsByName(objName+"Any")[0].checked=false;
	}
	if(document.getElementsByName(objName+"None")[0])
	{
		document.getElementsByName(objName+"None")[0].checked=false;
	}
	for(var tot=1;tot<totalChkBox;tot++)
	{
		if(document.getElementsByName(objName)[tot].checked)
		{
			checkedSize=checkedSize+1;
		}
		else
		{
			break;
		}	
	}
	
	if(checkedSize==(totalChkBox-1))
	{
		document.getElementsByName(objName)[0].checked=true;
	}
	else
	{
		document.getElementsByName(objName)[0].checked=false;
	}
	
}

function checkAll(objName)
{
	var totalChkBox=document.getElementsByName(objName).length;
	if(document.getElementsByName(objName+"Any")[0])
	{
		document.getElementsByName(objName+"Any")[0].checked=false;
	}
	if(document.getElementsByName(objName+"None")[0])
	{
		document.getElementsByName(objName+"None")[0].checked=false;
	}
	if(document.getElementsByName(objName)[0].checked)
	{
		subCheckAll(objName,totalChkBox,true);
	}
	else 
	{
		subCheckAll(objName,totalChkBox,false);
	}
	
}

function unCheckAll(objName,str)
{
	
	var val=objName.indexOf(str);
	var obj=objName.substring(0,val);
	var totalChkBox=document.getElementsByName(obj).length;
	if(str=='Any')
	{
		if(document.getElementsByName(obj+"None")[0])
		{
			document.getElementsByName(obj+"None")[0].checked=false;
		}
	}
	else
	{
		if(document.getElementsByName(obj+"Any")[0])
		{
			document.getElementsByName(obj+"Any")[0].checked=false;
		}
	}
	subCheckAll(obj,totalChkBox,false);
}

function subCheckAll(objName,totalChkBox,result)
{
	for(var cnt=0;cnt<totalChkBox;cnt++)
	{
		document.getElementsByName(objName)[cnt].checked=result;
	}
}

function getValue(objName)
{
	var totalChkBox=document.getElementsByName(objName).length;
	var checkedBox="";
	for(var checked=1;checked<totalChkBox;checked++)
	{
		if(document.getElementsByName(objName)[checked].checked)
		{
			if(checkedBox=="")
			{
				checkedBox=document.getElementsByName(objName)[checked].value;
			}
			else
			{
				checkedBox=checkedBox+","+document.getElementsByName(objName)[checked].value;
			}
		}
	}
	return checkedBox;
}


function getRadioValue(objName)
{
	var totalRadio=document.getElementsByName(objName).length;
	var radioVal="";
	for(var checked=0;checked<totalRadio;checked++)
	{
		if(document.getElementsByName(objName)[checked].checked)
		{
			radioVal=document.getElementsByName(objName)[checked].value;
		}
	}
	return radioVal;
}

function viewGrp(objName,grpId,contextPath)
{
	if(document.getElementById("tabGroup"+grpId).style.display=="")
	{
		document.getElementById("tabGroup"+grpId).style.display="none";
		document.getElementById(objName).src=contextPath+"/webimg/expandicon.jpg";
	}
	else
	{
		document.getElementById("tabGroup"+grpId).style.display="";
		document.getElementById(objName).src=contextPath+"/webimg/collapseicon.jpg";
	}
}


function viewList(imgName,objName,contextPath)
{
	if(document.getElementById(objName).style.display=="")
	{
		document.getElementById(objName).style.display="none";
		document.getElementById(imgName).src=contextPath+"/webimg/collapse.jpg";
	}
	else
	{
		document.getElementById(objName).style.display="";
		document.getElementById(imgName).src=contextPath+"/webimg/expand.jpg";
	}
}

function viewMenu(objName,menuId,contextPath,totSize)
{
	for(var i=0;i<totSize;i++)
	{
		var obj=document.getElementById("sub"+menuId+i);
		if(obj)
		{
			if(obj.style.display=="")
			{
				obj.style.display="none";
				document.getElementById(objName).src=contextPath+"/webimg/collapse.jpg";
			}
			else
			{
				obj.style.display="";
				document.getElementById(objName).src=contextPath+"/webimg/expand.jpg";
			}
		}
	}
}

function mandatoryChk(radioVal,grpId)
{
	if(radioVal=="D" || radioVal=="C")
	{
		if(radioVal=="D")
		{
			if(document.getElementById("txtTimePrd"+grpId).value=="")
			{
				alert('Number of days should not be empty');
				document.getElementById("txtTimePrd"+grpId).focus();
				return false;
			}
			else if(document.getElementById("txtTimePrd"+grpId).value<=0 || document.getElementById("txtTimePrd"+grpId).value>120)
			{
				alert('Number of days should be between 1 and 120');
				document.getElementById("txtTimePrd"+grpId).focus();
				return false;
			}
		}
		else 
		{
			var stDate=document.getElementById("txtStartDate"+grpId).value;
			var edDate=document.getElementById("txtEndDate"+grpId).value;
			if(!ValidateDate("txtStartDate"+grpId) || !ValidateDate("txtEndDate"+grpId))
			{
				return false;
			}
			if(stDate!="" && edDate!="")
			{
				return compareTwoDates(stDate,edDate);
			}
		}
	}
	else if(radioVal=="MOY")
	{
		var dteNow = new Date();
		var currYear = dteNow.getFullYear();
		var currMonth=dteNow.getMonth();
		var selMonth=document.getElementById("monthDrpDwn"+grpId)[document.getElementById("monthDrpDwn"+grpId).selectedIndex].value;
		var selYear=document.getElementById("yearDrpDwn"+grpId)[document.getElementById("yearDrpDwn"+grpId).selectedIndex].value;
		if(currYear<selYear)
		{
			alert('Selected year should not be greater than the current year');
			return false;
		}
		else if(selYear==currYear && currMonth<selMonth)
		{
			alert('Selected month should not be greater than the current month');
			return false;
		}
	}
	return true;
}


/**
Function used tocheck for a  charecter 
  * @param str   -String Passed.
*/
function chkChar(event) {
	var key =
		  event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 var pressedKey = String.fromCharCode (key).toLowerCase ();
 if (key == 13) {
     key = 9;
     return true;
 } else {
     if (((key >= 48) && (key <= 57))
         || ((key >= 96) && (key <= 107)) || (key == 8)
         || (key == 9) || (key == 189) || (key == 16) || (key == 39)
         || (key == 46) || (key == 45) || (key == 17)  || ((event.ctrlKey
         && (pressedKey == "c" || pressedKey == "z" || pressedKey == "a" || pressedKey == "v"))))
         {
        return true;
     } else {
         return false;
     }
 }
}

function isProper(formField) {
	var string = document.getElementById(formField).value.length;
	var value=document.getElementById(formField).value;
	var iChars = "~!@#$%%^&*()=_+}{[]?></|\\'";
	var doubleQuote='"';
	for (var i = 0; i < string; i++) 
	{
		if (iChars.indexOf(value.charAt(i)) != -1 || doubleQuote.indexOf(value.charAt(i)) != -1)
		{
			alert('Name Should not contain any Special Character.');
			document.getElementById(formField).value="";
			document.getElementById(formField).focus();
			break;
		}	
	}
}



function addMail(id,maxRow)
{
	var tbody = document.getElementById
	(id);
	var row = document.createElement("TR");
	var td1 = document.createElement("TD");
	var S = document.createElement("input");
	S.setAttribute("type","text");
	S.setAttribute("size","25");
	S.setAttribute("className","content-input");
	S.setAttribute("name","email"+(maxRow));
	S.setAttribute("id","email"+(maxRow));
	td1.appendChild(S);	
	row.appendChild(td1);
	tbody.appendChild(row);
}

function addCondition(id,val,condVal,queryComVal,type)
{
	var tbody = document.getElementById
	(id);
	var maxRow = tbody.rows.length+1;
	var row = document.createElement("TR");
	addNewDropDown(row,val,"condition"+maxRow,"content-droplist",20,"false",type);
	addNewDropDown(row,condVal,"queryCond"+maxRow,"content-smalldroplist",10,"false",type);
	addNewText(row,"inputCondVal"+maxRow);
	if(type==2 || type==3)
	{
		addNewDropDown(row,queryComVal,"queryCombine"+maxRow+maxRow,"content-smalldroplist",10,"false",type);
		subCondition(row,""+maxRow+maxRow,val,condVal,queryComVal);
		if(type==3)
		{
			addNewDropDown(row,queryComVal,"queryCombine"+maxRow+maxRow+"a","content-smalldroplist",10,"false",type);
		}
	}
	tbody.appendChild(row);
	if(type==3)
	{
		var secRow = document.createElement("TR");
		subCondition(secRow,""+maxRow+maxRow+maxRow,val,condVal,queryComVal);
		addNewDropDown(secRow,queryComVal,"queryCombine"+maxRow+maxRow+maxRow,"content-smalldroplist",10,"false",type);
		subCondition(secRow,""+maxRow+maxRow+maxRow+maxRow,val,condVal,queryComVal);
		tbody.appendChild(secRow);
	}
}



function removeRowFromTable(id)
{
	
	var tbody = document.getElementById(id);
	var lastRow = tbody.rows.length;
	if(document.getElementById("condition"+(lastRow-1)+(lastRow-1)+(lastRow-1)))
	{
		tbody.deleteRow(lastRow-1);
		tbody.deleteRow(lastRow-2);
	}
	else if(lastRow!=0)
	{
		tbody.deleteRow(lastRow-1);
	}
	
}

function removeAllRowFromTable(id)
{
	var tbody = document.getElementById(id);
	var lastRow = tbody.rows.length;
	for(var cnt=lastRow;cnt>0;cnt--)
	{
		tbody.deleteRow(cnt-1);
	}
}

function subCondition(row,maxRow,val,condVal,queryComVal,type)
{
	addNewDropDown(row,val,"condition"+maxRow,"content-droplist",20,"false",type);
	addNewDropDown(row,condVal,"queryCond"+maxRow,"content-smalldroplist",10,"false",type);
	addNewText(row,"inputCondVal"+maxRow);
}

function createSelGrpAndOrdField(id,val,dropDownObj,dropDownObj2,type,heading)
{
	var tbody = document.getElementById
	(id);
	var row = document.createElement("TR");
	var td1 = document.createElement("TD");
	td1.className='content-label';
    td1.innerHTML=heading;
    td1.colSpan=2;
	row.appendChild(td1);
	tbody.appendChild(row);
	row = document.createElement("TR");
	addNewDropDown(row, val, dropDownObj, "content-list", 20,"true",type);
	addNewButton(row, "rightButton"+type,">>","leftButton"+type,"<<",2,type);
	addNewDropDown(row, "", dropDownObj2, "content-list", 20,"true",type);
	tbody.appendChild(row);
}


function addNewDropDown(obj,val,objName,className,width,multiple,type)
{
	var td1 = document.createElement("TD");
	var S = document.createElement("select");
	S.setAttribute("className",className);
	S.setAttribute("name",objName);
	S.setAttribute("id",objName);
	S.className=className;
	if(type=='Sel')
	{
		if(navigator.appName=="Microsoft Internet Explorer")
		{
			S.onchange=changeSelectField;
		}
		else
		{
			S.setAttribute("onchange", changeSelectField);
		}
	}
	if(multiple=="true")
	{
		S.setAttribute("multiple", multiple);
	}
	var tot=val.length;
	for(var cnt=0;cnt<tot;cnt++)
	{
		var O=document.createElement("OPTION");
		if(navigator.appName=="Netscape")
		{
			O.appendChild(document.createTextNode(val[cnt]));
		}
		else if(navigator.appName=="Microsoft Internet Explorer")
		{
			O.text=val[cnt];
		}
		O.setAttribute("value",val[cnt]);
		S.options.add(O);
	}
	td1.setAttribute("width", width);
	td1.appendChild(S);	
	obj.appendChild(td1);
}


function addNewText(obj,objName)
{
	var td1 = document.createElement("TD");
	var S = document.createElement("input");
	S.setAttribute("type","text");
	S.setAttribute("size","25");
	S.setAttribute("className","content-input");
	S.setAttribute("name",objName);
	S.setAttribute("id",objName);
	td1.appendChild(S);	
	obj.appendChild(td1);
}

function addNewButton(obj,objName,value,objName2,value2,size,type)
{
	var td1 = document.createElement("TD");
	subAddNewButton(objName, value, td1,size,type);
	td1.appendChild(document.createElement('br'));
	td1.appendChild(document.createElement('br'));
	subAddNewButton(objName2, value2, td1,size,type);
	obj.appendChild(td1);
}

function subAddNewButton(objName,value,td1,size,type)
{
	var s = document.createElement("input");
	var methodName="";
	s.setAttribute("type","button");
	s.setAttribute("width",size);
	s.setAttribute("className","content-act-btn");
	s.setAttribute("name",objName);
	s.setAttribute("id",objName);
	s.setAttribute("value", value);
	s.className="content-act-btn";
	if(type=='Sel')
	{
		if(objName=="rightButton"+type)
		{
			methodName=addSelField;
		}
		else
		{
			methodName=removeSelField;
		}
	}
	else if(type=='Grp')
	{
		if(objName=="rightButton"+type)
		{
			methodName=addGrpField;
		}
		else
		{
			methodName=removeGrpField;
		}
	}
	else
	{
		if(objName=="rightButton"+type)
		{
			methodName=addOrdField;
		}
		else
		{
			methodName=removeOrdField;
		}
	}
	s.onclick=methodName;
	td1.appendChild(s);	
	
}

function selectVal()
{
	alert('rightButtonSel');
}

function selectedVal()
{
	alert('leftButtonSel');
}

function chkMail(totalMail)
{
	for(var i=0;i<=totalMail;i++)
	{
		if(document.getElementById("email"+i) && document.getElementById("email"+i).value!="")
		{
			return true;
		}
	}
	return false;	
	
}


function validEmail(totalMail) {

	var at="@";
	var dot=".";
	var isError=false;
	for(var i=0;i<=totalMail;i++)
	{
		if(document.getElementById("email"+i) && document.getElementById("email"+i).value!=null && document.getElementById("email"+i).value!="")
		{
			var str=document.getElementById("email"+i).value;
			var lat=str.indexOf(at);
			var lstr=str.length;
			var ldot=str.indexOf(dot);
			if (lat==-1){
				isError=true;
				break;
			}
			else if (lat==-1 || lat==0 || lat==lstr){
				isError=true;
				break;
			}
			else if (ldot==-1 || ldot==0 || ldot==lstr){
				isError=true;
				break;
			}
			else if (str.indexOf(at,(lat+1))!=-1){
				isError=true;
				break;
			 }
			else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
				isError=true;
				break;
			 }
			else if (str.indexOf(dot,(lat+2))==-1){
				isError=true;
				break;
			 }
			 else if (str.indexOf(" ")!=-1){
					isError=true;
					break;
			 }
			
		}
	}
	if(isError)
	{
		document.getElementById("email"+i).focus();
		document.getElementById("email"+i).value="";
		return false;
	}
	 return true;					
}

function getRadioValue(objName,grpId)
{
	var totalRadio=document.getElementsByName(objName).length;
	var radioVal="";
	for(var checked=0;checked<totalRadio;checked++)
	{
		if(document.getElementsByName(objName)[checked].checked)
		{
			radioVal=document.getElementsByName(objName)[checked].value;
		}
	}
	return radioVal;
}

function isReportNameExist(name,dbId,dbName)
{
	if(dbName!=null && dbName!='null')
	{
		var userNames=dbName.split("||");
		var length=userNames.length;
		for(var cnt=0;cnt<length;cnt++)
		{
			var temp=userNames[cnt].split("&&");
			var id=temp[0];
			var nm=temp[1];
			if((id!=dbId || dbId==0) && nm.toLowerCase()==name.toLowerCase())
			{
				return false;	
			}
		}	
	}
	return true;
}

function showClassName(event,className) {
	 
	var evt = event || window.event; // event object
	var target = evt.target || window.event.srcElement; // event target
	target.className = className;
   
}

function isAlreadyExist(name,id,sessionDetails,obj)
{
	
	if(sessionDetails!=null && sessionDetails!='null')
	{
		var details=sessionDetails.split("||");
		var length=details.length;
		for(var cnt=0;cnt<length;cnt++)
		{
			var temp=details[cnt].split("&&");
			var idTemp=temp[0];
			var nameTmp=temp[1];
			if((idTemp!=id || id==0) && nameTmp.toLowerCase()==name.toLowerCase())
			{
				obj.style.display="";
				return false;	
			}
		}	
	}
	return true;
}

function enableTextBox(grpId,value)
{
	if(value=="D")
	{
		makeEmpty(document.getElementById("txtStartDate"+grpId));
		makeEmpty(document.getElementById("txtEndDate"+grpId));
	}else if(value=="C")
	{
		makeEmpty(document.getElementById("txtTimePrd"+grpId));
	}else
	{
		makeEmpty(document.getElementById("txtStartDate"+grpId));
		makeEmpty(document.getElementById("txtEndDate"+grpId));
		makeEmpty(document.getElementById("txtTimePrd"+grpId));
	}		
}

function makeEmpty(objName)
{
	objName.value='';
}

// Below function is used to get the object for the ajax based on the browser
function getXMLObject()  //XML OBJECT
{
   var xmlHttp = false;
   try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
   }
   catch (e) {
     try {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
     }
     catch (e2) {
       xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
   }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
     xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
   }
   return xmlHttp;  // Mandatory Statement returning the ajax object created
}

function emptyList( box ) {
	// Set each option to null thus removing it
	while ( box.options.length ) box.options[0] = null;
}

function getListBoxValues(obj,seperator)
{
	var value="";
	for (var i = 0; i < obj.length; i++) {
			if(obj.options[i].selected)
			{
   			if(value=="")
   			{
   				value=obj.options[i].value;
   			}
   			else
   			{
					value=value+seperator+obj.options[i].value;
   			}
			}
	    }
    return value;
}
