﻿String.prototype.trim = function() {

	var x=this;
  x=x.replace(/^\s*(.*)/, "$1");
  x=x.replace(/(.*?)\s*$/, "$1");
  return x;
}


var CtrlID;
function isNumeric(st, errMsg)
{
	var Char;
	CtrlID = st;
	sText = st.value;
	var IsNumeric = true;
	var blnk = "0123456789.-";
	var blnkcnt = 0;
	for (i = 0; i < sText.length; i++)
	{
		Char = sText.charAt(i);
		if (blnk.indexOf(Char) == -1)
		{
			IsNumeric = false;
		}
	}
	if(IsNumeric==false)
	{
		ErrorMsgBox(errMsg);
		st.focus();
	}
	return IsNumeric;
}

function isCorrect(st, errMsg)
{
	var Char;
	CtrlID = st;
	sText = st.value;
	var IsCorrect = true;
	var blnk = ";'";
	var blnkcnt = 0;
	for (i = 0; i < sText.length; i++)
	{
		Char = sText.charAt(i);
		if (blnk.indexOf(Char) != -1)
		{
			IsCorrect = false;
		}
	}
	if(IsCorrect==false)
	{
		ErrorMsgBox(errMsg);
		st.focus();
	}
	return IsCorrect;
}

function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}
function addOptions(selectbox, value, text )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;

	selectbox.options.add(optn);
}

function isFilledSelect(selectbox, spStr, spnid, errMsg,   cmpOpt)
{
	// Possible values for cmpOpt are
	// 0 when values are supposed to be compared but in numbers, variable spStr is mentioned in number
	// 1 when text needs to be compared, variable spStr is mentioned in text
	// 2 when values are supposed to be compared but in text, variable spStr is mentioned in text
//	alert("DropDown "+selectbox.id);
	CtrlID = selectbox;
	//alert(selectbox.id);
	var strVal;
	if(spnid!='' || spnid!= null)
	var spn = document.getElementById(spnid);
	if(cmpOpt == 0)
	{   
		strVal = selectbox.selectedIndex;
		if(strVal==spStr)
		{
			if(spnid!='')
			spn.style.visibility='visible';
			selectbox.focus();
			ErrorMsgBox(errMsg);
			return false;
		}
		else
			return true;
	}
	else if(cmpOpt == 1)
	{
		strVal = selectbox.options[selectbox.selectedIndex].text;
		spStr = spStr.trim();
		if(strVal==spStr)
		{
			
			if(spnid!='')
			spn.style.visibility='visible';
			selectbox.focus();
			ErrorMsgBox(errMsg);
			return false;
		}
		else
		spn.style.visibility='hidden';
			return true;
	}
	else if(cmpOpt == 2)
	{
		strVal = selectbox.options[selectbox.selectedIndex].value;
		spStr = spStr.trim();
		if(strVal==spStr)
		{
			ErrorMsgBox(errMsg)
			selectbox.focus();
			return false;
		}
		else
		
			return true;
	}
}
function isCBoxChecked(checkBox, numChecked, errMsg, countCBox)
{
	// checkBox => CheckBox Element
	// numChecked => Number of checkbox checked is required
	// errMsg => Error Message
	// countCBox => Total number of checkbox with same ID. 
	var numCBox, chkTemp, chkCount;	
	if(countCBox == 1)
	{
		if(checkBox.checked == false)
		{
            if(errMsg!=1)
            {
			    alert(errMsg);
			}
			checkBox.focus();
			return false;
		}
		else
			return true;
	}
	else
	{
		chkTemp = false;
		chkCount = 0;
		numCBox = checkBox.length;
		for(i=0;i<numCBox;i++)
		{
			if(checkBox[i].checked == true)
			{
				chkCount++;
				if(chkCount==numChecked)
				{
					chkTemp = true;
				}
			}
		}
		if(chkTemp==false)
		{
			alert(errMsg);
		}
		return chkTemp;
	}
}
function compareString(strObject1, strObject2, objType, errMsg)
{
	var str1, str2;
	CtrlID = strObject2;
	var isEqual = false;
	if(objType == "Text")
	{
		str1 = strObject1.value;
		str1 = str1.trim();
		str2 = strObject2.value;
		str2 = str2.trim();
		if(str1 == str2)
			isEqual = true;
	}
	else if(objType == "Select")
	{
		str1 = strObject1.options[strObject1.selectedIndex].text;
		str1 = str1.trim();
		str2 = strObject2.options[strObject2.selectedIndex].text;
		str2 = str2.trim();
		if(str1 == str2)
			isEqual = true;
	}
	if(isEqual == false)
	{
		ErrorMsgBox(errMsg);
		strObject1.focus();
	}
	return isEqual;
}
function createStrSubmit(frmName)
{
	var strSubmit = "";
	var currElement, lstElement;
	lstElement = "";
	for(i=0; i<frmName.elements.length; i++)
	{
		currElement = frmName.elements[i];
		switch(currElement.type)
		{
			case 'text':
            case 'select-one':
            case 'hidden':
            case 'password':
            case 'textarea':
            strSubmit += currElement.name + '=' + escape(currElement.value) + '&'
            break;
			case 'checkbox':
				if(currElement.checked == true)
				{
					if(lstElement != currElement.name)
					{
						strSubmit += currElement.name + '=' + escape(currElement.value) + '&'
					}
					else
					{
						if(strSubmit.substring(strSubmit.length - 1, strSubmit.length) == '&')
						strSubmit = strSubmit.substring(0, strSubmit.length - 1)
						strSubmit += ',' + escape(currElement.value)
					}
				lstElement = currElement.name
				}				
			break;
		}
		if(strSubmit.substring(strSubmit.length - 1, strSubmit.length) != '&')
		strSubmit += '&';
	}
	if(strSubmit.substring(strSubmit.length - 1, strSubmit.length) == '&')
	strSubmit = strSubmit.substring(0,strSubmit.length-1);
	return strSubmit;
}

