function callMeNow()
{

window.open( "https://myaccount.voipbuster.com/clx/callmenow.php?username=sugath_r", "callmenow","scrollbars=no, menubar=no, toolbar=no, status=no,location=no, resizable=no,  width=410,height=360");
}



function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

function DontType(e)
{
	var key = (navigator.appName == "Netscape") ? e.which : e.keyCode;
	if (key != 13)
	{
		var message="Please use 'Browse...' button to select the file.";
		alert(message);
		return false;
	}
	else
	{
		return false;
	}
}


function ShowErr(e)
{
   var message="Please use 'Browse...' button to select the file.";
   if (navigator.appName=="Microsoft Internet Explorer")
   {
     if((event.button==2)||(event.button==3))
      {
        alert(message);
	return false;
      }  
   }
   else
    {
     if(e.which==3)
	{
        alert(message);
	return false;
	}
    }
}

function handler(e) {
    var key = (navigator.appName == "Netscape") ? e.which : e.keyCode;
    if (key == 13) return false;
}

function addCommas( strValue ) {
/************************************************
DESCRIPTION: Inserts commas into numeric string.

PARAMETERS:
  strValue - source string containing commas.

RETURNS: String modified with comma grouping if
  source was all numeric, otherwise source is
  returned.

REMARKS: Used with integers or numbers with
  2 or less decimal places.
*************************************************/
  var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})');

    //check for match to search criteria
    while(objRegExp.test(strValue)) {
       //replace original string with first group match,
       //a comma, then second group match
       strValue = strValue.replace(objRegExp, '$1,$2');
    }
  return strValue;
}

function removeCurrency( strValue ) {
/************************************************
DESCRIPTION: Removes currency formatting from
  source string.

PARAMETERS:
  strValue - Source string from which currency formatting
     will be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /\(/;
  var strMinus = '';

  //check if negative
  if(objRegExp.test(strValue)){
    strMinus = '-';
  }

  objRegExp = /\)|\(|[,]/g;
  strValue = strValue.replace(objRegExp,'');
  if(strValue.indexOf('$') >= 0){
    strValue = strValue.substring(1, strValue.length);
  }
  return strMinus + strValue;
}

function ltrim ( s )
{
	return s.replace( /^\s*/, "" );
}

function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}


function trim ( s )
{
	return rtrim(ltrim(s));
}

function checkMaxAmt(strFormName,strFieldName,strDisplayName,strMaxAmount)
{
	val = removeCurrency(eval("document."+strFormName+"."+strFieldName+".value"))
	val = outputMoney(val);
	if(!isFloat(val))
	{
		alert("'"+strDisplayName+"' accepts positive value greater than zero.");
		eval("document."+strFormName+"."+strFieldName+".focus()");
		return false;
	}
	else
	{
		if(val>parseFloat(strMaxAmount))
		{
			alert("Maximum '"+strDisplayName+"' can be $"+strMaxAmount);
			eval("document."+strFormName+"."+strFieldName+".focus()");
			return false;
		}
		val = addCommas(val);
		eval("document."+strFormName+"."+strFieldName+".value = val");
	}
}

function checkMaxFloat(strFormName,strFieldName,strDisplayName,strMaxAmount)
{
	val = removeCurrency(eval("document."+strFormName+"."+strFieldName+".value"))
	val = outputMoney(val);
	if(val!="")
	{
		if(!isFloat(val))
		{
			alert("'"+strDisplayName+"' accepts positive value greater than zero.");
			eval("document."+strFormName+"."+strFieldName+".focus()");
			return false;
		}
		else
		{
			if(val>parseFloat(strMaxAmount))
			{
				alert("Maximum '"+strDisplayName+"' can be "+strMaxAmount);
				eval("document."+strFormName+"."+strFieldName+".focus()");
				return false;
			}
			eval("document."+strFormName+"."+strFieldName+".value = val");
		}
	}
}

function checkMaxInt(strFormName,strFieldName,strDisplayName,strMaxAmount)
{
	val = removeCurrency(eval("document."+strFormName+"."+strFieldName+".value"))

	/*if(!isFloat(val))
	{
		alert("'"+strDisplayName+"' accepts positive value greater than zero.");
		eval("document."+strFormName+"."+strFieldName+".focus()");
		return false;
	}
	else
	{*/
	thisNumber = new Number(val);
	if(val != 0)
	{
	if (val != Math.floor(thisNumber))
		{
			alert("'"+strDisplayName+ "' must be a whole number.");
			eval("document."+strFormName+"."+strFieldName+".focus()");
			return false;
		}
	}
	if (parseInt(val) <=0)
		{
			alert(strDisplayName+ " accepts positive value greater than zero.");
			eval("document."+strFormName+"."+strFieldName+".focus()");
			return false;
		}
		if(val>parseInt(strMaxAmount))
		{
			alert("Maximum '"+strDisplayName+"' can be "+strMaxAmount);
			eval("document."+strFormName+"."+strFieldName+".focus()");
			return false;
		}
		eval("document."+strFormName+"."+strFieldName+".value = val");
	//}
}

function validateZip( strCountry,strValue ) 
{
var objRegExp  = "";
switch(strCountry)
{
case "USA":
	objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	if(!objRegExp.test(strValue))
	{
		alert("Please enter atleast five digits of 'Zip' code.");
		return false;
	}
	else
		return true;
	break;
case "INDIA":
	objRegExp  = /(^\d{6}$)/;
	if(!objRegExp.test(strValue))
	{
		alert("Please enter six digits of 'Zip' code.");
		return false;
	}
	else
		return true;
	break;
default: 
	return false;

}
//var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;

//check for valid US Zipcode
//return objRegExp.test(strValue);
}

