//validate input only for email
function check_valid_email(obj,msg) {
    obj.val(jQuery.trim(obj.val()));
    if ( !( /(^[a-zA-Z]([0-9A-Za-z_\.]*)@([A-Za-z_\.]*)([.][A-Za-z]{3})$)|(^[a-z]([0-9A-Za-z_\.]*)@([A-Za-z_\.]*)(\.[A-Za-z]{2,3})(\.[A-Za-z]{2})*$)/i.test( obj.val() ) ) ) {
       // obj.addClass("ust-input-text-err");
        display_error_msg(obj,msg);
    return false;
    } else {
        //obj.removeClass("ust-input-text-err");
        display_error_msg(obj,'');
        return true;
    }
}

//function check input is not empty
function check_input_required(obj,msg) {
	//alert(o.get(0).tagName)
	obj.val(jQuery.trim(obj.val()));
	if (obj.val()=='') {
		if (obj.get(0).tagName == 'TEXTAREA') {
		  obj.removeClass('txtBoxBorderMediam');
		  obj.addClass('ust-textarea-err');
		}
		obj.addClass("ust-input-text-err");
		display_error_msg(obj,msg);
		return false;
    } else {
		obj.removeClass("ust-input-text-err");
		if (obj.get(0).tagName == 'TEXTAREA') {
		  obj.addClass('txtBoxBorderMediam');
		  obj.removeClass('ust-textarea-err');
		}
		display_error_msg(obj,'');
		return true;
	}
}

//function to display error message for form validation
function display_error_msg(obj,text) {
    var err_id = obj.attr('id');
    $("#"+err_id+"_err").html(text);
}

//function used to tell user about error occured and move where error found
function goto_error_found(obj) {
	destination = obj.offset().top-25;
	$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 1100);
	obj.focus();
	return false;
}

//validate input to avoid special characters
function check_input_no_special_char(obj,msg) {
	obj.val(jQuery.trim(obj.val()));
	
	if ( !( /^[0-9a-zA-Z\ \'\_\-\.]+$/.test( obj.val() ) ) ) {
		if (obj.get(0).tagName == 'TEXTAREA') {
		  obj.removeClass('txtBoxBorderMediam');
		  obj.addClass('ust-textarea-err');
		}
		obj.addClass("ust-input-text-err");
		display_error_msg(obj,msg);
		return false;
	} else {
	   obj.removeClass("ust-input-text-err");
	   if (obj.get(0).tagName == 'TEXTAREA') {
		  obj.addClass('txtBoxBorderMediam');
		  obj.removeClass('ust-textarea-err');
	   }
	   display_error_msg(obj,'');
	   return true;
	}
}

//validate input to avoid special characters
function check_input_number(obj) {
    val = (jQuery.trim(obj.val()));
    if ( !(/^[0-9]+$/.test( val ) ) ) {    
        return false;
    } else {
       return true;
    }
}

function showBudgetEditor(tab, id)
{
    $('#'+tab+'_'+id+'_editor').show();
    $('#'+tab+'_'+id+'_disp').hide();
    $('#'+tab+'_'+id+'_editbtn').hide();
}

function hideBudgetEditor(tab, id)
{
    $('#'+tab+'_'+id+'_editor').hide();
    $('#'+tab+'_'+id+'_disp').show();
    $('#'+tab+'_'+id+'_editbtn').show();
}

function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
    IN:
        NUM - the number to format
        decimalNum - the number of decimal places to format the number to
        bolLeadingZero - true / false - display a leading zero for
                                        numbers between -1 and 1
        bolParens - true / false - use parenthesis around negative numbers
        bolCommas - put commas as number separators.
 
    RETVAL:
        The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

    var tmpNum = num;
    var iSign = num < 0 ? -1 : 1;       // Get sign of number
    
    // Adjust number so only the specified number of numbers after
    // the decimal point are shown.
    tmpNum *= Math.pow(10,decimalNum);
    tmpNum = Math.round(Math.abs(tmpNum))
    tmpNum /= Math.pow(10,decimalNum);
    tmpNum *= iSign;                    // Readjust for sign
    
    
    // Create a string object to do our formatting on
    var tmpNumStr = new String(tmpNum);
    var chkDecimal = tmpNumStr.indexOf(".");
        
    if (chkDecimal < 0) 
        tmpNumStr = tmpNumStr+'.00';
    
    // See if we need to strip out the leading zero or not.
    if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
        if (num > 0)
            tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
        else
            tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
        
    // See if we need to put in the commas
    if (bolCommas && (num >= 1000 || num <= -1000)) {
        var iStart = tmpNumStr.indexOf(".");
        if (iStart < 0)
            iStart = tmpNumStr.length;

        iStart -= 3;
        while (iStart >= 1) {
            tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
            iStart -= 3;
        }       
    }

    // See if we need to use parenthesis
    if (bolParens && num < 0)
        tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

    return tmpNumStr;       // Return our formatted string!
}