function checkFormAllFields(frmName)
{
	var strSubmit = true;
	var currElmVal;
	var currI = -1;
	for(i=0; i<frmName.elements.length; i++)
	{
		currElement = frmName.elements[i];
		switch(currElement.type)
		{
			case 'text':
            case 'select-one':
            case 'hidden':
            case 'password':
            case 'textarea':
			case 'checkbox':
				currElmVal = currElement.value;
				currElmVal = currElmVal.trim();
				if(escape(currElmVal) == "")
				{
					if(strSubmit == true)
					currI = i;
					strSubmit = false;
				}
            break;
		}
		
	}	
	if(strSubmit == false)
	{
		alert('No field can be left blank.');
		currElement = frmName.elements[currI];
		currElement.focus();
	}
	return strSubmit;
}

function chkNumeric(objName,val,errMsg)
{
    
    var checkOK = "0123456789";
    var checkStr =objName;
    CtrlID = checkStr;
////    alert(checkStr.value.length)
    var allValid = true;
//    var minlenth;
    if(checkStr.value.length!=val && checkStr.value.length<=val)
    
    {
    
        ErrorMsgBox(errMsg);
        checkStr.focus();
        return false;
    }
    for(i = 0; i < checkStr.value.length;  i++)
    {
      ch = checkStr.value.charAt(i);
      if (checkOK.indexOf(ch)==-1)
      {
        allValid=false;           
        break;
      }
   }
   if(allValid==false)
   {
     alert("This is not a valid number");
     checkStr.focus();
     return false;
   }
   return true;
 }
 



function isFilledText(textbox, spStr, spnid, errMsg)
    {
	    var strVal;
	    CtrlID = textbox;
	    if(spnid!='' || spnid!= null)
	    var spn = document.getElementById(spnid);
	    strVal = textbox.value;
	    strVal = strVal.trim();
	    if((strVal=='') || (strVal==spStr))
	    {
    		if(spnid!='')
		    spn.style.visibility='visible';
	        textbox.focus();
	        ErrorMsgBox(errMsg);
		    return false;
	    }
	    else
	        if(spnid!='')
	        spn.style.visibility='hidden';
		    return true;
    }
    
function isEmailAddr(email, errMsg)
{
  var result = false;
  CtrlID = email;
  var theStr = new String(email.value);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  if(result == false)
  {
//	alert(errMsg);
    
	email.focus();
	ErrorMsgBox(errMsg);
  }
  return result;
}
    

function HideErroBox()
         {
              var ErrorBox = document.getElementById("divErrorMsg");
              CtrlID.focus();
              ErrorBox.style.display = "none";
              var tranDiv = document.getElementById("disableDiv");
	          tranDiv.style.display = "none";
         }
