﻿AjaxPro.onLoading = function(b) {
    $("message").innerHTML = "";
    $("error").innerHTML = "";
//	window.status = b ? "Loading..." : "";
//	$("loading").style.display = b ? "inline" : "none";
//	document.getElementsByTagName('body')[0].style.cursor = b ? "wait" : "";
}
AjaxPro.onError = function ( e ) {
    $("error").innerHTML = "Server has encountered an error!\n\n" + e.Message;
}

//-------------------------GENERAL------------------------------

function getQueryString(name) {
    var return_val = false;
    var qs;
    
    if(location.href.indexOf("?") > 1) {
        qs = location.href.substring(location.href.indexOf("?")+1,location.href.length);
    
        if(name != "") {
            if(qs.match(name) == name) {
                if(qs.indexOf("&") > 3 && qs.indexOf("&") > qs.indexOf(name))
                    return_val = qs.substring(qs.indexOf(name)+name.length+1,qs.indexOf("&"));
                else
                    return_val = qs.substring(qs.indexOf(name)+name.length+1,qs.length);
            }
        }
        else
            return_val = qs;
    }
    
    return return_val;
}

function numberFormat(a, b) {
	var c = ',';     //comma
	var d = '.';     //formatSeparator
	
	while(a.indexOf('.') > 0)
	    a = a.replace('.', '');
	a = a.replace(',', '.');
	
	a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
	
	if(a == 0) return "";
	
	e = a + '';
	f = e.split('.');
	if(!f[0]) f[0] = '';
	if(!f[1]) f[1] = '';
	if(f[1].length < b){
		g = f[1];
		for(i = f[1].length + 1; i <= b; i++) {
			g += '0';
		}
		f[1] = g;
	}
	if(d != '' && f[0].length > 3) {
		h = f[0];
		f[0] = '';
		for(j = 3; j < h.length; j += 3) {
			i = h.slice(h.length - j, h.length - j + 3);
			f[0] = d + i + f[0] + '';
		}
		j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
		f[0] = j + f[0];
	}
	c = (b <= 0) ? '': c;
	
	return f[0] + c + f[1];
}

//-------------------------COPYRIGHT------------------------------

var copyright = -60;
var t = null;

function copyrightOpen() {
    if(t != null) clearTimeout(t);
    slideRight("copyright", 0);
}
function copyrightClose() {
    if(t != null) clearTimeout(t);
    slideLeft("copyright", -60);
}

function slideRight(id, max) {
    var obj = document.getElementById(id);
    
    if(copyright < max) {
        copyright++;
        obj.style.marginLeft = copyright + "px";
        t = setTimeout("slideRight('" + id + "'," + max + ")",1);
    }
}
function slideLeft(id, min) {
    var obj = document.getElementById(id);
    
    if(copyright > min) {
        copyright--;
        obj.style.marginLeft = copyright + "px";
        t = setTimeout("slideLeft('" + id + "'," + min + ")",1);
    }
}

//-------------------------POPUP------------------------------

function scrollXOff() {
    if( typeof( window.pageXOffset ) == 'number' ) {
    //Netscape compliant
    return window.pageXOffset;
    } else if( document.body && document.body.scrollLeft ) {
    //DOM compliant
    return document.body.scrollLeft;
    } else if( document.documentElement && document.documentElement.scrollLeft ) {
    //IE6 standards compliant mode
    return document.documentElement.scrollLeft;
    }
    return 0;
}
function scrollYOff() {
    if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    return window.pageYOffset;
    } else if( document.body && document.body.scrollTop ) {
    //DOM compliant
    return document.body.scrollTop;
    } else if( document.documentElement && document.documentElement.scrollTop ) {
    //IE6 standards compliant mode
    return document.documentElement.scrollTop;
    }
    return 0;
}

function winWidth() {
    if( typeof( window.innerWidth ) == 'number' ) {
    //Netscape compliant
    return window.innerWidth;
    } else if( document.documentElement && document.documentElement.clientWidth ) {
    //IE6 standards compliant mode
    return document.documentElement.clientWidth;
    } else if( document.body && document.body.clientWidth ) {
    //DOM compliant
    return document.body.clientWidth;
    }
}
function winHeight() {
    if( typeof( window.innerHeight ) == 'number' ) {
    //Netscape compliant
    return window.innerHeight;
    } else if( document.documentElement && document.documentElement.clientHeight ) {
    //IE6 standards compliant mode
    return document.documentElement.clientHeight;
    } else if( document.body && document.body.clientHeight ) {
    //DOM compliant
    return document.body.clientHeight;
    }
}

function positionPopup(id, event) {
    var obj = $("popup" + id);
    
    x = event.x;
    y = event.y;
    if(x == null)
    {
        x = event.clientX;
        y = event.clientY;
    }
    
    x += 15;
    y = (y + 15 + parseInt(obj.offsetHeight/2)) > winHeight() ? winHeight() + scrollYOff() - obj.offsetHeight : y + 15 - parseInt(obj.offsetHeight/2) + scrollYOff();
    
    obj.style.top = y + "px";
    obj.style.left = x + "px";
}

function popupProduct(id, event) {
    var obj = $("popup" + id);
    
    positionPopup(id, event);
    
    obj.style.visibility = "visible";
    obj.style.display = "block";
}
function closePopup(id) {
    var popup = document.getElementById("popup" + id);
    popup.style.visibility = "hidden";
    popup.style.display = "none";
}

