// JavaScript Document
/* This Function for  to check  textbox value is Email ID  or not */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ./";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g,"");
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		//elem.focus();
		return false;
	}
}
/* This Function for  to check  textbox value is empty or not */
function notEmpty(elem, helperMsg){
	 
	if(elem.value.length == 0){
		alert(helperMsg);
		//elem.focus();
		return false;
	}
return true;
}
/* This Function for  to count  textbox value length */
function countLength(elem, helperMsg,len){
	if(elem.value.length <=len ){
		alert(helperMsg);
		//elem.focus();
		return false;
	}
	return true;
}
function checkSpecialChar(elem, helperMsg,iChars){

	var str=elem.value;
	for(var i = 0; i < str.length; i++)
	{
		if (iChars.indexOf(str.charAt(i)) != -1) 
		{
			alert(helperMsg);
			elem.focus();
			return false;
		}
	}	
	return true;
}
function checkWhiteSpace(elem, helperMsg){
	
	var str=elem.value;
	var iChars=" ";
	var  j=0;
	if(str.length >0)
	{
		for(var i = 0; i < str.length; i++)
		{
			if (iChars.indexOf(str.charAt(i)) != -1) 
			{
				j++;
			}
		}	
		if(str.length==j)
		{
			alert(helperMsg);
			elem.focus();
			return false;
		}
	}
  return true;
}

  //  check for valid numeric strings	
function IsNumeric(elem1,helperMsg)
{
	var strString=elem1.value
	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)
	  {
		  alert(helperMsg);
		  elem1.focus();
		  return false;
	  }
	}
   return true;
   }

// If the element's string matches the regular expression it is all numbers
function is_Numeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}


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 madeSelection(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		//elem.focus();
		return false;
	}else{
		return true;
	}
}
//If the element's string matches the regular expression it is numbers and letters
function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z ]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		//elem.focus();
		return false;
	}
}
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++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function reCheckInternationalPhone(strPhone){
	var bracket=3
	strPhone=trim(strPhone)
	if(strPhone.indexOf("+")>1) return false
	if(strPhone.indexOf("-")!=-1)bracket=bracket+1
	if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
	var brchr=strPhone.indexOf("(")
	if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
	if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function checkInternationalPhone(strPhone, msg){
	var Phone=strPhone
	
	if ((Phone.value==null)||(Phone.value=="")){
		Phone.focus()
		return false
	}
	if (reCheckInternationalPhone(Phone.value)==false){
		alert(msg)
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }

function ValidateNo(NumStr, String)
{
		
    for(var Idx=0; Idx<NumStr.length; Idx++)
    {
        var Char = NumStr.charAt(Idx);
        var Match = false;

        for(var Idx1=0; Idx1<String.length; Idx1++)
        {
            if(Char == String.charAt (Idx1))
                Match = true;
        }

        if (!Match)
            return false;
    }
		
    return true;
} 

function ValidateFaxno(faxNo, msg)
{
    if(!ValidateNo(faxNo.value,"1234567890+- .()"))
    {
		alert(msg);
        faxNo.focus();
        return false;
    }
    return true;
} 

function checkAll(str,iChars)	
{
	var cnt=0;
	for(var i = 0; i < str.length; i++)
	{
		if (iChars.indexOf(str.charAt(i)) != -1) 
		{
			cnt++;
		}
	}
	return cnt;
}

 function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}


 
 function removeChildsFromTable(tableID,fromNumRow) 
 {
	try
	{  
		var table = tableID;  
		var tableRowCount = table.rows.length;  
	
		for(var i=fromNumRow; i<tableRowCount; i++)
		{  
			var row = table.rows[i];  
			table.deleteRow(i);  
			tableRowCount--;  
			i--;  
		}  
	}catch(e)
	{  
		alert(e);  
	}  
 }
 
function strCompare(str1, str2)
{
	if(str1.value == str2.value)
	{
		return true;
	}
	else
	{
		return false;
	}
}


/*-------------------------This Function For Compare Date--------------------------------------*/
 function compareDates (value1, value2) 
		{
		   var date1, date2;
		   var month1, month2;
		   var year1, year2;
		
		   month1 = value1.substring (0, value1.indexOf ("-"));
		   date1 = value1.substring (value1.indexOf ("-")+1, value1.lastIndexOf ("-"));
		   year1 = value1.substring (value1.lastIndexOf ("-")+1, value1.length);
		
		   month2 = value2.substring (0, value2.indexOf ("-"));
		   date2 = value2.substring (value2.indexOf ("-")+1, value2.lastIndexOf ("-"));
		   year2 = value2.substring (value2.lastIndexOf ("-")+1, value2.length);
		
		   if (year1 > year2) return 1;
		   else if (year1 < year2) return -1;
		   else if (month1 > month2) return 1;
		   else if (month1 < month2) return -1;
		   else if (date1 > date2) return 1;
		   else if (date1 < date2) return -1;
		   else return 0;
		}


String.prototype.wordWrap = function(m, b, c){
	var i, j, l, s, r;
	if(m < 1)
		return this;
	for(i = -1, l = (r = this.split("\n")).length; ++i < l; r[i] += s)
		for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : ""))
			j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length
			|| c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
	return r.join("\n");
};
/*-------------------------End of Common functions for job--------------------------------------*/

