var obj_favorite = {
	obj_XHR : new gen_XMLHTTPRequest(),
	
	fnc_request: function(requestType, ID_entity, elem, roomType, removeElem){
		//var params = 	"ID_entity="+ID_entity;
		
		var tmpUri = "http://www.jorvik.sk/e-shop/favorite/";
		
		if(roomType){
			tmpUri += roomType+"/";
		}
		tmpUri+=requestType+"/"+ID_entity;
		
		obj_favorite.obj_XHR.open(
			"get",
			//"http://www.jorvik.sk/e-shop/favorite/"+requestType+"?"+params,
			tmpUri,
			true
		);
		
		obj_favorite.obj_XHR.onreadystatechange=function() {
			if (obj_favorite.obj_XHR.readyState==4) {				
				var str = obj_favorite.obj_XHR.responseText;
				var regexp = /^[\s\S]*?<body>([\s\S]*?)<\/body>[\s\S]*?$/;
				var newBox=str.replace( regexp,"$1");

				if(newBox.match(/removed/)){
					if(roomType){
						elem.className="favorite-"+roomType;
					}else{
						elem.className="favorite";
					}
					elem.blur();
					
					if(removeElem){
						removeElem.parentNode.removeChild(removeElem);
					}
					//alert('removed');
				}else if(newBox.match(/added/)){
					if(roomType){
						elem.className="favorite-"+roomType+" favorite-added";
					}else{
						elem.className="favorite favorite-added";
					}
					elem.blur();
					//alert('added');
				}
				//document.getElementById("header-basket").innerHTML=newBox;
			}
		}
		obj_favorite.obj_XHR.send(null);
		
		return true;
	},
	
	
	
	fnc_add: function(ID_entity, elem){
		if(!ID_entity){
		}
		obj_favorite.fnc_request('add',ID_entity, elem);
		
		return false;
	},
	
	fnc_remove: function(ID_entity, elem, removeElem, roomType){
		if(!ID_entity){
			return false;
		}
		if(roomType!=''){
			obj_favorite.fnc_request('remove',ID_entity, elem, roomType, removeElem);
		}else{
			obj_favorite.fnc_request('remove',ID_entity, elem, null, removeElem);
		}
		
		return false;
	},



	fnc_addRoom: function(roomType, ID_entity, elem){
		if(!ID_entity){
			return false;
		}
		if(elem.className.match('favorite-added')){
			obj_favorite.fnc_request('remove',ID_entity, elem, roomType);
		}else{
			obj_favorite.fnc_request('add',ID_entity, elem, roomType);
		}
		
		return false;
	},
	
	fnc_removeRoom: function(roomType, ID_entity, elem){
		if(!ID_entity){
			return false;
		}
		obj_favorite.fnc_request('remove',ID_entity, elem, roomType);
		
		return false;
	}
}