//-------------------------FORM------------------------------

function clearForm(obj) {
    var fields = obj.getElementsByTagName("input");
    for(i = 0; i < fields.length; i++) {
        if(fields[i].type != "button")
            fields[i].value = "";
    }
        
    fields = obj.getElementsByTagName("textarea");
    for(i = 0; i < fields.length; i++)
        fields[i].innerHTML = "";
}

function disableForm(obj) {
    var fields = obj.getElementsByTagName("input");
    for(i = 0; i < fields.length; i++)
        fields[i].disabled = "disabled";
        
    fields = obj.getElementsByTagName("textarea");
    for(i = 0; i < fields.length; i++)
        fields[i].disabled = "disabled";
}

function validateForm(name) {
    return_val = true;
    
    switch(name)
    {
    case "mail":
        if(isEmpty(document.getElementById("inpt_email"), "Obavezan unos!"))
            return_val = false;
        else
            if(!emailValidator(document.getElementById("inpt_email"), "Neispravan oblik email adrese!"))
            return_val = false;
            
        if(isEmpty(document.getElementById("inpt_note"), "Obavezan unos!"))
            return_val = false;
        break;
    }
        
    return return_val;
}

function secureForbiddenChar(elem) {
    elem.value = elem.value.replace('"', "");
    elem.value = elem.value.replace("#", "");
    elem.value = elem.value.replace("$", "");
    elem.value = elem.value.replace("%", "");
    elem.value = elem.value.replace("&", "");
    elem.value = elem.value.replace("'", "");
    elem.value = elem.value.replace("*", "");
    elem.value = elem.value.replace("+", "");
    elem.value = elem.value.replace(",", "");
    elem.value = elem.value.replace("/", "");
    elem.value = elem.value.replace(";", "");
    elem.value = elem.value.replace("<", "");
    elem.value = elem.value.replace(">", "");
    elem.value = elem.value.replace("=", "");
    elem.value = elem.value.replace("?", "");
    elem.value = elem.value.replace("[", "");
    elem.value = elem.value.replace("]", "");
    elem.value = elem.value.replace("^", "");
    elem.value = elem.value.replace("{", "");
    elem.value = elem.value.replace("}", "");
    elem.value = elem.value.replace("|", "");
}

function removeForbiddenChar(elem) {
    elem.value = elem.value.replace("!", "");
    elem.value = elem.value.replace('"', "");
    elem.value = elem.value.replace("#", "");
    elem.value = elem.value.replace("$", "");
    elem.value = elem.value.replace("%", "");
    elem.value = elem.value.replace("&", "");
    elem.value = elem.value.replace("'", "");
    elem.value = elem.value.replace("*", "");
    elem.value = elem.value.replace("+", "");
    elem.value = elem.value.replace(",", "");
    elem.value = elem.value.replace("/", "");
    elem.value = elem.value.replace(";", "");
    elem.value = elem.value.replace("<", "");
    elem.value = elem.value.replace(">", "");
    elem.value = elem.value.replace("=", "");
    elem.value = elem.value.replace("?", "");
    elem.value = elem.value.replace("[", "");
    elem.value = elem.value.replace("]", "");
    elem.value = elem.value.replace("^", "");
    elem.value = elem.value.replace("{", "");
    elem.value = elem.value.replace("}", "");
    elem.value = elem.value.replace("|", "");
}

function isEmpty(elem, msg){
	if(elem.value.length == 0){
		elem.focus(); // set the focus to this input
		if(msg != "") {
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		    elem.parentNode.getElementsByTagName('span')[0].style.display = "block";
		}
		return true;
	}else {
		elem.parentNode.getElementsByTagName('span')[0].innerHTML = "";
		elem.parentNode.getElementsByTagName('span')[0].style.display = "none";
    }
		
	return false;
}

function isEmptyText(elem, msg){
	if(elem.innerHTML == ""){
		elem.focus(); // set the focus to this input
		if(msg != "") {
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		    elem.parentNode.getElementsByTagName('span')[0].style.display = "block";
		}
		return true;
	}else {
		elem.parentNode.getElementsByTagName('span')[0].innerHTML = "";
		elem.parentNode.getElementsByTagName('span')[0].style.display = "none";
    }
		
	return false;
}

function isNumeric(elem, msg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else {
		elem.focus();
		if(msg != "")
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		return false;
	}
}

function isAlphabet(elem, msg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else {
		elem.focus();
		if(msg != "")
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		return false;
	}
}

function isAlphanumeric(elem, msg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else {
		elem.focus();
		if(msg != "")
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else {
		elem.focus();
		if(msg != "")
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = "Unos mora sadržavati između " + min + " i " + max + " znakova";
		return false;
	}
}

function madeSelection(elem, def, msg){
	if(elem.value == def){
		elem.focus();
		if(msg != "")
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		return false;
	}else {
		return true;
	}
}

function emailValidator(elem, msg){
	if(elem.value != "") {
	    var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	    if(elem.value.match(emailExp)){
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = "";
		    elem.parentNode.getElementsByTagName('span')[0].style.display = "none";
		    return true;
	    }
	    else {
		    elem.focus();
		    elem.parentNode.getElementsByTagName('span')[0].innerHTML = msg;
		    elem.parentNode.getElementsByTagName('span')[0].style.display = "block";
		    return false;
	    }
	}
}