/*-------------------------Display Show text limit function in list--------------------------*/
function displayLimit(displayText)
{
	var showConvertedText;
	if(displayText.length > 50)
	{
		showConvertedText = displayText.substr(0,50);
		showConvertedText += "..";
		return showConvertedText;
	}
	else
	{
		return displayText;
	}
}


function getJobStatus(status)
	{
		if(status == "O")
			return "Pending";
		
		if(status == "I")
			return	"In Progress";
		
		if(status == "C")
			return  "Finished" ;
		
		if(status == "V")
			return	 "Void"	;
	}
	
/*-------------------------Common functions for Job--------------------------------------*/


function splitData(jobDate)
{
	//jobD = jobDate.split("-");
	//return jobD[1]+"/"+jobD[2]+"/"+jobD[0]
	return jobDate;
}

function getProcessMode(priorityLevel)
{
	
	if(priorityLevel == "3")
		return "Rush Job";
		
	if(priorityLevel == "0")
		return "Normal";

	if(priorityLevel == "-2")
		return "Slow";	
}	


function ResultTypeIDDisplayText(respDataResultTypeID)
	{
		var resultTypeID = respDataResultTypeID.split(",")
		document.getElementById("txtResultTypeID").value ="";
		var resultTypeIDText = "";
		for(indexRT=0;indexRT< resultTypeID.length; indexRT++)
		{
			if(resultTypeID[indexRT] == "R")
			{
				if(resultTypeIDText == "")
				{
					resultTypeIDText = "Results";
				}else
				{
					resultTypeIDText += " | "+"Results"
				}	
			}	
			
			if(resultTypeID[indexRT] == "S")
			{
				if(resultTypeIDText == "")
				{
					resultTypeIDText = "Sample";
				}else
				{
					resultTypeIDText += " | "+"Sample";
				}	
			}
			
			if(resultTypeID[indexRT] == "F")
			{
				if(resultTypeIDText == "")
				{
					resultTypeIDText = "File";
				}else
				{
					resultTypeIDText += " | "+"File";
				}	
			}
		}
		return resultTypeIDText;
	}	
/*-------------------------End of show text-limit function in list--------------------------*/

//This function is used to avoid ESC key on body
	function keyPressHandler()
	{
		try
		{
		var kC  = (window.event) ? event.keyCode : e.keyCode;
		var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE // MSIE : Firefox
		if(kC==Esc){return false;}
		}
		catch(e)
		{
			return true;
		}
	}



/*-------------------------This Function For Compare Date--------------------------------------*/
 function compareDates (value1, value2) 
		{
		   var date1, date2;
		   var month1, month2;
		   var year1, year2;
		
		   month1 = value1.substring (0, value1.indexOf ("-"));
		   date1 = value1.substring (value1.indexOf ("-")+1, value1.lastIndexOf ("-"));
		   year1 = value1.substring (value1.lastIndexOf ("-")+1, value1.length);
		
		   month2 = value2.substring (0, value2.indexOf ("-"));
		   date2 = value2.substring (value2.indexOf ("-")+1, value2.lastIndexOf ("-"));
		   year2 = value2.substring (value2.lastIndexOf ("-")+1, value2.length);
		
		   if (year1 > year2) return 1;
		   else if (year1 < year2) return -1;
		   else if (month1 > month2) return 1;
		   else if (month1 < month2) return -1;
		   else if (date1 > date2) return 1;
		   else if (date1 < date2) return -1;
		   else return 0;
		} 
		
		
	function getStatusImageName(jobStatus)
	{
		var statusImageName;
		
		if(jobStatus == "O")
		{
			statusImageName = "open.gif"
		}
		if(jobStatus == "I")
		{
			statusImageName = "process.gif"
		}
		if(jobStatus == "C")
		{
			statusImageName = "close.gif"
		}
		return statusImageName;
	}	
