/*
* Square Javascript utilities
*
* Copyright (c) 2009 Square-TM
*/

//String.Format as it is in C# || String
function format(str) {
	for(i = 1; i < arguments.length; i++) {
		str = str.replace('{' + (i - 1) + '}', arguments[i]);
	}
	return str;
}

//RoundOff decimal numbers || String
function roundOff(value, precision) {
    value = "" + value;
    precision = parseInt(precision);

    var whole = "" + Math.round(value * Math.pow(10, precision));

    var decPoint = whole.length - precision;

    if (decPoint != 0) {
        result = whole.substring(0, decPoint);
        result += ".";
        result += whole.substring(decPoint, whole.length);
    }
    else {
        result = whole;
    }
    if (result.length > 6) {
        finalresult = result.substring(0, result.length - 6);
        finalresult += " " + result.substring(result.length - 6, result.length);

        result = finalresult;
    }
    return result;
}

//Get querystring variable || String
function queryString(p) {
    var re = RegExp('[&?]' + p + '=([^&]*)');
    var matches;
    if (matches = re.exec(document.location)) {
        try {
            return decodeURI(matches[1]);
        }
        catch (e) { }
    }
    return null;
}

//Validate an email address || Bool
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) {
        return false
    }

    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        return false
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        return false
    }

    if (str.indexOf(at, (lat + 1)) != -1) {
        return false
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
        return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        return false
    }

    if (str.indexOf(" ") != -1) {
        return false
    }
    return true
}