

function isArray(inputArray){
if (inputArray.length == null){alert("Nije niz"); return false;}
return true;
}

function isPosInteger(inputVal) {
var inputStr = trim(inputVal.toString())
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.charAt(i)
if (oneChar < "0" || oneChar > "9") {
return false
}
}
return true
}

function isEmpty(inputStr) {
inputStr = trim(inputStr);
if (inputStr == null || inputStr == "")
	return true
return false
}

function trim(str){
    return str.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
}

function isInteger(inputVal) {
inputStr = inputVal.toString()
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.charAt(i)
if (i == 0 && oneChar == "-") {
continue
}
if (oneChar < "0" || oneChar > "9") {
return false
}
}
return true
}

function isNumber(inputVal) {
var strNumber = trim(inputVal.toString());
var decimalnih = 0;
var current;
for(var i=0; i<strNumber.length; i++){
current = strNumber.charAt(i);
	if (((current < "0") || (current > "9")) && (current != ".") && (current != "-")){
		return false;
	}
	else{
		if ((current == "-") && (i != 0)){
			return false;
		}
		else{
			if (current == "."){
				decimalnih = decimalnih + 1;
				if (decimalnih > 1){return false}
			}
		}
	}
}
return true
}

function isZIP(inputVal){
var strNumber = trim(inputVal.toString());
if ((strNumber.length != 5) || (!isPosInteger(strNumber)) || (strNumber.charAt(0) == "0")){return false}
return true;
}

function emptyValidation(form, inputArray){
//vraæa true ako ima praznih polja
	var prazno = false;
	for (var i=0; i<inputArray.length; i++){
		var j = inputArray[i];
		if (isEmpty(form.elements[j].value)){
			prazno = true;
		}
	}
	if (prazno){return true}
	return false;
}

function isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function isWebAddress(string){
    if (string.search(/^http:\/\//) != -1)
        return true;
    else
        return false;
}

function jeBroj(inputVal){
var strNumber = trim(inputVal.toString());
var re = /^-?\d+[.]?\d+$/
return(re.test(strNumber));
}

function isValidColor(inputStr){
	inputStr = rgbToHex(inputStr);
	if (inputStr.length != 7)
		return false;
	if (inputStr.charAt(0) != "#"){
		return false;
	}
	try{
		var red = "0x"+inputStr.substring(1,3);
		var green = "0x"+inputStr.substring(3,5);
		var blue = "0x"+inputStr.substring(5,7);
		return true;
	}
	catch (e){
		return false;
	}
}
/** rgbPattern
 * this pattern matches a String that looks like this: 
 * rgb( + int + "," + int + "," +int + ")"
 *
 * rgbPattern is used by rgbToHex, declared outside the function for 
 * performance -- compiled once by the engine. 
 */

var rgbPattern = /\brgb\(\s*([\d]{1,3})\s*\,\s*([\d]{1,3})\s*\,\s*([\d]{1,3})\s*\)/i;
/** rgbToHex returns a string; replaces rgb values (e.g rgb(xxx,x,xx)) 
*   with hex values. All the rest of the string is left intact
*/
function rgbToHex(inp){
    for(var rgb; (rgb = inp.match(rgbPattern)) != null;){
    
        var hex = "#";
        // ignore the zeroth match of rgb.
        // loop begins at 1 to match first paren.
        for(var j = 1; j < rgb.length; j++)
             if( isNaN(parseInt(rgb[j])) );
             else
                if(j+2 < rgb.length && rgb[j+1] == "%")
                    hex += toHex(255 * parseInt(rgb[j])/100);
                else
                    hex += toHex(rgb[j]);

        inp = inp.replace(rgb[0], hex);
    }
    return inp;
}