/* ********************************************************* */
/* Request                                                   */
/* ********************************************************* */
function getRequestObject() {
    var requestObject = null;
    
    // Mozilla
    if (window.XMLHttpRequest) {
        try {
            requestObject = new XMLHttpRequest();
        } catch(e) {
            requestObject = null;
        }
    } else {
    //IE
        try {
            requestObject = new ActiveXObject("Msxml2.Xmlhttp");
        } catch(e) {
            try {
                requestObject = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                requestObject = null;
            }
        }
    }
    if (requestObject == null) {
        alert("Ihr Browser unterstützt leider kein AJAX!");
    }
    return requestObject;
}

/* ********************************************************* */
/* Property                                                  */
/* ********************************************************* */
function choiceBearingProperty(id) {
    var prop = document.getElementById("prop_" + id);
    var req = getRequestObject();
    req.onreadystatechange = function(){
        callbackBearing(req);
    };
    req.open("POST", "choiceBearing.do", true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    if (!prop.disabled) {  
        req.send("bearingProperty="+id);
    }
}

/* ********************************************************* */
/* Series                                                    */
/* ********************************************************* */
function choiceBearingType(id) {
    var type = document.getElementById("type_" + id);
    var req = getRequestObject();
    req.onreadystatechange = function(){
        callbackBearing(req);
    };
    req.open("POST", "choiceBearing.do", true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send("bearingType="+id);
}

/* ********************************************************* */
/* Dimension                                                 */
/* ********************************************************* */
function choiceBearingDimension(field) {
    var dimension = document.getElementById(field);
    var req = getRequestObject();
    req.onreadystatechange =  function(){
        callbackDimension(req);
    };
    req.open("POST", "choiceBearing.do", true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send("bearingDimension="+field+"&value="+dimension.value);
}

function callbackDimension(req) {
    if (req.readyState == 4) {
        if (req.status == 200) {
            setDimension(req.responseText);
        }
    }
}

function setDimension(data) {
    var jsonData = data;
    var JSONObject = eval("(" + jsonData + ")");

    if (JSONObject.length > 0) {
    	if (JSONObject[0] != null) {
    		var bearingCount = JSONObject[0];
    		document.getElementById('bearingCount').value = bearingCount;
    	}
    	if(JSONObject[1] != null) {
    		if(JSONObject[1]) {
    			document.getElementById('listInvalidText').style.visibility = "visible";
    		} else {
    			document.getElementById('listInvalidText').style.visibility = "hidden";
    		}
    	}
    }
    //if (data == 0) {
    //    document.getElementById('search').disabled = true;
    //}
}


/* ********************************************************* */
/* Datenauswereten                                           */
/* ********************************************************* */

function callbackBearing(req) {
    if (req.readyState == 4) {
        if (req.status == 200) {
            setBearing(req.responseText);
        }
    }
}

function setBearing(data) {
    var jsonData = data;
    var JSONObject = eval("(" + jsonData + ")");

    if (JSONObject.length > 0) {
        if (JSONObject[0] != null) {
	        var bearingProperties = JSONObject[0];
	        for (var loopi=0; loopi<bearingProperties.length; loopi++){
	            var bearingPropertyObj = bearingProperties[loopi];
	            var id = bearingPropertyObj.id;
	            var bearingProperty = bearingPropertyObj.bearingProperty; 
                //var disabled  = !bearingProperty.enabled;
                var disabled  = !bearingPropertyObj.enabled;
	            document.getElementById('prop_'+id).disabled = disabled;
	            var checked = bearingPropertyObj.checked;
	            
	            var img = document.getElementById('prop_img_'+id);
	            var proptext = document.getElementById('prop_text_'+id);
                
                if (disabled) {
                   proptext.className = "propertyTextGrey";
	               img.src = "resources/img/properties/grau_"+bearingProperty.image+".gif";
	            } else {
	               //proptext.className = "propertyText";
                   //img.src = "resources/img/properties/"+bearingProperty.image+".gif";
                    if (checked) {
                        proptext.className = "propertyTextBold";
                        img.src = "resources/img/properties/sel_"+bearingProperty.image+".gif";
                    } else {
                        proptext.className = "propertyText";
                        img.src = "resources/img/properties/"+bearingProperty.image+".gif";
                    }
	            }
	        }
        }        
        if (JSONObject[1] != null) {
	        var bearingTypes = JSONObject[1];
	        for (var loopi=0; loopi<bearingTypes.length; loopi++){
	            var bearingTypeObj = bearingTypes[loopi];
	            var id = bearingTypeObj.id;
	            var bearingType = bearingTypeObj.bearingType; 
                //var disabled  = !bearingType.enabled;
                var disabled  = !bearingTypeObj.enabled;
	            document.getElementById('type_'+id).disabled = disabled;
                var checked = bearingTypeObj.checked;
	            var typetext = document.getElementById('type_text_'+id);
	            if (disabled) {
                   typetext.className = "typeTextGrey";
	            } else {
	               if (checked) {
                       typetext.className = "typeTextBold";
	               } else {
	                   typetext.className = "typeText";
                   }
	            }
	        }
	    }
        if (JSONObject[2] != null) {
            var bearingCount = JSONObject[2];
            document.getElementById('bearingCount').value = bearingCount;
        }
    }       
}

/* ********************************************************* */
/* Results Per Page                                          */
/* ********************************************************* */
function changeResultsPerPage(resutsPerPage) {
    var req;
    req = getRequestObject();
    req.open("POST", "changeResultsPerPage.do", true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send("resultsPerPage="+resutsPerPage);

    changeRadioView(resutsPerPage);
}

function changeRadioView(resultsPerPage){
	var radioValues = [10,50,100];
	for (var loopi=0; loopi<radioValues.length; loopi++){
		if(radioValues[loopi] == resultsPerPage){
			document.getElementById('radio'+resultsPerPage).className = "radioSelected";
		} else {
			document.getElementById('radio'+radioValues[loopi]).className = "radioNotSelected";
		}
	}
}


/* ********************************************************* */
/* Errors                                                    */
/* ********************************************************* */
function reportError(text) {
   // alert("Fehler in "+text);
}

/* ********************************************************* */
/* Tools                                                     */
/* ********************************************************* */

/* ********************************************************* */
/* TEST                                                      */
/* ********************************************************* */