function isInteger(formname,pfield,pfieldName,pfieldfocus)
{
	thisNumber = new Number(pfield);
	if (pfield != Math.floor(thisNumber))
		{
			alert(pfieldName+ " must be a whole number.");
			eval("document."+formname+"."+pfieldfocus+".focus()");
			return false;
		}
	
	if (pfield <= 0 )
		{
			//alert(pfieldName+ " cannot be zero/negative.Please enter a valid value");
			alert(pfieldName+ " accepts positive value greater than zero.");
			eval("document."+formname+"."+pfieldfocus+".focus()");
			return false;
		}
	return true;
}

function isEmpty(s)//checks if s is empty
{   return ((s == null) || (s.length == 0))
}


function isWhitespace (s)

{   var i;

// whitespace characters
var whitespace = " \t\n\r";
    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}



//Alpha Validator
function isAlphabets(formname,pfield, pfieldName,pfieldfocus)
{
	for (var i = 0; i < pfield.length; i++)
	{
		var ch = pfield.substring(i, i + 1);
		if ( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch) &&  (ch != " ")))
		{
			//alert(pfieldName + " field accepts only alphabetic characters.");
			alert("'"+pfieldName + "' accepts alphabetic characters only.");
			eval("document."+formname+"."+pfieldfocus+".focus()");
			return false;
		}
	}
	return true;
}


function checkValidDate(dateStr) {
    // dateStr must be of format month day year with either slashes
    // or dashes separating the parts. Some minor changes would have
    // to be made to use day month year or another format.
    // This function returns True if the date is valid.
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    // if no slashes or dashes, invalid date
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    // if not a second slash or dash, invalid date
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    // if any non-digits in the month, invalid date
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text month to a number
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    // if any non-digits in the day, invalid date
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text day to a number
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    // February can't be greater than 29 (leap year calculation comes later)
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    // check for months with only 30 days
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
    // if any non-digits in the year, invalid date
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text year to a number
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    // Year must be a 2-digit year or a 4-digit year
    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
    // if 2-digit year, use 50 as a pivot date
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 0) || (numYear > 9999)) { return false; }
    // check for leap year if the month and day is Feb 29
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // if not divisible by 4, then not a leap year so Feb 29 is invalid
        if (div4 != 0) { return false; }
        // at this point, year is divisible by 4. So if year is divisible by
        // 100 and not 400, then it's not a leap year so Feb 29 is invalid
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    // date is valid
    return true;
}

function outputMoney(number) {
   return outputDollars(Math.floor(number-0) + '') + outputCents(number - 0);
}

function outputDollars(number) {
    if (number.length <= 3)
        return (number == '' ? '0' : number);
    else {
        var mod = number.length%3;
        var output = (mod == 0 ? '' : (number.substring(0,mod)));
        for (i=0 ; i < Math.floor(number.length/3) ; i++) {
            if ((mod ==0) && (i ==0))
                output+= number.substring(mod+3*i,mod+3*i+3);
            else
			{
                //output+= ',' + number.substring(mod+3*i,mod+3*i+3);
				output+= '' + number.substring(mod+3*i,mod+3*i+3);
			}
        }
        return (output);
    }
}

function outputCents(amount) {
    amount = Math.round( ( (amount) - Math.floor(amount) ) *100);
    return (amount < 10 ? '.0' + amount : '.' + amount);
}


function isDigit (c)//checks if c is a digit
{   return ((c >= "0") && (c <= "9"))
}

function isFloat (s)

{   var i;
	// whitespace characters
var whitespace = " \t\n\r";

// decimal point character differs by language and culture
var decimalPointDelimiter = "."

    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return false;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}


//AlphaNumeric Validator
function isAlphaNumeric(formname,pfield,pfieldName,pfieldfocus)
{
for (var i = 1; i < pfield.length; i++)
{
  var ch = pfield.substring(i, i + 1);
  if ( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch))
  {
    //alert("\nThe"+pfieldName+ " field  accepts letters,numbers only.\n\nPlease re-enter your "+pfieldName);
	alert("\n"+pfieldName+ " accepts letters and/or numbers only.");
    eval("document."+formname+"."+pfieldfocus+".focus()");
    return false;
  }
 }
return true;
}


function firstchar(val,field,form)
{
	
	val = trim(val);
	var firstchar = val.substring(0,1);
	var remainchar = val.substring(1,val.length);
	if ( ((firstchar > "a" || "z" > firstchar) && (firstchar > "A" || "Z" > firstchar)))
	val = firstchar.toUpperCase()+remainchar;
	eval("document."+form+"."+field+".value=val");
}

function addCurrency( strValue ) {
/************************************************
DESCRIPTION: Formats a number as currency.

PARAMETERS:
  strValue - Source string to be formatted

REMARKS: Assumes number passed is a valid
  numeric value in the rounded to 2 decimal
  places.  If not, returns original value.
*************************************************/
  var objRegExp = /-?[0-9]+\.[0-9]{2}$/;

    if( objRegExp.test(strValue)) {
      objRegExp.compile('^-');
      strValue = addCommas(strValue);
      if (objRegExp.test(strValue)){
        strValue = '(' + strValue.replace(objRegExp,'') + ')';
      }
      return '$' + strValue;
    }
    else
      return strValue;
}