function ErrorMsgBox(errMsg)
    {
        var divElem = document.getElementById("divErrorMsg");
	    var ErrorMsg = document.getElementById("lblError");
	        divElem.style.display='block';
		    ErrorMsg.innerHTML=errMsg;
            var divX, divY;
            var scrWidth, scrHeight;
            var scrollX, scrollY;
            divX = divY = 0;
            scrollX = scrollY = 0;
            var brsName;
            var brsVer;
            var brsDetails = navigator.userAgent;
            var cssItem;
            if(brsDetails.toLowerCase().indexOf("msie") >= 0)
            {
                brsName = "msie";
                brsVers = brsDetails.split(";");
                brsShortName = brsVers[1];
                brsShortName = brsShortName.split(" ");
                brsVer = parseInt(brsShortName[2]);
            }
            else if(brsDetails.toLowerCase().indexOf("firefox") >= 0)
            {
                brsName = "firefox";
                brsVers = brsDetails.split(" ");
                brsShortName = brsVers[brsVers.length - 1];
                brsShortName = brsShortName.split("/");
                brsVer = parseInt(brsShortName[1]);
            }
            if(brsName == "firefox")
            {
                scrollX = window.pageXOffset;
                scrollY = window.pageYOffset;
            }
            else if(brsName == "msie" && brsVer>6)
            {
                scrollX = document.documentElement.scrollLeft;
                scrollY = document.documentElement.scrollTop;
            }
            else
            {
                scrollX = document.body.scrollLeft;
                scrollY = document.body.scrollTop;
            }
            scrWidth = screen.availWidth;
            scrHeight =  screen.availHeight;
            
            divElem.style.zIndex = 102;
            divElem.style.display = "block";
            var divW = parseInt(divElem.style.width);
            if(isNaN(divW) == true)
                            divW = parseInt(divElem.offsetWidth);
            if(isNaN(divW) == true)
                            divW = 0;

            var divH = parseInt(divElem.style.height);
            if(isNaN(divH) == true)
                            divH = parseInt(divElem.offsetHeight);
            if(isNaN(divH) == true)
                            divH = 0;

            divX = (parseInt(scrWidth/2) + scrollX) - parseInt(divW/2);
            divY = (parseInt(scrHeight/3) + scrollY) - parseInt(divH/2);
            if(divX < scrollX)
                            divX = scrollX + 10;
            if(divY < scrollY)
                            divY = scrollY + 10;

            divElem.style.left = divX + "px";
            divElem.style.top =  divY + "px";
  

         

//            
            ////////////////  For Disabling Page   //////////////////////////////////////
            var tranDiv;
	        var isFound = false;
	        for(i = 0; i < document.body.getElementsByTagName("IFRAME").length; i++)
	        {
		        if(document.body.getElementsByTagName("IFRAME")[i].id == "disableDiv")
			        isFound = true;
	        }
	        if(isFound == false)
	        {
		        try{
			        tranDiv = document.createElement("<IFRAME id=\"disableDiv\" style=\"background-color:#626262;z-index:101;top:0;left:0;position:absolute;width:100%\">");
			        hDiv = document.createElement("<div id=\"lastItem\"></div>");
		        }
		        catch(e)
		        {
			        tranDiv = document.createElement("IFRAME");
			        tranDiv.id = "disableDiv";
			        tranDiv.style.backgroundColor = "#626262";
			        tranDiv.style.zIndex = 101;
			        tranDiv.style.top = 0;
			        tranDiv.style.left = 0;
			        tranDiv.style.position = "absolute";

			        hDiv = document.createElement("div");
			        hDiv.id = "lastItem";
		        }
	        }
	        else
		        tranDiv = document.getElementById("disableDiv");
        	
	        if(isFound == false)
		        document.body.appendChild(hDiv);

	        var brsName = navigator.appName;
	        var scrWidth = screen.availWidth;
	        var scrHeight = document.getElementById("lastItem").offsetTop;
            if(brsName == "Microsoft Internet Explorer")
		        tranDiv.style.width = (scrWidth - 20) + "px";
	        else
		        tranDiv.style.width = (scrWidth - 16)  + "px";

	        tranDiv.style.opacity = (0); 
            tranDiv.style.MozOpacity = (5 / 100); 
            tranDiv.style.KhtmlOpacity = (50 / 200);
            tranDiv.style.filter = "alpha(opacity=" + 1 + ")";
	        tranDiv.style.display = "block";
        	
	        tranDiv.style.height = (scrHeight + 20) + "px";
        	
	        if(isFound == false)
		        document.body.appendChild(tranDiv);
            tranDiv.style.zIndex = 101;
            
            /////////////////////////////////////////////////////////////////////////////
    }                


